claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 08/2004   »   Ausgabe bestellen

Know-how für die Kommandozeile

Shell-Tipps

von Andrea Müller


Das Problem mit Kommandozeilen-Tools ist, dass die praktischsten Optionen gut versteckt sind. Um den richtigen Dreh zu finden, muss man erst die Dokumentation studieren. Wir nehmen Ihnen einen Teil der Arbeit ab und verraten allmonatlich pfiffige Kniffe, die Ihnen den Umgang mit der Shell erleichtern.

less automatisch am Ende einer Datei schließen

Mit dem Befehl less dateiname werfen Sie schnell einen Blick auf den Inhalt von Textdateien. Die richtige Taste zum Beenden ist [q]. Wer es lieber hätte, dass sich less ebenso wie more unter DOS oder Windows am Ende einer Datei automatisch schließt, erreicht das mit dem Aufrufparameter -e.

less -e textdatei.txt

öffnet textdatei.txt, in der Sie wie gewohnt mit der Eingabe-Taste oder mit [Bild runter] navigieren. Auch das Zurückblättern mit der [Bild hoch]-Taste funktioniert. Sobald Sie das Ende der Datei erreicht haben und erneut auf [Enter] oder [Bild runter] drücken, beendet sich less.

Datei per Kommandozeile öffnen

Selbst die grafische Desktop-Umgebung KDE bringt praktische Befehle für die Kommandozeile mit. Windows-Umsteigern ist vielleicht das Kommando start vertraut, dem man entweder ein Programm oder einen Dateinamen übergibt.

start e:\apps\Corel\Programsi\
\photopnt.exe

startet das Programm photopnt.exe, während

start e:\andi\linux05\shell-\
tipps.html

die HTML-Datei shell-tipps.html mit der Anwendung öffnet, die auch ein Doppelklick auf die Datei im Windows Explorer starten würde; standardmäßig öffnet sich nach diesem Kommando die Datei im Internet Explorer.

Solch einen praktischen Befehl bringt auch KDE von Haus aus mit. Das zuständige Programm heißt kfmclient. wenn Sie es mit dem Parameter exec (für execute=ausführen) gefolgt von einem Dateinamen aufrufen, öffnet es diese Datei in der Anwendung, die für den Dateityp zuständig ist.

kfmclient exec /home/andi/\
archiv.tar.gz

startet den KDE-Entpacker ark, der die auf der Kommandozeile übergebene Datei archiv.tar.gz öffnet. Geben Sie kfmclient exec eine Datei mit auf den Weg, deren Typ KDE nicht kennt, erscheint das Dateizuordnungsfenster, in dem Sie das Programm aussuchen, mit dem Sie die Datei öffnen wollen (Abbildung 1).

Abb. 1: Hat "kfmclient" es mit einem unbekannten Dateityp zu tun, öffnet er automatisch den Dateizuordnungsdialog.

Dort fischen Sie entweder aus dem Menübaum eine passende Applikation heraus oder geben den Programmnamen in das oben liegende Eingabefeld ein. Möchten Sie, dass das gewählte Programm fortan die Standardapplikation für diesen Dateityp ist, setzen Sie im Öffnen mit-Dialog ein Häkchen vor Programm diesem Dateityp fest zuordnen.

Dateien nach Suchmuster im mc markieren

Falls Sie nur bestimmte Dateien eines Ordners im Midnight Commander markieren wollen, etwa alle Bilder mit der Dateiendung .png, führt der schnellste Weg über die Plus-Taste. Ein Druck darauf öffnet eine Dialogbox. In die Eingabezeile schreiben Sie das Suchmuster, unter das die zu markierenden Dateien fallen -- in unserem Beispiel *.png (Abbildung 2).

Abb. 2: Der Midnight Commander soll alle Dateien markieren, deren Name mit ".png" endet.

Das Sternchen (*) ist eine so genannte Wildcard, die für beliebig viele andere Zeichen steht. Ein anderer häufig gebrauchter Platzhalter ist das Fragezeichen, das für genau ein beliebiges Zeichen steht. Um z. B. alle Dateien auszuwählen, deren Name mit report beginnt, gefolgt von einem weiteren Zeichen und der Endung .txt, wäre report?.txt das richtige Suchmuster. Es markiert report1.txt und reportb.txt, erfasst jedoch nicht reportage.txt.

Mit der Eingabe-Taste bestätigen Sie Ihre Auswahl, damit der Dateimanager die gewünschten Dateien markiert.

Lesezeichen im Midnight Commander setzen

Sie halten gerne Ordnung und müssen sich daher mit Verzeichnisstrukturen wie /home/benutzername/arbeit/artikel/easylinux/heft07/shell-tipps herumschlagen. Statt sich im Midnight Commander mühsam durch ganze Verzeichnishierarchien zu hangeln, kürzen Sie die Wege mit Lesezeichen ab. Dafür bietet der Dateimanager eine so genannte Hotlist-Funktion. In diese Liste packen Sie alle Ordner, in denen Sie besonders häufig zu tun haben. Und so geht's:

  1. Wechseln Sie in ein Verzeichnis, für das Sie ein Lesezeichen anlegen wollen.
  1. Rufen Sie mit der Tastenkombination [Strg-AltGr-ß] die Hotlist-Verwaltung auf.

  1. Springen Sie durch zweimaligen Druck auf [Tab] zum Menüpunkt Aktuelles hinzufügen und wählen Sie ihn über [Eingabe] aus.
  1. In der folgenden Eingabebox steht als Name schon der volle Pfad zum aktuellen Verzeichnis. Da der Pfad meistens nicht sehr intuitiv und wahrscheinlich recht lang ist, löschen Sie ihn mit [Entf] und geben einen aussagekräftigeren Namen ein, für unser Beispielverzeichnis etwa Shell-Tipps Juli. Mit [Tab] wechseln Sie zur Ok-Schaltfläche und legen das Bookmark über [Eingabe] an.

  1. Das Lesezeichen taucht sofort in der Liste auf. Mit der Funktionstaste [F10] schließen Sie die Hotlist-Verwaltung. Um später schnell in ein Verzeichnis zu wechseln, für das Sie ein Lesezeichen angelegt haben, führt der Weg ebenfalls über das Hotlist-Fenster, das Sie mit [Strg-AltGr-ß] öffnen. Markieren Sie in der Liste den Kurznamen, den Sie dem Ordner verpasst haben und drücken Sie [Eingabe], damit der Datei-Manager in den Ordner wechselt.

Schnellsuche in einem Verzeichnis des mc

Unter Windows schätzt manch einer die Funktion des Explorers, in einem Verzeichnis einen Buchstaben auf der Tastatur zu drücken, damit der Datei-Manager zur ersten Datei springt, die mit dem eingegebenen Zeichen beginnt. Das kann der Midnight Commander in ähnlicher Form auch: Drücken Sie einfach [Strg-s]. Die Statuszeile unterhalb des aktiven Verzeichnisfensters verwandelt sich eine Eingabezeile für den Suchbegriff (Abbildung 3).

Abb. 3: Midnight Commander sucht, während Sie tippen.

Sobald Sie nun ein Zeichen eingeben, springt der Midnight Commander zur ersten Datei, die damit beginnt. Geben Sie einen weiteren Buchstaben ein, in Abbildung 3 das s, markiert mc die erste mit der Zeichenfolge as beginnende Datei. Haben Sie Ihr Ziel erreicht, wählen Sie einfach eine Dateiaktion, wie Öffnen ([Eingabe]) oder Kopieren ([F5]), um den Suchlauf zu beenden.

Nur Unterverzeichnisse mit ls auflisten

Wollen Sie nur die Unterordner, nicht aber die Dateien eines Verzeichnisses anzeigen, erreichen Sie das mit einer Kombination aus ls und grep (Abbildung 4). Der passende Befehl lautet

ls -F | grep /$

Abb. 4: ls -F | grep /$ listet nur Unterordner auf.

Mit dem Parameter -F aufgerufen, hängt ls in seiner Ausgabe den Pfadtrenner (/). Das Pipe-Symbol (|) leitet sie von ls an grep weiter, das nach / sucht. Mit dem Dollar-Zeichen sagen Sie grep, dass der Schrägstrich am Ende der Zeichenkette stehen muss. Benutzen Sie bei dem ls-Befehl zusätzlich den Parameter -a, erwischen Sie auch die mit einem Punkt beginnenden Verzeichnisse mit Konfigurationsdateien:

ls -Fa | grep /$

Unterverzeichnisse auflisten mit find

Der Suchspezialist find eignet sich ebenfalls, alle Unterordner eines Verzeichnisses anzuzeigen. Der Aufruf

find . -type d -maxdepth 1

listet alle auf, auch die, deren Name mit einem Punkt beginnt. Dass find nur Verzeichnisse ausgibt, regelt der Parameter type -d. Er teilt find mit, dass Sie nur an Suchtreffern vom Typ Verzeichnis (-d für directory) interessiert sind. -maxdepth 1 verhindert, dass find weiter in die Ordnerstruktur hinabsteigt und auch Unterordner der Verzeichnisse anzeigt.

Konfigurationsverzeichnisse ausschließen

Möchten Sie die Konfigurationsverzeichnisse, die mit einem Punkt beginnen, nicht in der Ausgabe sehen, müssen Sie den find-Befehl erweitern:

find . -type d -maxdepth 1 \
! -name ".*"

Entscheidend ist das Ausrufungszeichen !, das ein Muster definiert, das nicht zutreffen soll. In diesem Fall verhindert es, dass find Verzeichnisse anzeigt, deren Name (-name) mit einem Punkt beginnt (.*). Das Sternchen ist dabei ein Platzhalter für beliebig viele (auch 0) andere Zeichen.

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:17

[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]