claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 12/2004

Know-how für die Kommandozeile

Shell-Tipps

von Andrea Müller


Trotz allerlei grafischer Programme lohnt sich unter Linux hin und wieder ein Ausflug auf die Kommandozeile. Mit unseren Tricks zu tar, less, grep und Konsorten fällt der Einstieg leicht.

Tipp: Inhalt von Tar-Archiven mit less anzeigen

Um den Inhalt eines mit gzip komprimierten Tar-Archivs anzuzeigen [1] -- Sie erkennen diese Dateien an der Endung .tar.gz -- verwendet man normalerweise den Befehl

tar -tvzf archiv.tar.gz

Enthält das Archiv sehr viele Dateien, muss man entweder in der KDE-Konsole hoch scrollen oder die Ausgabe des Befehls mit dem Pipe-Zeichen (|) an einen Betrachter wie less schicken, um alle Dateien im Blick zu haben. Das geht unter den von EasyLinux unterstützten Distributionen auch einfacher: Öffnen Sie komprimierte Tar-Archive direkt mit dem Betrachter less. Das ebenfalls im Paket less liegende Skript lesspipe.sh überprüft die Dateiendung und ruft, je nachdem, welche es ist, einen passenden Befehl auf. Übergeben Sie less mit

less archiv.tar.gz

ein komprimiertes Archiv, schaut es mit den Programmen gzip und tar erst nach, welche Dateien dort eingepackt sind, und zeigt die ausführliche Liste an (Abbildung 1).

Abb. 1: Mit dem Kommando "less archiv.tar.gz" werfen Sie schnell einen Blick in komprimierte Archive.

Die Ausgabe besteht aus fünf Spalten, die von links nach rechts die Berechtigungen, Eigentümer und Gruppe, Dateigröße, Erstellungsdatum, Erstellungszeit und den Namen des Datei anzeigen. Mit [Bild auf] und [Bild ab] blättern Sie durch die Liste, ein Druck auf [q] beendet less, und Sie können weitere Befehle eingeben.

Tipp: Dateien eines Archivs mit less betrachten

Mandrake Linux gibt sich nicht damit zufrieden, nur den Inhalt von Archiven aufzulisten. Sie können sogar eine darin enthaltene Datei direkt in less öffnen, ohne das ganze Archiv zu entpacken. Natürlich entpackt auch less die Datei zuerst, allerdings nutzt das Programm dafür das temporäre Verzeichnis /tmp und räumt dort wieder auf, sobald Sie das Programm mit Druck auf [q] beenden. So gehen Sie vor:

Als erstes brauchen Sie den Namen einer im Archiv gespeicherten Datei. Entweder wissen Sie, was alles in der .tar.gz-Datei liegt oder Sie schauen schnell mit less archiv.tar.gz nach. Die im Archiv enthaltenen Ordner und Dateien stehen in der letzten Spalte der Ausgabe. Haben Sie den Dateinamen, bei unserem Beispielarchiv aus Abbildung 1 z. B. test.txt, zeigen Sie den Inhalt mit

less archiv.tar:archiv/test.txt

an. test.txt öffnet sich ebenfalls im Betrachter less, den Sie wie gewohnt mit der Taste [q] beenden.

Tipp: Fedora Core 2: Befehl nicht gefunden

Wollen Sie als Administrator mit dem Befehl iwconfig [2] eine WLAN-Karte konfigurieren, gibt es unter Fedora Core 2 etwas zu beachten: Haben Sie mit su und der Eingabe des Administratorpasswortes die Root-Identität angenommen, gibt die Eingabe von iwconfig nur bash: iwconfig: command not found aus.

Den Befehl gibt es trotzdem auf dem System, allerdings liegt er im Ordner /sbin, der nicht im Suchpfad [3] normaler Benutzer liegt. Benutzen Sie das Kommando su, startet es nur eine so genannte interaktive Shell für Root. Das bedeutet, dass diese Shell nicht alle Startdateien einliest, sondern nur /etc/bashrc und /root/.bashrc. In diesen Dateien setzt Fedora Core 2 aber nicht den Suchpfad für Programme, so dass Root die Einstellungen des Benutzers "erbt". Um Befehle im Ordner /sbin aufzurufen, starten Sie sie einfach mit dem vollen Pfad. Das richtige Kommando für unser Beispiel lautet

/sbin/iwconfig

Möchten Sie lieber mit der Administratorumgebung arbeiten, bei der der Ordner /sbin im Pfad liegt, nutzen Sie su - statt su. Das Minuszeichen (-) bewirkt, dass su eine Login-Shell startet, die zusätzlich die Startdateien /etc/profile und /root/.bash_profile liest. Dort setzt Fedora Core 2 den Suchpfad für Programme. Werden Sie mit su - zum Administrator, müssen Sie Anwendungen aus dem Ordner /sbin nicht mit dem vollen Pfad aufrufen, sondern es reicht aus, den Befehlsnamen einzugeben.

Tipp: Manpages: Nach Themen sortiert

Die klassische Dokumentation unter Linux sind so genannte Manpages (Handbuchseiten). Sie zeigen sie mit man programmname an. Mit [Bild hoch] und [Bild runter] blättern Sie im Text, ein Druck auf [q] schließt das Dokument.

Die Handbuchseiten liegen nicht alle in einem Verzeichnis, sondern in Ordnern unterhalb von /usr/share/man. Dort gibt es die Verzeichnisse man1, man2 usw. Die Zahl symbolisiert dabei den thematischen Abschnitt, in den die Handbuchseite gehört. Interessant für normale Anwender sind die Abschnitte 1, 5 und 8. Dort liegen Handbuchseiten zu Benutzerprogrammen, Konfigurationsdateien und den Befehlen zur Systemadministration.

Besonders gut sehen Sie die einzelnen Kategorien im KDE-Hilfezentrum. Starten Sie es mit khelpcenter und markieren Sie in der Baumansicht Unix-Handbuchseiten. Das Programm zeigt daraufhin alle Abschnitte mit einer kurzen Erklärung an (Abbildung 2).

Abb. 2: Das Programm "khelpcenter" zeigt die thematischen Abschnitte, in die Handbuchseiten einsortiert werden.

Tipp: Verweise in Manpages

Neben Aufrufoptionen und Erklärungen zum Programm finden Sie in vielen Handbuchseiten am Ende den Abschnitt SEE ALSO (Abbildung 3), der auf weitere Dokumentation verweist. Das kann eine Quelle im Internet sein, am häufigsten tauchen dort aber Einträge der Form programmname(x) auf. Anstelle des x steht dort eine Zahl von 1 bis 8. Die convert-Manpage aus Abbildung 3 enthält unter anderem den Verweis display(1). Angaben in dieser Form beziehen sich immer auf andere Handbuchseiten. Vorne steht der Name (hier display) und in Klammern dahinter der Abschnitt (1), in dem die Seite liegt. Normalerweise reicht es aus, die Handbuchseite mit dem Kommando man display aufzurufen. Den Abschnitt müssen Sie nur dann explizit angeben, wenn es mehrere Manpages mit demselben Namen gibt. Der Aufruf sähe dann so aus: man 1 display. Ohne diese Angabe beginnt der man-Befehl seine Suche in Abschnitt 1 und zeigt die erste Manpage an, die er findet. Existieren in den Abschnitten mehrere Handbuchseiten mit demselben Namen, erwischen Sie so eventuell die falsche.

Abb. 3: Im Abschnitt "SEE ALSO" einer Manpage finden Sie Verweise auf zusätzliche Dokumentation.

Tipp: Fast immer eingebaut: Versionsinformationen

Nahezu jedes Programm unter Linux gibt auf Wunsch Versionsinformationen auf. Die genaue Version einer Anwendung ist dann wichtig, wenn etwas nicht richtig funktioniert und Sie Hilfe beim Support oder in einer Newsgroup suchen. Geben Sie bei der Problembeschreibung die Versionsnummern der betroffenen Programme an, weiß Ihr Helfer vielleicht schon, ob der Bug bekannt ist und ob es ein Update für die fehlerhafte Applikation gibt.

Bei grafischen Anwendungen gibt es oft den Menüeintrag Hilfe / Über, der die Versionsnummer verrät. Textbasierte Programme, wie etwa find zum Suchen von Dateien oder der Datei-Manager Midnight Commander, kennen oft den Aufrufparameter --version. So verrät

mc --version

unter Mandrake Linux 9.2, dass Version 4.6.0 installiert ist. Im Gegensatz zu anderen Applikationen, die oft nur die Versionsnummer ausgeben, hält der Midnight Commander noch weitere Informationen bereit, etwa dass der Distributor eine Version mit Mausunterstützung ausgeliefert hat (Abbildung 4).

Abb. 4: Neben der Versionsnummer verrät "mc --version", welche optionalen Features das Programm beherrscht.

Tipp: grep mal umgekehrt

Im Normalfall verwenden Sie einen Befehl wie grep suchbegriff dateiname.txt, um alle Zeilen einer Datei auszugeben, die das Wort suchbegriff enthalten [4]. Möchten Sie hingegen nur die Zeilen ausgeben, die ein bestimmtes Wort nicht enthalten, geht auch das mit grep. Dazu benutzen Sie den Aufrufparameter -v gefolgt von dem Wort, das nicht vorkommen soll. Der vollständige Befehl könnte so aussehen:

grep -v unerwünschtes_wort textd\
atei.txt

Interessiert Sie der Inhalt der einzelnen Zeilen gar nicht, sondern wollen Sie nur wissen, in welchen Dateien eines Ordners ein bestimmtes Wort nicht vorkommt, eignet sich der Parameter -L noch besser. Er unterdrückt die normale Ausgabe von grep und zeigt nur die Namen der Dateien an, in denen das gesuchte Wort nicht vorkommt. So listet grep -L unwichtig *.txt alle Textdateien im aktuellen Verzeichnis auf, in denen das Wort unwichtig nicht vorkommt. (amü)

Infos
[1] Heike Jurzik: "Komprimierkünstler", EasyLinux 07/2004, S. 84 ff., http://www.easylinux.de/Artikel/ausgabe/2004/07/084-guru-tar
[2] Andrea Müller, Fred Andresen und Mirko Dölle, "Kabellos glücklich?", EasyLinux 07/2004, S. 72 ff.
[3] Elisabeth Bauer: "Schleichwege". EasyLinux 07/2004, S. 82 f.
[4] Elisabeth Bauer: "Text fischen", EasyLinux 10/2004, S.74 f., http://www.easylinux.de/Artikel/ausgabe/2003/10/074-grep/index.html

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2012 Linux New Media AG | Last modified: 2007-01-25 17:30

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]