Ijs2019medienpartner.jpg

SELFHTML ist in diesem Jahr Medienpartner der IJC.

Für die Konferenz vom 21. – 25. Oktober 2019 in München verlosen wir ein Freiticket.

Weitere Informationen finden sich im SELFHTML-Forum.

Linux/Shell-Hilfen

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Hilfe?[Bearbeiten]

Alle der hier genannten Kommandos und Tools besitzen sehr viele Schalter und Optionen. Diese alle hier zu nennen, würde erstens den Rahmen des Artikels sprengen und zweites wäre es völlig unnötig. Denn Linux bringt ein sehr auskunftsfreudiges Hilfesystem mit, durch das alle Befehle und Programme ausführlich dokumentiert werden. Der einzige Pferdefuss der Sache ist, dass die meisten Hilfetexte in Englisch verfasst sind, oder die deutschen zumeist nicht auf dem Rechner installiert sind.

Beispiel: Hilfe über Schalter
you@dort:~/featureartikel$ wget --help<ENTER>
you@dort:~/featureartikel$ mv --help<ENTER>
you@dort:~/featureartikel$ grep -h<ENTER>
Fast alle Programme geben Hinweise über Ihre Optionen aus, wenn Sie sie mit dem Schalter --help aufrufen.
Beachten Sie dabei, dass sie zwei Minuszeichen voranstellen. Die Kurzversion lautet -h (mit einem Minuszeichen). Allerdings müssen Sie oft ausprobieren, welcher der beiden Schalter bei welchem Programm funktioniert. Das ist nämlich oft unterschiedlich.
Beispiel: manual-Pages
you@dort:~/featureartikel$ man lynx<ENTER>
Fast jedes Kommando, den Sie auf der Kommandozeile eingeben können, besitzt eine sogenannte manpage. Diese enthalten meist ausführlichere Informationen und sind zudem manchmal auf deutsch installiert. Manpages haben einen einheitlichen Aufbau und können durchblättert und durchsucht werden wie beim less-Kommando weiter oben beschrieben.

Die manual-pages sind in neun anwendungsorientierte Zielgruppen unterteilt. Sie können den zu durchsuchenden Abschnitt mit einem Aufruf der Form man Abschnittsnummer Begriff angeben. Ohne Angabe einer Abschnittsnummer wird immer der Abschnitt eins durchsucht. Folgende Abschnitte sind definiert:

Nummer Abschnitt
1 Programme und Shell-Befehle (Standardabschnitt)
2 Systemaufrufe (Kernelfunktionen)
3 Systembibliotheken
4 Spezialdateien (z.B. unterhalb von /dev)
5 Dateiformate und Konventionen, (z.B. Aufbau der hosts-Datei)
6 Spiele
7 Makro-Pakete
8 Systemverwaltungsbefehle
9 nicht standardisierte Kernelroutinen
Beispiel: apropos
you@dort:~$ apropos less<ENTER>
eview (1)            - easy Vim, edit a file with Vim and setup for modeless editing
evim (1)             - easy Vim, edit a file with Vim and setup for modeless editing
less (1)             - opposite of more
lessecho (1)         - expand metacharacters, such as * and ?, in filenames on Unix systems.
lessfile (1)         - "input preprocessor" for less.
lesskey (1)          - specify key bindings for less
lesspipe (1)         - "input preprocessor" for less.
zless (1)            - file perusal filter for crt viewing of compressed text
Das apropos-Kommando gibt eine Liste mit den zum angegebenen Begriff passenden manpages aus. Ganz links steht der Name der manpage, in Klammern daneben der Abschnitt und rechts eine kurze Beschreibung. Das man-Kommando sucht standardmäßig manpages in Abschnitt eins. Möchten Sie z.B. in Abschnitt 5 suchen müssen Sie folgendes eingeben:
you@dort:~$ man 5 hosts<ENTER>

Shell-Hilfen[Bearbeiten]

Das Tippen an der Kommandozeile kann schnell ermüdend wirken - wenn man stur einzelne Befehle eingibt! Aber die meisten Shells sind mit vielerlei Eingabe- und Arbeitshilfen ausgestattet von denen hier nur die wichtigsten genannt werden sollen.

History - Befehle wiederholen[Bearbeiten]

Wenn Sie einen Befehl eingegeben haben, so wird dieser gespeichert. Mit den Cursortasten <AUF> und <AB> können Sie in der "History" blättern. Bereits eingegebene Befehle erscheinen dann in umgekehrter Reihenfolge. Mit <LINKS> und <RECHTS> können Sie einen Befehl bearbeiten um z.B. einige Angaben zu verändern. Durch die Eingabe von history wird die Liste mit den gespeicherten Befehlen ausgegeben.

Vervollständigung[Bearbeiten]

Eine grosse Erleichterung sind die Verfollständigungsbefehle. Der wichtigste ist die Tabulatortaste (<TAB>). Wenn Sie z.B. den Anfang eines Dateinamens eingeben und die <TAB>-Taste drücken, so wird versucht, den Namen soweit wie möglich zu vervollständigen. Zweimaliges Drücken gibt eine Liste mit den möglichen Vervollständigungen aus. Versuchen Sie einmal die <TAB>-Taste zweimal hintereinander an der leeren Kommandozeile zu drücken. Dann wird eine mehr oder weniger lange Liste mit möglichen Kommandos ausgegeben.

Pipes - Ausgaben weiterleiten[Bearbeiten]

Sie können die Ausgabe jedes Kommandos an ein anderes (dafür geeignetes Kommando) weiterleiten. Pipes sind eines der mächtigsten Werkzeuge der Shell, denn damit lassen sich viele, auf ganz bestimmte Aufgaben beschränkte, Kommandos zu komplexen Spezialfunktionen zusammenbauen! Zum Verketten von Kommandos verwendet man das Pipe-Symbol (| - Senkrechtstrich).

Beispiel
you@dort:~/featureartikel$ ls -l | grep html<ENTER>
-rw-r--r--    1 you wwwusr      136 Feb  2 21:21 index.html
-rw-r--r--    1 you wwwusr     3893 Feb  2 21:33 test.html
you@dort:~/featureartikel$

you@dort:~/featureartikel$ cat *.html | less<ENTER>
Oben wird die Ausgabe von ls an das grep-Kommando weitergegeben. Dieses durchsucht die Ausgabe dann zeilenweise nach "html" und gibt nur Zeilen, in denen dieser Suchbegriff vorkommt, aus. Das zweite Konstrukt leitet die Ausgabe von cat an den Pager less weiter, der das Ergebnis dann interaktiv anzeigt.

Ausgaben umleiten[Bearbeiten]

Sie können Kommandoausgaben auch umleiten. Üblicherweise erfolgt die Umleitung in Dateien. Als Symbole werden dafür die Zeichen (>) und (>>) verwendet. Ein einfaches Grösserzeichen bewirkt die Ausgabeumleitung in eine neue Datei (bestehende werden ggf. überschrieben!). Doppelte bewirken das Anhängen der Ausgabe an eine Datei.

Beispiel
you@dort:~/featureartikel$ ls -l > verzeichnisinhalt.txt<ENTER>
you@dort:~/featureartikel$ tar cvfz foo.tgz * >> sicherungslogfile.txt<ENTER>
you@dort:~/featureartikel$ echo -e 'Test-Datei\nmit neuer Zeile' > test.txt

Bildschirm löschen[Bearbeiten]

Manchmal ist es hilfreich, für eine Ausgabe einen sauberen Bildschirm zu haben. Diesen bekommen Sie durch die Eingabe von clear oder das Drücken der Tastenkombination <STRG>+<L>.