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

Know-how für die Kommandozeile

Shell-Tipps

Heike Jurzik


Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sie manche Aufgabe schneller bewältigen als mit grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug auf die Shell zu ermutigen.

Tipp: Farbe für "grep"

Das Programm grep [1] sucht in Texten nach bestimmten Mustern; zum Beispiel gibt

grep Heike datei.txt

alle Zeilen der Datei datei.txt aus, die das Suchmuster "Heike" enthalten. Übersichtlicher wird das Ganze, wenn Sie grep die Option --color mit auf den Weg geben (Abbildung 1). Standardmäßig präsentiert grep dann die Treffer in Rot.

Wenn Sie eine andere Farbe bevorzugen, setzen Sie die Umgebungsvariable GREP_COLOR wie in Abbildung 1 zu sehen neu. Die Angabe des ANSI-Farbcodes 34 (über so genannte Escape-Sequenzen) sorgt dafür, dass die Fundstellen nun blau erscheinen. Andere Werte für die grep-Farbcodes sind zum Beispiel: 30 (schwarz), 31 (rot), 32 (grün), 33 (gelb), 34 (blau), 35 (magenta), 36 (cyan) und 37 (weiß).


Escape-Sequenzen: Damit die Konsole nicht darstellbare Zeichen anzeigt, geben Sie für diese ersatzweise eine bestimmte Zeichensequenz ein.

Damit die Einstellungen einen Neustart des Systems überleben, tragen Sie in die Konfigurationsdatei der Bash (~/.bashrc) die Zeile

export GREP_COLOR=34

ein. Die Änderungen greifen entweder beim nächsten Anmelden oder wenn Sie die neuen Einstellungen mit source in der aktuellen Shell einlesen:

source ~/.bashrc

Abb. 1: Bringen Sie Farbe ins Spiel und färben Sie die "grep"-Ausgabe ein.

Tipp: Noch mehr Tricks mit Farben

Den im vorigen Tipp gezeigten Farben (genaugenommen handelt es sich um die Vordergrundfarben) fügen Sie auf Wunsch weitere Attribute hinzu. Dadurch erscheinen die Elemente in der Textausgabe fett, unterstrichen oder blinkend. Es sind folgende Attribute möglich: 00 (keine), 01 (fett), 04 (unterstrichen), 05 (blinkend), 07 (invertiert) und 08 (unsichtbar).

Um eine solche Eigenschaft mit einer Farbe zu kombinieren, setzen Sie das Attribut, durch ein Semikolon abgetrennt, vor oder hinter die Farbe, beispielsweise:

export GREP_COLOR="04;34"

Achten Sie darauf, den Ausdruck in Anführungszeichen zu setzen, da die Shell das Semikolon andernfalls fehlinterpretiert.

Auch für die Hintergrundfarbe stehen zweistellige Codes zur Verfügung, die Sie wiederum durch ein Semikolon abtrennen: 40 (schwarz), 41 (rot), 42 (grün), 43 (gelb), 44 (blau), 45 (magenta), 46 (cyan) und 47 (weiß).

Nach dem folgenden Befehl

export GREP_COLOR="04;34;41"

präsentiert grep die Ausgabe in Blau, unterstrichen und auf einem roten Hintergrund.

Tipp: Mehrere Ordner auf einmal anlegen

Mit dem Programm mkdir (englisch "make directory" = "erstelle Verzeichnis") legen Sie Ordner an. Um etwa im aktuellen Verzeichnis einen Ordner namens briefe zu erstellen, tippen Sie:

mkdir briefe

Wollen Sie die Post noch weiter sortieren, helfen Unterverzeichnisse weiter. Die Befehle

mkdir briefe/sportverein
mkdir briefe/sportverein/vorstand

legen weitere Ordner unterhalb von briefe an. Dabei muss das jeweils übergeordnete Verzeichnis allerdings existieren: Gibt es den Ordner sportverein noch nicht, beschwert sich mkdir. Als praktisch erweist sich in diesem Fall der Aufrufparameter -p, der mkdir anweist, ganze Ordnerhierarchien in einem Rutsch anzulegen:

mkdir -p briefe/sportverein/vorstand

erstellt alle drei Verzeichnisse auf einmal.

Tipp: Texteditoren: Direkt zur Zeile springen

Viele der beliebten Texteditoren unter Linux bieten eine Funktion an, mit der Sie direkt beim Start zu einer bestimmten Zeile springen. Beschwert sich ein Programm beim Aufruf beispielsweise, dass irgendetwas in Zeile 20 der Konfiguration hakt, öffnen Sie die Quellcode-Datei direkt an dieser Stelle. Wer den Editor Nano verwendet, tippt:

nano +20 datei

Genauso geht es mit dem Joe (joe +20 datei), dem Easy Editor (ee +20 datei), dem Vim (vim +20 datei) und dem Emacs (emacs +20 datei).

Tipp: Zeitzonen überwinden mit Date

Das Kommando date zeigt Datum, Uhrzeit und Zeitzone auf der Kommandozeile an; dem Systemverwalter hilft es außerdem, diese neu zu setzen. Mit einem kleinen Trick bringen Sie date dazu, die Uhrzeit an fernen Orten der Welt anzuzeigen. Dabei hilft die Umgebungsvariable [2] TZ (englisch "time zone" = "Zeitzone"). Werfen Sie einen Blick ins Verzeichnis /usr/share/zoneinfo/, um herauszufinden, welche Zeitzonen das System kennt. Wer beispielsweise Freunde in New York hat, findet mit dem folgenden Kommando heraus, wie früh oder spät es dort gerade ist:

$ TZ=America/New_York date
Do Sep 13 08:41:15 EDT 2007

Tipp: Shell-Gedächtnis: ".bash_history" und "fc"

Die Bash merkt sich bereits eingegebene Befehle in der so genannten History (genauer in der Datei ~/.bash_history). So zaubern Sie Kommandos schnell wieder auf den Schirm und wiederholen oder modifizieren sie. [Pfeil hoch] zeigt den zuletzt getippten Befehl an; drücken Sie die Taste mehrmals, um weitere vergangene Befehle anzuzeigen. Entsprechend geht es mit [Pfeil runter] wieder nach vorne. Die alten Kommandos können Sie modifizieren und natürlich via [Eingabe] abschicken und so noch einmal ausführen.

Mit den Tastenkombinationen [Strg-R] und [Strg-S] durchsuchen Sie die History nach längst Vergangenem: Ein Druck auf [Strg-R] verändert den Shell-Prompt:

(reverse-i-search)`':

Nun geben Sie Teile des gesuchten Kommandos ein. Die Bash vervollständigt Ihre Anfrage bereits während der Eingabe automatisch, so dass manchmal wenige Buchstaben genügen, um einen vergangenen Befehl aufzuspüren. Ein erneuter Druck auf [Strg-R] sucht weiter in der Liste. Um ein gefundenes Kommando auszuführen, drücken Sie [Eingabe]. Alternativ geben Sie [Esc] ein, um den Befehl vor dem Ausführen noch zu verändern und die Suche zu verlassen. Genauso arbeiten Sie mit [Strg-S] bei der Vorwärtssuche.

Diese einzelnen Befehle reißen allerdings die vergangenen Arbeitsabläufe auseinander. Das Bash-Builtin fc hilft dabei, die Beziehungen zwischen ganzen Befehlssequenzen abzubilden. Standardmäßig zeigt fc -l die letzten 17 Kommandos an. Zusammen mit einer angehängten Ziffer bestimmen Sie genau, wie viele Zeilen fc ausgibt. So offenbart

fc -l -10

die letzten zehn Befehle (Abbildung 2).

Abb. 2: Lang, lang ist's her... Der Befehl "fc" zaubert Vergangenes auf den Schirm.


Builtin: Ein Builtin ist kein eigenständiges Binärprogramm, sondern ein eingebauter Befehl, den die Shell mitliefert. Builtins haben keine eigene Manpage, sondern ihre Dokumentation ist in der Regel Teil der Bash-Dokumentation (man bash). Eine kurze Hilfe rufen Sie zudem über bash -c help auf.

Infos
[1] Artikel zu Grep: Elisabeth Bauer, "Text fischen", EasyLinux 10/2004, S.74 ff., http://www.easylinux.de/2003/10/074-grep/
[2] Umgebungsvariablen auf der Shell: Heike Jurzik, "Gut eingerichtet", LinuxUser 05/2007, S. 88 ff., http://www.linux-user.de/ausgabe/2007/05/088-zubefehl/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 | © 2019 COMPUTEC MEDIA GmbH | Last modified: 2008-11-05 17:26

Nutzungsbasierte Onlinewerbung

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