Besser kommandiert
Dr. Linux: Tricks auf der Kommandozeile
Gehupft wie gesprungen
Oft will man nach einem Verzeichniswechsel wieder ins vorherige Verzeichnis zurück. Da gibt es doch sicher einen Trick, mit dem das schneller geht als durch erneute, mühselige Eingabe von cd samt des neuen alten Ziels.
Dr. Linux: Zum Hin- und Herbewegen zwischen zwei Verzeichnissen eignet sich der Befehl cd -, und der erklärt sich am besten an einem Beispiel. Nehmen wir an, die Anwenderin befindet sich im Verzeichnis /etc/news/leafnode und wechselt nun mit dem Befehl cd ("change directory") in den Ordner /etc/ppp/ip-up.d, um dort eine Datei zu bearbeiten:
perle@woody:/etc/news/leafnode$ cd /etc/ppp/ip-up.d perle@woody:/etc/ppp/ip-up.d$
Will sie jetzt noch einmal nach /etc/news/leafnode zurückkehren, kommt der Befehl cd - zum Einsatz:
perle@woody:/etc/ppp/ip-up.d$ cd - /etc/news/leafnode perle@woody:/etc/news/leafnode$
Er zeigt das Verzeichnis an, in dem sie sich zuletzt befunden hat, und springt gleich dahin zurück. Anders ausgedrückt: Mit cd - kommen Sie immer zum "Verzeichnis minus 1", also dem zuvor besuchten.
Vorwärts, rückwärts
Mit welcher Option bringe ich cat dazu, mir Dateien in umgekehrter Reihenfolge auszugeben, also mit der letzten Zeile zuerst?
Dr. Linux: Der Befehl cat kann das nicht, dafür gibt es einen Befehl, der schon durch seine Schreibweise andeutet, dass er genau das Gegenteil von cat macht, nämlich tac:
perle@woody:~$ cat test.txt Erste Zeile Zweite Zeile Dritte Zeile Vierte Zeile perle@woody:~$ tac test.txt Vierte Zeile Dritte Zeile Zweite Zeile Erste Zeile perle@woody:~$
Welche Optionen ein Programm mitbringt, lässt sich in den meisten Fällen auch auf der Kommandozeile erfragen. Dazu geben Sie dem Programmaufruf die Option --help mit (siehe Listing 1). Ausführliche Informationen bieten die sogenannten Manpages, ein Teil der Online-Hilfe, die jedes Linux mitbringt. Diese sehen Sie mit dem Befehl man Programmname ein; die Betätigung der [q]-Taste bringt Sie wieder an den Shell-Prompt zurück. (In den meisten Fällen sorgt less hinter den Kulissen für die Anzeige.) Wenn Sie diese Online-Dokumentation noch nicht kennen, lohnt es, mit man man einen Blick in die Manpage zu man zu werfen.
Listing 1
Hilfe anfordern am Beispiel von cat
perle@suse:~> cat --help
Benutzung: cat [OPTION] [DATEI]…
Verkette DATEI(en) oder Standardeingabe auf Standardausgabe.
-A, --show-all äquivalent zu -vET
-b, --number-nonblank numeriere nichtleere Ausgabezeilen
-n, --number numeriere alle Ausgabezeilen
[Aus Platzgründen gekürzt]
-s, --squeeze-blank nie mehr als eine einzige Leerzeile
--help gib diese Hilfe aus und beende das Programm
--version gib Versionsinformation aus und beende das Programm
Ohne DATEI oder wenn DATEI ist -, lies Standardeingabe.
Melde Fehler an <bug-textutils@gnu.org>.
perle@suse:~>
Glossar
history
Moderne Kommandozeileninterpreter wie die Bash speichern die eingegebenen Befehle (zumindest bis zu einer gewissen Anzahl). Sie merken sich also ihre Geschichte, auf Englisch "History" genannt.
Bash
Unter Linux kommt als Kommandozeileninterpreter in der Regel die "Bourne Again Shell" zum Einsatz. Dieser Programmtyp wird "Shell" ("Muschel", "Schale") genannt, weil er den Betriebssystemkern ("Kernel") umschließt. Kommandozeilenbefehle gibt die Benutzerin nicht direkt an den Kernel zur Ausführung, sondern nimmt dabei die Hilfe der Shell in Anspruch. Ob man direkt an einer virtuellen Linux-Konsole oder in einem Kommandozeilenfenster (X-Terminal) wie xterm oder konsole arbeitet – darin läuft immer eine Shell.
Builtin
Ein Builtin ist ein eingebauter Befehl, den (in diesem Fall) die Shell "mitbringt". Ob es sich bei einem Kommando um ein Builtin oder um ein eigenständiges Binärprogramm handelt, verrät das Bash-Builtin type:
.bash_history
Die im Home-Verzeichnis versteckte Datei .bash_history speichert die Befehle, die auf der Bash abgesetzt wurden. Voreingestellt ist meist der Wert 500, das heißt, sobald diese Grenze erreicht ist, werden jeweils der/die ersten Befehl(e) aus der Datei gelöscht, um für die "neuen" Befehle am Ende der Datei Platz zu schaffen.



