Zwei Schritte vor und einen zurück
Wenn ich mein Linux hochfahre, dann rauschen die Meldungen so schnell an mir vorbei, dass ich sie nicht lesen kann. Wie kann ich diese wichtigen Informationen über mein System zurückrufen, um sie genau betrachten zu können?
Dr. Linux Grundsätzlich verwendet man zum "Blättern" unter Linux die Tastenkombination Shift+Bild hoch/Shift+Bild runter. Damit können Sie zum Beispiel auch die gesamte Informationsausgabe des Startvorgangs betrachten.
Leider funktioniert diese einfache Methode nach dem Hochfahren des Rechners nur, wenn Sie währenddessen keinen Konsolen-Font einstellen lassen und die Konsole damit beim Booten die Anzeigeform für die Schriftgröße nicht wechseln muss. Die erkannte Hardware wird jedoch in Form eines Puffers gespeichert, der sich auch im Nachhinein noch mit
user$ dmesg
abfragen lässt.
Noch mehr Informationen finden Sie in den Log(buch)-Dateien, die jedes Linux-System anlegt. Sie finden Informationen über den Systemstart je nach Distribution zum Beispiel unter /var/log/boot.msg oder /var/log/boot.log.
Künstlernamen und profilierte User
In der täglichen Routine mit Linux muss ich immer wieder die gleichen länglichen Befehle eintippen, das finde ich sehr lästig. Kann ich diese Eingaben mit einem Trick verkürzen?
Dr. Linux In Ihrem Homeverzeichnis finden Sie die Datei .bash_history, in der die Eingaben, die Sie in der Bash vorgenommen haben, gespeichert werden. In dieser "Historie" können Sie auf der Kommandozeile mit Ihren Cursortasten zurückblättern und auf diese Weise schon einmal gemachte Eingaben erneut nutzen und ggf. abändern.
Neben der bash stehen unter Linux u.a. Unixbetriebssystemen zum Beispiel folgende Shells zur Auswahl:
- Die csh oder C-Shell, deren Syntax der Programmiersprache C ähnelt.
- tcsh, eine erweiterte C-Shell mit der Möglichkeit, die Befehlszeile zu editieren.
- Die sh oder Bourne-Shell. Sie hat keine editierbare Befehlszeile.
- Die mit der Bourne-Shell weitgehend abwärtskompatible ksh oder Korn-Shell stellt eine editierbare Kommandozeile bereit.
- Die zsh (Z-Shell) ist die jüngste unter den aufgeführten Shells und ebenfalls editierbar. Obwohl sie weitgehend der ksh ähnelt, besitzt sie einige Besonderheiten und weitergehende Features.
Falls Sie sich an ein Bruchstück der gesuchten Befehlszeile erinnern, können Sie dies nach einem Strg-R eingeben: Die Shell "erweitert" es durch einen passenden Befehl. Sofern der erste Vorschlag nicht gefällt, sollte man einfach unbeirrt weitere Zeichen des gewünschten Kommandos eintippen – ggf. schlägt die Bash dann weitere Alternativen vor. Ist der richtige Befehl dabei, schickt man ihn entweder sofort durch Enter ab oder drückt eine Pfeiltaste, um anschließend noch Dateinamen auszutauschen, eine Option zu ändern o.ä.
Allerdings ist die Puffergröße der Bash nicht unbegrenzt: Wie viele Befehle in der "History" aufgehoben werden, ist in den Variablen HISTSIZE (Anzahl der zu merkenden Befehle) und HISTFILESIZE (maximale Zeilenlänge von .bash_history) festgelegt, deren Inhalt sich mit
user$ echo $HISTFILESIZE user$ echo $HISTSIZE
ansehen lässt. Wer mehr oder weniger möchte, tippt die Zeile(n)
user$ export HISTFILESIZE=Wert user$ export HISTSIZE=Wert
ein. Soll die Änderung auch beim nächsten Einloggen Bestand haben, tragen Sie sie am Ende der Datei .bash_profile im Homeverzeichnis ein.
Wegen dieser Begrenzung kann es natürlich passieren, dass ein wichtiger, komplizierter, aber selten gebrauchter Befehl aus der History herausfällt, weil zwischenzeitlich zuviele andere Kommandos eingegeben wurden. Das können Sie zwar ändern, indem Sie die Datei ~/.bash_history mit einem Schreibschutz versehen – dann werden keine neuen Einträge mehr hinzugefügt, und Sie haben Ihre Standardeingaben immer abrufbar.
Diese Lösung ist aber weder elegant noch sehr praktisch. Auf Dauer mehr Komfort bietet das Erzeugen von Aliasen. Mit dem Anlegen von Alias-Befehlen können Sie Programmaufrufe und einzeilige Befehlseingaben durch Kürzel ersetzen.
Geben Sie einmal nach dem Login (oder wenn Sie an einer grafischen Oberfläche arbeiten, in einem xterm) den Befehl
user$ alias
Ihr System zeigt nun, welche Aliase schon vorhanden sind. Das könnte etwa so aussehen:
alias ..='cd ..' alias ...='cd ../..' alias dir='ls -l' alias dos2unix='recode ibmpc:lat1' alias md='mkdir -p' alias rd='rmdir' alias unix2dos='recode lat1:ibmpc' alias unzip='unzip -L'
Diese vorgefertigten Aliasse werden beispielsweise beim Einloggen aus der Datei /etc/profile eingelesen, in der für alle Benutzer gültige Einstellungen getroffen werden. Die /etc/profile sollten Sie als Systemverwalter nur editieren, wenn Sie genau im Bilde sind, was Sie dort gerade tun.
Erst nachdem die /etc/profile abgearbeitet wurde, liest die Login-bash (oder eine andere sh-kompatible Login-Shell) die persönlichen Initialisierungsdateien (zum Beispiel ~/.profile und – bash-spezifisch – ~/.bash_profile) in den Homeverzeichnissen. C-Shells und ihre Abkömmlinge benutzen stattdessen zum Beispiel die Inititialisierungsdateien /etc/csh.login und ~/.login, die Z-Shell /etc/zprofile und – so nicht anders definiert – ~/.zprofile.
Diese persönlichen Initialisierungsdateien sind Skripte, die sich mit einem Editor bearbeiten lassen. Hierin können Sie sogar systemweite Einstellungen rückgängig machen bzw. zusätzliche persönliche Einstellungen vornehmen.
Um speziell die interaktiven Nicht-Login-Bashs zu konfigurieren (die Sie zum Beispiel durch den Aufruf eines xterms oder einer KDE-konsole über ein Menü oder den entsprechenden Kommandozeilenaufruf erhalten), suchen Sie in Ihrem Homeverzeichnis nach der Datei .bashrc.
Auch dieses Skript lässt sich mit einem Editor bearbeiten. Beachten Sie bei der Suche nach dieser Datei, dass es sich um eine versteckte Datei handelt. Finden Sie in Ihrer ~/.bashrc den Eintrag
test -e ~/.alias && . ~/.alias
dann besteht die Möglichkeit, eine spezielle .alias-Datei in Ihrem Homeverzeichnis anzulegen und Ihre privaten Aliase dahinein zu schreiben. Ich bevorzuge diese Vorgehensweise, denn es erleichtert das spätere Wiederfinden Ihrer Konfigurationen.
Nach der kleinen Besichtigung Ihres Homeverzeichnisses und der Entscheidung, wo Sie Ihre Alias-Liste eintragen wollen, schreiten Sie zur Tat. Legen Sie Ihre Alias-Liste an, indem Sie die ausgesuchte Datei editieren. Vorangestellt wird zunächst der Befehl alias, gefolgt vom Kürzel ihrer Wahl; ein = verbindet schließlich den am besten in Hochkommata gefassten ursprünglichen Befehl. Bei einer csh-kompatiblen Shell lassen Sie das Gleichheitszeichen weg.
Um das ewige Tippen von startx auf der Konsole zu einem schlichten sx zu verkürzen, könnte Ihr Eintrag so aussehen:
alias sx='startx'
Möchten Sie auf die Bildschirm-Ausgaben des Kommandos verzichten, erweitern Sie die Eingabe:
alias sx='startx > /dev/null &'
Müssen Sie sich durch Verzeichnisse hangeln, um Text-Dateien zu bearbeiten, können Sie diese Tipparbeit ebenfalls mit einem Kürzel zum Vergnügen umgestalten. Das folgende Beispiel wechselt nicht nur in das angegebene Verzeichnis /text/mailbox/downloads, sondern listet auch gleich dessen Inhalt auf.
alias downs='cd /text/mailbox/downloads/ && ls -a'
Anhänger grafischer Oberflächen können sich mit einem schnell getippten Alias-Kürzel in einem xterm das Herumsuchen in Menüleisten sparen. Meine .alias enthält zum Beispiel folgende Abkürzungen:
# Kommentare, denen ein # vorangestellt # ist, werden nicht weiter beachtet. # Für die grafische Oberfläche alias jo='xtetris' alias net='netscape' # Für meine Konsole alias sx='startx > /dev/null &' # Für beliebige Kommandozeilen alias bye='exit'
Sollten Sie nun begeistert Ihre persönlichen Initialisierungsdateien mit Aliasen versehen, dann beachten Sie bitte, dass diese Dateien erst beim nächsten Login gelesen werden und erst dann ihre ganze Pracht entfalten.
Wenn Sie nicht gleich Skripte editieren möchten, können Sie die Wirkung von alias-Eingaben auch an der Konsole ausprobieren. Der Alias-Befehl bleibt bis zum Ende Ihrer Sitzung erhalten, wird aber nicht gespeichert. Mit unalias aliasname können Sie einen unerwünschten Alias aber auch während einer Sitzung wieder loswerden.



