![]() |
|
||||||||||||||||||||
|
|||||||||||||||||||||
|
|||||||||||||||||||||
Know-how für die Kommandozeile
von Andrea Müller
Der Datei-Manager Midnight Commander, den Sie mit dem Befehl mc starten, hat nicht zuletzt deshalb so viele Freunde, weil viele Benutzer sich an die Tastenkürzel zum Verschieben, Löschen und Kopieren noch vom Norton Commander her erinnern. Auch wer weder den Midnight Commander noch das Vorbild kennt, findet sich schnell zurecht, denn das Programm zeigt am unteren Fensterrand die wichtigsten Tastaturbefehle an. Allerdings verrät der Datei-Manager dort nicht, wie man mehrere Dateien und Ordner markiert. Das ereichen Sie mit der Einfügetaste: Die Anwendung färbt die so markierten Dateien und Verzeichnisse gelb und wendet eine danach aufgerufene Aktion, wie etwa kopieren, auf alle an (Abbildung 1).
Haben Sie versehentlich eine falsche Datei markiert, machen Sie das mit einem erneuten Druck auf [Einfg] rückgängig.
Möchten Sie fast alle Dateien eines Ordners bis auf einige wenige kopieren, gibt es eine elegantere Möglichkeit, als jede einzeln mit [Einfg] zu markieren. Markieren Sie nur die Dateien, die Sie eigentlich nicht kopieren wollen, und kehren Sie danach die Markierung mit [Alt-Umschalt-+] um.
Wer die Zweifensteransicht des Midnight Commander nicht mag, aber trotzdem einen Datei-Manager für den Textmodus benötigt, muss sich nicht nach einer Alternative umsehen. Das Programm zeigt auf Wunsch in einer Fensterhälfte einen Verzeichnisbaum an. Um einen in der linken Fensterhälfte einzublenden, klicken Sie auf Links im Menü und wählen dort den Eintrag Baum.
Wenn Sie nun mit den Pfeiltasten zu einem Ordner navigieren und [Eingabe] drücken, klappen die Unterverzeichnisse aus, und Sie sehen den Inhalt des Ordners in der rechten Fensterhälfte (Abbildung 2).
Der Befehl cat, gefolgt von einem Dateinamen eignet sich gut, um schnell den Inhalt einer Datei im Kommandozeilenfenster auszugeben. Normalerweise ist man dabei nur am Text interessiert: Kommen in einer Datei mehrere aufeinander folgende Leerzeilen vor, macht das die Ausgabe nur unübersichtlich. Mit dem Aufrufparameter -s schaffen Sie Abhilfe. So fasst
cat -s text.txt
alle aufeinander folgenden Leerzeilen in der Datei text.txt zu einer zusammen (Abbildung 3).
Dieses Kunststück beherrscht übrigens nicht nur cat, sondern auch der Dateibetrachter less. Starten Sie das Programm mit dem Parameter -s, lässt es wie cat von aufeinander folgenden Leerzeilen alle bis auf eine unter den Tisch fallen.
Wenn Sie mit less eine sehr große Textdatei lesen, ist es umständlich mit [Bild auf] und [Bild ab] seitenweise zu blättern, um an den Dateianfang oder das Ende zu gelangen. Viel schneller erreichen Sie die gewünschte Position mit dem Kleiner- (<) und dem Größerzeichen (>). Das erstgenannte bringt Sie an den Anfang, das andere ans Ende der Datei.
Der Dateibetrachter less bietet eine praktische Suchfunktion: Eine Vorwärtssuche starten Sie mit der Eingabe von /. Der Schrägstrich erscheint am unteren Fensterrand, und Sie können nun den Suchbegriff eingeben. Mit [Eingabe] springt less zum ersten Treffer. Um zur nächsten Fundstelle zu wechseln, drücken Sie [N].
Möchten Sie eine Datei rückwärts durchsuchen, geben Sie statt des Schrägstrichs ein Fragezeichen und dahinter den Suchbegriff ein. Mit [Umschalt-N] gelangen Sie zum jeweils nächsten Treffer einer Rückwärtssuche.
Wenn Sie eine in Spalten unterteilte Textdatei haben, aus der Sie nur einige Spalten benötigen, ist cut dafür das richtige Werkzeug. Der Befehl
cut -f 1,3 adressen.txt
gibt die erste und dritte Spalte der Datei adressen.txt aus. Sie können nicht nur Spalten durch Komma getrennt, sondern auch einen Bereich eingeben, beispielsweise zeigt cut -f 1-3 adressen.txt die ersten drei Spalten der Datei an. Als Trennzeichen zwischen den Spalten nimmt cut in der Standardeinstellung einen Tabulator an. Sind die Spalten dagegen durch Kommata voneinander getrennt, übergeben Sie dem Programm das Trennzeichen mit dem Parameter -d (für delimiter=Trenner), etwa
cut -d , -f 1,3 adressen.txt
In Textdateien mit Spalten befinden sich oft auch eine oder mehrere Kopfzeilen mit Tabellenüberschriften. Der Aufrufparameter -s unterdrückt die Ausgabe aller Zeilen, in denen das Trennzeichen nicht vorkommt.
Das Kommando sort, gefolgt von einem Dateinamen, sortiert die Zeilen einer Datei alphabetisch. Das ist beispielsweise praktisch, wenn Sie eine Adressdatei im Textformat pflegen und deren Einträge sortieren wollen. Mit dem Parameter -n aufgerufen, arbeitet sort numerisch und nicht alphabetisch: Bei dieser Sortierreihenfolge kommt eine 9 vor der 10 und nicht umgekehrt, wie es bei alphabetischer Sortierung der Fall wäre.
Meistens will man eine Datei jedoch nicht einfach sortiert ausgeben, sondern das Ergebnis in eine neue Datei schreiben. Dafür müssen Sie die sort-Ausgabe nicht mit > umleiten [1], denn das Programm kennt den Aufrufparameter -o, hinter dem Sie die Datei angeben, die den sortierten Inhalt der Originaldatei enthalten soll. Der Befehl
sort -o neu.txt dokument.txt
schreibt den sortierten Inhalt von dokument.txt in die Datei neu.txt.
Wenn Sie eine Datei mit unbekannter oder gar keiner Endung erhalten, wollen Sie vielleicht erst einmal wissen, um was für einen Dateityp es sich handelt, bevor Sie die Datei öffnen. Das verrät der Befehl
file dateiname
Das Tool verlässt sich beim Ermitteln des Dateityps nicht nur auf die Dateiendung -- Namen sind schließlich Schall und Rauch -- sondern schaut in die Datei hinein und überprüft, ob es dort ein bekanntes Muster findet, das einen Dateityp eindeutig identifiziert.
Dabei verlässt sich das Programm unter anderem auf die Informationen in der Binärdatei /usr/share/misc/magic.mgc beziehungsweise in der Textdatei /usr/share/misc/magic, wenn die Datei mit der Endung .mgc nicht existiert. Ist dort das Muster zu einer Datei nicht hinterlegt und scheitern auch alle anderen Tests, die file durchführt, bezeichnet es den Dateiinhalt als data. Dann müssen Sie bei demjenigen, von dem Sie die Datei erhalten haben, nachfragen, mit welchem Programm sie sich öffnen lässt.
Wenn Sie eine sehr große Textdatei mit gzip oder bzip2 komprimiert haben, müssen Sie diese nicht erst mit gunzip oder bunzip2 entpacken, um einen Blick hinein zu werfen oder sie zu durchsuchen. Mit zless text.gz beziehungsweise bzless text.bz2 zeigen Sie den Inhalt einer komprimierten Datei an. Sie bewegen sich dort genauso wie in less. Mit [Bild ab] und [Bild auf] blättern Sie seitenweise durch die Datei, [q] beendet den Dateibetrachter.
Für das Durchsuchen komprimierter Dateien gibt es die Kommandos zgrep und bzgrep. Der Befehl
bzgrep Linux text.bz2
durchsucht die mit bzip2 komprimierte Datei text.bz2 nach der Zeichenkette Linux und zeigt die Fundstellen an. Da hinter den Befehlen nur Shell-Skripte stecken, die die Datei entpacken, mit grep durchsuchen und danach die entpackte Datei löschen, können Sie beim Aufruf von bzgrep und zgrep alle grep-Optionen [3] verwenden. So erreichen Sie beispielsweise mit dem Aufrufparameter -i, dass grep nicht zwischen Groß- und Kleinbuchstaben unterscheidet. (amü)
| Infos |
|
[1] Artikel über Ausgabeumleitungen: Heike Jurzik, "Genial gelenkig", EasyLinux 09/2005, S. 84 ff., http://www.easylinux.de/2005/09/084-umleitungen/
[2] Artikel über Packprogramme: Heike Jurzik, "Eingepackt und abgelegt", EasyLinux 03/2006, S. 88 ff. -- auf der Jahres-CD [3] Artikel über "grep": Elisabeth Bauer, "Text fischen", EasyLinux 10/2003, S. 74 f., http://www.easylinux.de/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: 2008-11-05 16:58
[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]