Die Verwendung dieses Howto geschieht auf eigene Gefahr. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich zusätzlich an den Verfasser des Howtos.
Diese Howto-Anleitung wurde zuletzt von lionlizard am 09.10.2016 unter Lubuntu 16.04 erfolgreich getestet.
Was macht eigentlich der Befehl XYZ
, warum ist er auf dem System vorhanden? Wie bekomme ich dazu Hilfe und weitere Informationen?
Am Beispiel des Befehls man wird hier gezeigt, welche Informationen zu einem Befehl in Erfahrung gebracht werden können. Die Anleitung sollte sich leicht auf andere Dateien und Pakete übertragen lassen. Zum Verständnis sollte der Leser die Schritte im Terminal einmal durchspielen und sich über die verwendeten Befehle ggf. weiter informieren. Die gestellten Fragen und Antworten bauen (teils) aufeinander auf.
Ergänzungen sind willkommen, es sollte aber beachtet werden, dass alle Befehlsaufrufe auf einem System mit Minimalinstallation funktionieren sollen. So bleibt das Howto leicht zu pflegen.
man
ist ein Terminalprogramm und im Terminal können weitere Informationen darüber abgerufen werden.[1]
whatis
liefert eine Liste der Handbuchseiten zu einem Befehl:
whatis man
man (1) - eine Oberfläche für die Online-Referenzhandbücher man (7) - macros to format man pages
Wie bei vielen Programmen wird die Hilfe angezeigt mit:
man --help
man
ruft die Handbuchseite („manpage“) eines Befehls auf.[2]
Die Handbuchseiten zu man
werden geöffnet mit:
man man
oder
man 7 man
wenn es zu einem Begriff in mehreren Sektionen des Handbuchs passende Seiten gibt und man eine bestimmte davon aufrufen möchte.
Eine andere, weniger verbreitete Art der Hilfe, wird mit dem Befehl info
aufgerufen. Gibt es keine spezielle Infoseite, werden die Handbuchseiten aufgerufen. Die Seiten (bei man
also eins und sieben) werden dabei zusammengeführt.
info man
Die meisten Befehle geben ihre eigene Version wieder, wenn sie mit der Option --version
aufgerufen werden:
man --version
man 2.6.7.1
which man
/usr/bin/man
Sie liegt also in einem Verzeichnis, von dem aus sie systemweit ausführbar sein sollte.
ls -l /usr/bin/man
-rwxr-xr-x 1 root root 107008 Sep 23 18:43 /usr/bin/man
Die Datei gehört dem Systembenutzer root
, kann aber von jedem Benutzer ausgeführt werden. Dies erkennt man an der symbolischen Darstellung der Rechte. Somit können alle Benutzer Handbuchseiten lesen.
Ausführliche Informationen zu Rechten, Benutzer und Gruppe, Größe, Zugriff und so weiter liefert:
stat /usr/bin/man
Dabei kennt stat verschiedene Formatierungen, so dass einzelne Werte abgefragt werden können; z.B. die Rechte in oktaler Schreibweise mit:
stat --format=%a /usr/bin/man
file /usr/bin/man
/usr/bin/man: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=f421457c024fcd196f0ac9ccfc8796f59bddb3c4, stripped
Es handelt sich also um eine Binärdatei (ELF). Sie wurde dynamisch gelinkt und benötigt daher gemeinsam genutzte Bibliotheken.
Folgender Befehl gibt die benötigten gemeinsam genutzten Bibliotheken aus:
ldd /usr/bin/man
dpkg-query --search /usr/bin/man
man-db: /usr/bin/man
Es gibt also nur ein Paket, das die gesuchte Datei enthält: man-db, siehe auch dpkg-query.
Programmbeschreibung und Paketinformationen zeigt apt-cache, z.B. mit:
apt-cache show man-db
dpkg -l man-db
ii man-db 2.6.7.1-1ubu amd64 on-line manual pager
Der Status ii
zeigt, das Paket ist installiert, siehe auch dpkg.
whereis man
man: /usr/bin/man /usr/bin/X11/man /usr/local/man /usr/share/man /usr/share/man/man1/man.1.gz /usr/share/man/man7/man.7.gz
dpkg -L man-db
Das Paket enthält die Handbuchseiten (-datebank) sowie Programme und Bibliotheken dazu.
Da der Befehl gemeinsam genutzte Bibliotheken voraussetzt, hat das Paket Abhängigkeiten.
apt-cache depends man-db
Das Paket wird von einem anderen Paket als Abhängigkeit installiert:
apt-cache rdepends man-db
oder
apt-cache showpkg man-db
Die beiden Befehle zeigen, dass viele andere Pakete man-db voraussetzen. Darunter ist auch das Paket lsb-core – also der Kern der „Linux Standard Base“ von Debian und damit elementarer Bestandteil von Ubuntu. Genau genommen sind dies die Abhängigkeiten, durch die man
auf jedem Ubuntu vorhanden ist:
ubuntu-minimal -> lsb-release -> lsb -> lsb-core -> man_db ==> man
apt-cache showsrc man-db
Package: man-db [...]
Die Namen von Quell- und Binärpaket sind in diesem Fall identisch.
Bei einem Shell Builtin wie beispielsweise unset
wird der Aufruf von which unset
kein Ergebnis liefern. Dass unset
von der Shell mitgeliefert wurde, beweist:
type unset
unset ist eine von der Shell mitgelieferte Funktion.
Hilfe zu einem Builtin liefert die eingebaute Hilfe der Shell:
help unset
Welche Shell gerade benutzt wird, zeigt:
which $0
Zum Befehl, der ein Fenster gestartet hat, bekommt man den Namen des Programms mit:
xprop WM_CLASS
und auf das Fenster.
Aus der Ausgabe kann man in der Regel auf den Dateinamen schließen.
Der Befehl apropos
liefert eine Liste mit Handbuchseiten zu einem Stichwort.
apropos xfce4-term
xfce4-terminal (1) - Ein Terminal-Emulator für X
Auch im Browser können Informationen zu Befehlen und Paketen abgerufen werden.[3]
Die Handbuchseiten werden für alle Ubuntu Versionen in allen verfügbaren Übersetzungen auch online bereitgestellt:
Um die Handbuchseiten auf einem eigenen Server bereitzustellen gibt es:
In der Ubuntu Paket Suche können Informationen zu allen Paketen und Quellpaketen aus allen Ubuntu Versionen abgerufen werden. Die Suchkriterien sind vielfältig und es kann auch nach Dateien und mit verschiedenen Suchmustern gesucht werden:
Diese Revision wurde am 9. Oktober 2016 20:33 von lionlizard erstellt.