C Kommandoreferenz
Die Idee
Diese Kommandoreferenz bietet Ihnen eine Übersicht über die wichtigsten Linux- und BSD-Befehle und deren wichtigste Optionen. Dabei sind einige Programme nicht auf jedem System verfügbar, bei anderen hingegen sind nicht alle Parameter auf jedem System verfügbar oder heißen anders. <Beispielsweise ist das Programm tac nicht unter OpenBSD zu finden.> Des Weiteren unterstützen einige Programme sowohl Optionen mit einem vorangehenden Bindestrich (etwa uniq -c), als auch den sogenannten GNU-Style mit zwei Strichen (etwa uniq --count).
Unter BSD wird oftmals nur die Nicht-GNU-Variante unterstützt, weshalb portable Programme auch nur diese Optionen verwenden sollten.
alias
alias ist ein shell-interner Befehl, um eine Kurzform für (komplexe) Kommandos zu erstellen. Die Parameter, die von alias unterstützt werden, hängen von der Implementierung in der jeweiligen Shell ab, da alias shell-intern ist. Näheres zu diesem Befehl finden Sie in Kapitel 3.
apropos
Siehe man.
awk
- Pfad: /usr/bin/awk
- Nutzen: awk ist ein Streameditor und eine Skriptsprache.
- Hinweis(e): awk wird in Kapitel 4 genau besprochen.
bc
- Pfad: /usr/bin/bc
- Nutzen: bc ist ein programmierbarer Taschenrechner für die Konsole.
- Hinweis(e): Der bc wird in Kapitel 7, »Shellskriptprogrammierung«, behandelt.
cd
- Pfad: Shell-Builtin
- Nutzen: cd wechselt das aktuelle Verzeichnis.
- Hinweis(e): Im Normalfall wird nur das neue Verzeichnis als Argument angegeben.
Parameter | Wirkung |
Verzeichnis |
Wechselt das Arbeitsverzeichnis der Shell zu »Verzeichnis«. |
– |
Wechselt in das letzte Verzeichnis und macht damit den letzten cd-Aufruf ungeschehen. |
compress
- Pfad: /bin/compress
- Nutzen: compress komprimiert Dateien.
- Hinweis(e): Sehen Sie sich hierzu die Referenz zum gzip-Programm an. Beide Programme haben praktisch dieselben Parameter.
cp
- Pfad: /bin/cp
- Nutzen: cp kopiert Dateien.
- Hinweis(e): keine.
Parameter | Wirkung |
-i |
Für den Fall, dass durch einen Kopiervorgang eine vorhandene Datei überschrieben wird, erscheint eine Abfrage, ob tatsächlich überschrieben werden soll. |
-R |
Wenn ein Verzeichnis kopiert wird, erfolgt der Kopiervorgang rekursiv. |
-v |
Für jede zu kopierende Datei werden Quelle und Ziel angezeigt. |
$ cp -R ./Verzeichnis /tmp/
Listing C.1 Beispielaufruf
cut
- Pfad: /bin/cut
- Nutzen: cut splittet Dateien.
- Hinweis(e): cut ist in Kapitel 5.2 genau erklärt.
date
- Pfad: /bin/date
- Nutzen: date gibt die aktuelle Systemzeit aus und kann diese auch setzen.
- Hinweis(e): Ohne Option wird die aktuelle Systemzeit samt Datum ausgegeben.
Die Zeit wird im Format [[[[[[cc]yy]mm]dd]HH]MM[.SS]] gesetzt. Für den 22.11.2005 19:06 Uhr und 40 Sekunden sieht das wie folgt aus:
# date 200511221906.40 Tue Nov 22 19:06:40 CET 2005
Listing C.2 Datum und Zeit konfigurieren
Parameter | Wirkung |
-r DATEI |
Zeigt die letzte Änderung der Datei »DATEI« an. |
-s ZEIT |
Setzt die Uhrzeit sowie das Datum nach der Zeichenkette »ZEIT«. Diese Option ist root vorbehalten. |
-u |
Zeigt beziehungsweise setzt die Zeit nach der UTC (Coordinated Universal Time). |
dig
- Pfad: /usr/(s)bin/dig
- Nutzen: dig sendet Anfragen an einen Nameserver.
- Hinweis(e): Aufruf in der Form dig @server name type. Über diverse Parameter, auf die hier nicht eingegangen wird, etwa +[no]adflag, ist es möglich, den DNS-Paketheader sehr genau zu gestalten und einzelne Flags/Bits (nicht) zu setzen.
Parameter | Wirkung |
[server] |
Hierbei handelt es sich um die Adresse bzw. den Hostnamen des DNS-Servers, an den eine Anfrage gesendet werden soll. |
[name] |
Über [name] wird angegeben, welchen Ressource-Record man abfragen möchte (etwa pop3.web.de). |
[type] |
Der Typ des Ressource-Records. Beispielsweise sollten Sie hier »A« für einen IPv4-Address-Record, AAAA für einen IPv6-Address-Record und NS für einen Nameserver-Record angeben. Weitere Typen von Ressource-Records werden in Kapitel 15 besprochen. |
-b [a] |
Um die Absenderadresse eines Paketes festzulegen, wird -b [adresse] verwendet. |
–4/-6 |
Ausschließliche Verwendung von IPv4 (-4) bzw. IPv6 (-6). |
+[no]tcp |
Veranlasst dig dazu, ausdrücklich (nicht) das TCP-Protokoll zu verwenden. (Die Alternative stellt UDP dar). |
+[no]cl |
Zeigt die Klasse der DNS-Pakete (etwa »Internet«) (nicht) an. |
+[no]ttlid |
Zeigt die TTL der empfangenen Response-Pakete (nicht) an. |
+[no]question |
Zeigt die Question-Sektion der Response-Pakete (nicht) an. Dabei handelt es sich um die Sektion, die die an den Server gestellten Anfragen enthält. |
egrep
- Pfad: /usr/bin/egrep
- Nutzen: egrep verhält sich wie grep -E.
- Hinweis(e): Weitere Hinweise finden Sie im Eintrag zu grep.
Emacs
- Pfad: /usr/bin/emacs
- Nutzen: emacs ist ein beliebter Texteditor.
- Hinweis(e): Der emacs wird ausführlich in Kapitel 6.4 beschrieben.
grep
- Pfad: /usr/bin/grep
- Nutzen: grep durchsucht Texte nach regulären Ausdrücken.
- Hinweis(e): keine
Parameter | Wirkung |
-b |
Gibt das Offset der gefundenen Stelle im Input-Stream/in der Input-Datei aus. |
-E |
Behandelt den regulären Ausdruck als erweiterten regulären Ausdruck. Damit können mehrere Muster parallel angegeben werden. Dabei verhält sich grep wie egrep. |
-f [f] |
Liest von der Eingabedatei [f]. |
-I |
Überspringt binäre Dateien. |
-n |
Vergibt Zeilennummern für die Ausgabe. |
grub
- Pfad: /sbin/grub
- Nutzen: grub dient zur Modifikation des Master Boot Records.
- Hinweis(e): Das Programm wird in Kapitel 25, »Bootstrap und Shutdown«, besprochen.
gzip, compress, gunzip, uncompress, zcat, gzcat
- Pfad: /bin/gzip,compress, ...
- Nutzen: gzip und compress komprimieren Dateien mittels verschiedener Formate. gunzip und uncompress dekomprimieren diese Dateien wieder. zcat und gzcat geben die (de)komprimierten Dateien auf der Standardausgabe aus.
- Hinweis(e): 1. Diese Programme kommen besonders bei der Komprimierung von tar-Archiven zum Einsatz. 2. Ein Rückgabewert von 1 gibt einen Fehler, ein Rückgabewert von 2 eine Warnung an. Bei einem Rückgabewert von 0 ist üblicherweise alles in Ordnung. 3. Die einzelnen Kompressionsformate sind in den RFCS 1950 bis 1952 beschrieben. 4. Übrigens steht das »g« in gzip für »gratis«.
Parameter | Wirkung |
-V |
Zeigt die Programmversion an. |
-c |
Die komprimierte bzw. dekomprimierte Ausgabe wird auf der Standardausgabe und nicht in einer Datei ausgegeben (zcat/gzcat-Modus). |
-d |
Dekomprimiert eine Datei (uncompress-Modus). |
–1...9 |
Kompressionsfaktor |
-o [n] |
Die Ausgabe wird in der Datei [o] gespeichert. |
-S [s] |
Setzt das Suffix für komprimierte Dateien. |
-r |
Rekursiver Modus für compress. Auch Unterverzeichnisse werden dadurch einbezogen. |
-q |
»quite-mode«. Es werden keine Informationen ausgegeben. |
-v |
»verbose-mode«. Es werden ausführliche Informationen ausgegeben. |
$ gzip myfile $ ls myfile.gz $ gzcat myfile.gz Das ist der Inhalt der myzfile-Datei. Test, Test, Test. $ gunzip myfile.gz $ ls myfile
Listing C.3 Beispiel für eine gzip-Verwendung
head
- Pfad: /bin/head
- Nutzen: head zeigt die ersten Zeilen einer Datei an.
- Hinweis(e): head –123 und head -n 123 haben dieselbe Wirkung.
Parameter | Wirkung |
-[n] |
Gibt die ersten [n] Zeilen aus. |
-n [n] |
Gibt ebenfalls die ersten [n] Zeilen aus. |
hexdump
- Pfad: /usr/bin/hexdump
- Nutzen: hexdump gibt einen Dateiinhalt in verschiedenen Formen aus.
- Hinweis(e): keine
Parameter | Wirkung |
-d |
2-Byte-Ausgabe in dezimaler Form |
-o |
2-Byte-Ausgabe in oktaler Form |
-v |
Gibt jede Input-Zeile aus. Würden mehrfache Wiederholungen auftauchen, würde hexdump ansonsten nur das *-Zeichen ausgeben. |
-x |
Hexadezimale Ausgabe |
host
- Pfad: /usr/bin/host
- Nutzen: host löst DNS-Namen in IP-Adressen auf oder umgekehrt.
- Hinweis(e): % TODO
- Aufruf: host NAME/IP [NAMESERVER]
Parameter | Wirkung |
NAME/IP |
Der wichtigste Parameter ist der Rechnername, der in eine IP aufgelöst werden soll, beziehungsweise die IP, die in einen Rechnernamen aufgelöst werden soll. |
[NAMESERVER] |
Optional: Wird ein DNS-Server angegeben, so wird dieser direkt befragt. Wird dieser Parameter weggelassen, werden die systemweit konfigurierten DNS-Server benutzt. |
$ host www.sueddeutsche.de ns0.de.clara.net Using domain server: Name: ns0.de.clara.net Address: 212.82.225.170#53 Aliases: www.sueddeutsche.de has address 213.221.91.5
Listing C.4 Beispielaufruf
hostname
- Pfad: /bin/hostname
- Nutzen: hostname gibt den Hostnamen des Systems aus oder ändert ihn.
- Hinweis(e): Bei der Änderung des Hostnamens wird keine Veränderung an einem Nameserver vorgenommen. Die Änderung beschränkt sich auf das lokale System.
Parameter | Wirkung |
Wird hostname ohne Parameter aufgerufen, wird der FQDN-Hostname des Systems ausgegeben. |
|
[NAME] |
Wird hostname mit einem Parameter aufgerufen, wird der Hostname entsprechend dem Parameter geändert. |
-s |
Gibt nur den Hostnamen selbst (ohne Domain) aus. |
info
- Pfad: /usr/bin/info
- Nutzen: info zeigt GNU-Infoseiten an.
- Hinweis(e): Der Aufruf von info geschieht im Allgemeinen mit dem zu erläuternden Befehl als Argument.
lilo
- Pfad: /sbin/lilo
- Nutzen: lilo dient zur Modifikation des Master Boot Records.
- Hinweis(e): Das Programm wird in Kapitel 25, »Bootstrap und Shutdown«, besprochen. In vielen Distributionen wurde lilo durch grub ersetzt. grub wird ebenfalls in diesem Buch besprochen.
kill
- Pfad: /bin/kill
- Nutzen: kill sendet Signale an Prozesse.
- Hinweis(e): Oft wird kill nur zum Beenden von Prozessen genutzt – das Programm kann aber noch deutlich mehr.
- Aufruf: kill [-SIG] PID [PID2...]
Parameter | Wirkung |
[-SIG] |
Optional: Gibt an, welches Signal kill an den Prozess senden soll. Wird dieser Parameter weggelassen, wird ein SIGTERM gesendet, was den Prozess »freundlich« zum Beenden auffordert. (Über Signale können Sie in Kapitel 24.3 lesen.) |
PID |
Es muss mindestens die PID eines Prozesses angegeben werden, an den das Signal geschickt werden soll. |
[PID2...] |
Wenn Sie das Signal an mehr als einen Prozess senden wollen, können Sie optional weitere PIDs angeben. |
$ kill –9 12345
Listing C.5 Beispielanwendung
killall
- Pfad: /usr/bin/killall
- Nutzen: killall funktioniert genau wie kill, mit dem Unterschied, dass man auch Prozessnamen anstatt der PID angeben kann.
- Hinweis(e): Der Aufruf von killall -SIG PROZESS ist äquivalent zu kill -SIG `pidof PROZESS`.
$ killall –9 xterm
Listing C.6 Beispielanwendung
ln
- Pfad: /bin/ln
- Nutzen: ln erzeugt Links.
- Hinweis(e): Es können sowohl Hardlinks als auch Softlinks (symbolische Links) erstellt werden.
Parameter | Wirkung |
-s |
Erstellt einen symbolischen Link. |
-h/-n |
Wenn das Ziel ein symbolischer Link auf ein Verzeichnis ist, wird dieser nicht verfolgt. |
-v |
Gibt aus, von und zu welcher Datei ein Link erzeugt wurde. |
ls
- Pfad: /bin/ls
- Nutzen: ls Listet den Inhalt eines Verzeichnisses auf.
- Hinweis(e): Viele Optionen funktionieren nur in Verbindung mit der -l-Option.
Parameter | Wirkung |
-a |
Zeigt versteckte Dateien an. |
-h |
Gibt die Dateigröße gerundet auf eine sinnvolle Größe (etwa KB oder MB) aus. |
-i |
Gibt die Inode-Nummer einer Datei aus. |
-l |
Gibt ausführliche Informationen zu den Dateien aus. |
-m |
Gibt die Dateien separiert durch Kommata aus. |
-n |
Gibt ausführliche Informationen zu Dateien aus wie -l, jedoch werden die User- und Group-ID der Datei numerisch dargestellt. |
-F |
Gibt einen Slash hinter jeder Datei aus, die ein Verzeichnis ist. |
-R |
Gibt die Unterverzeichnisse rekursiv aus. |
-r |
Dreht die Ausgabereihenfolge um (nützlich bei -t und -S). |
-S |
Sortiert die Dateien nach Größe, wobei die größten zuerst aufgelistet sind. |
-T |
Gibt ausführliche Timestamp-Informationen für jede Datei aus. |
-t |
Gibt die Dateien sortiert nach ihrem Timestamp aus, wobei die aktuellen Timestamps zuerst ausgegeben werden. |
make
- Pfad: /usr/bin/make
- Nutzen: make wird primär zur automatischen Übersetzung und Installation von Softwareprojekten verwendet.
- Hinweis(e): Eine umfangreiche Beschreibung mit Anwendungsbeispielen zu make finden Sie in Kapitel 21.8.
Parameter | Wirkung |
-f [m] |
Normalerweise verwendet make eine Datei namens Makefile, um Befehle entgegenzunehmen. Möchte man eine andere Datei oder eine Datei [m] verwenden, kann man diese über den -f-Parameter angeben. |
-n |
Mit diesem Parameter führt make keine Befehle aus, zeigt aber trotzdem an, was ausgeführt werden würde, wenn man make normal starten würde. |
-t |
Führt alle Befehle aus, aber unterdrückt explizit, dass ausgegeben wird, um welche Befehle es sich dabei handelt. (Man kann dies mit dem @-Zeichen vergleichen, das vor die einzelnen Befehle gestellt werden kann.) |
man
- Pfad: /usr/bin/man
- Nutzen: Mit man kann man Hilfeseiten (»Manpages«) betrachten.
- Hinweis(e): Im Normalfall ruft man man mit dem Programm als Parameter auf, für das man die Hilfeseite angezeigt bekommen möchte.
Parameter | Wirkung |
NR Befehl |
Gibt es mehrere Hilfeseiten zu einem Befehl, so kann man über das Voranstellen der Sektionsnummer zwischen den einzelnen Hilfeseiten wählen. |
-k Befehl |
Sucht alle Hilfeseiten zu »Befehl« heraus und zeigt deren Kurzbeschreibung an. |
-f Befehl |
Sucht alle sich auf »Befehl« beziehenden Hilfeseiten heraus und zeigt deren Kurzbeschreibung an. |
mkfifo
- Pfad: /sbin/mkfifo
- Nutzen: mkfifo erstellt eine FIFO-Datei im Dateisystem. Weitere Informationen zu Anwendung von FIFOs finden Sie im Shell-Kapitel und technische Hintergründe in Kapitel 24, »Prozesse und IPC«.
- Hinweis(e): keine
Parameter | Wirkung |
-mode [Modus] |
Setzt die Zugriffsrechte der Datei gemäß [Modus]. |
mv
- Pfad: /bin/mv
- Nutzen: mv ändert Dateinamen bzw. »verschiebt« Dateien in andere Verzeichnisse.
- Hinweis(e): keine
Parameter | Wirkung |
-i |
Falls eine existierende Datei durch einen mv-Aufruf überschrieben werden würde, erscheint eine Abfrage, die es dem Benutzer ermöglicht, den Vorgang entweder tatsächlich durchzuführen oder abzubrechen. |
-v |
Gibt den alten und den neuen Dateinamen einer Datei aus. |
$ mv -v DateiA DateiB "DateiA" -> "DateiB"
Listing C.7 Beispielaufruf
named
- Pfad: meist /usr/sbin/named
- Nutzen: named ist der Standard-Nameserver der meisten Unix(-artigen) Systeme.
- Hinweis(e): keine
Parameter | Wirkung |
-c |
Soll nicht die Standardkonfigurationsdatei verwendet werden, kann mit diesem Parameter explizit der Pfad der zu verwendenden Datei angegeben werden. |
-d [l] |
Legt den Debug-Level des Nameservers fest. Je höher dieser Level angegeben wird, desto mehr Debug-Informationen erhalten Sie. |
-f |
Der Server forkt sich nicht zum Daemon-Prozess, sondern läuft im Vordergrund. |
-g |
Der Server schreibt alle Fehlermeldungen direkt durch STDERR auf die Konsole, anstatt über syslogd zu protokollieren. |
-p [p] |
Für den Fall, dass nicht der Standard-DNS-Port (53) verwendet werden soll, kann durch diesen Parameter ein alternativer Port angegeben werden. |
-t [v] |
Einige Bind-Versionen unterstützen den Parameter -t. Mit diesem kann ein Verzeichnis angegeben werden, das als chroot-Umgebung fungieren soll. Unter einigen Systemen (etwa OpenBSD) läuft Bind standardmäßig in einer solchen Umgebung. |
-v |
Gibt die Versionsnummer aus. |
-u [id] |
Diese Option setzt die Benutzer-ID, unter der Bind läuft, herab, nachdem alle Aktionen durchgeführt wurden, die die Zugriffsrechte des Superusers voraussetzen. |
nl
- Pfad: /bin/nl
- Nutzen: nl fügt Zeilennummern für Dateien ein.
- Hinweis(e): Dieses Programm gehört nicht zum Standardumfang aller Distributionen und BSD-Derivate.
od
- Pfad: /usr/bin/od
- Nutzen: od kann Dateien in beispielweise oktaler oder hexadezimaler Form anzeigen.
- Hinweis(e): od ist in Kapitel 5.8.3 genau erklärt.
Parameter | Wirkung |
-t FORMAT |
Gibt das Ausgabeformat an. Mögliche Werte für FORMAT sind beispielsweise »x« für hexadezimale Ausgabe oder ein »f« für eine Ausgabe in Fließkomma-Form. Folgt auf diesen Buchstaben noch eine weitere Zahl, so bestimmt diese die Anzahl der Bytes, die für die Darstellung genutzt werden sollen. |
paste
- Pfad: /bin/paste
- Nutzen: paste fügt Dateiinhalte zeilenweise zusammen. Die Zusammenfügung erfolgt zeilenweise über ein spezifizierbares Trennungszeichen.
- Hinweis(e): paste ist in Kapitel 5.2 genau erklärt.
pwd
- Pfad: /bin/pwd (bzw. Shell-Builtin)
- Nutzen: pwd gibt das aktuelle Arbeitsverzeichnis (engl. »working directory«) aus.
- Hinweis(e): keine.
read
- Pfad: shell-intern
- Nutzen: read liest Daten von STDIN oder aus einer Pipe/FIFO und speichert diese Werte in einer Variable.
- Hinweis(e): Nicht jede Shell unterstützt read. Nutzen können Sie read jedoch beispielsweise in der bash, zsh und pdksh.
script
- Pfad: /usr/bin/script
- Nutzen: script erstellt ein Typescript einer Shell-Session.
- Hinweis(e): Durch die Environment-Variable \2SHELL kann eine Shell spezifiziert werden, die script verwenden soll.
Parameter | Wirkung |
-a [d] |
Hängt die Ausgabe an das Ende der übergebenen Datei [d] an. |
scp
scp ist ein Client der Secure-Shell. Alle wichtigen Optionen und Informationen zu diesem Programm finden Sie in Kapitel 16.
sed
- Pfad: /bin/sed
- Nutzen: sed ist ein nicht-interaktiver Streameditor.
- Hinweis(e): sed wird in Kapitel 4 genau besprochen. Eine Befehlsreferenz finden Sie hier.
seq
- Pfad: /usr/bin/seq
- Nutzen: seq gibt – basierend auf den übergebenen Parametern – eine Zahlenfolge aus.
- Hinweis(e): Nützlich ist seq vor allem bei for-Schleifen in Shellskripten, wenn man automatisch eine lange Zahlenfolge durchlaufen will (vgl. Beispiel).
- Aufruf: seq ERSTE_ZAHL [ABSTAND] LETZTE_ZAHL
Parameter | Wirkung |
ERSTE_ZAHL |
Die erste Zahl der Folge. |
ABSTAND |
Dieser Parameter ist optional: Wird er angegeben, so ist der nächste Zahl der Folge um diesen »Abstand« größer. |
LETZTE_ZAHL |
Die letzte Zahl der Folge. Bis hierhin wird gezählt. |
$ seq 1 4 1 2 3 4 $ for i in `seq 1 2 9` ; do echo -n "$i " ; done 1 3 5 7 9
Listing C.8 Beispielanwendung
shutdown
- Pfad: /sbin/shutdown
- Nutzen: shutdown fährt das System herunter.
- Hinweis(e): Kann im Normalfall nur von root aufgerufen werden.
Parameter | Wirkung |
-r ZEIT |
Nach dem Shutdown neu starten. Die Angabe von »ZEIT« ist entweder eine Zeichenkette, die eine Uhrzeit beschreibt, oder »now«. |
-h |
Wie oben; nur wird das System angehalten. |
-c |
Stoppt einen bereits eingeleiteten Shutdown. |
-f |
Überspringt einen Dateisystem-Check mit fsck beim nächsten Boot. |
-F |
Erzwingt einen Dateisystem-Check mit fsck beim nächsten Boot. |
... Message |
Als letzter Parameter kann allen anderen Parameterkombinationen noch eine Nachricht übergeben werden, die an alle eingeloggten Benutzer gesendet wird. |
sleep
- Pfad: /bin/sleep
- Nutzen: sleep wartet eine bestimmte Anzahl von Sekunden, bevor es sich beendet.
- Hinweis(e): keine
Parameter | Wirkung |
[Sekunden] |
Die Zeit in Sekunden, die gewartet werden soll. |
sort
- Pfad: /bin/sort
- Nutzen: sort sortiert die Eingabe.
- Hinweis(e): Unter BSD und Linux verhält sich sort in der Regel unterschiedlich. Unter Linux wird direkt nach ASCII-Zeichen (inklusive Leerzeichen) sortiert, unter BSD werden Leerzeichen standardmäßig übersprungen, was zu unterschiedlichen Ergebnissen führen kann.
Parameter | Wirkung |
--version |
Gibt die Programmversion aus. |
--help |
Gibt einen Hilfstext aus. |
-b |
Überspringt Leerzeichen am Anfang einer Zeile. |
-d |
Sortiert nur nach Leer- und alphanumerischen Zeichen. |
-g |
Sortierung durch numerischen Wert. |
-u |
Gibt nur die erste von mehreren gleichen Zeilen aus. |
$ wc -l anhg_*.tex | sort -bd 15 anhg_dvd.tex 57 anhg_misc.tex 484 anhg_install.tex 754 anhg_loesungen.tex 1162 anhg_komref.tex 2472 total
Listing C.9 Beispielanwendung
split
- Pfad: /usr/bin/split
- Nutzen: split kann große Dateien in kleinere Stücke aufteilen (»aufsplitten«). Dazu übergibt man dem Programm zum einen die gewünschte Dateigröße, zum anderen natürlich die Datenquelle sowie das gewünschte Präfix. Als Ergebnis des Programms erhält man mehrere Dateien mit dem Namen »Präfixaa«, »Präfixab«, »Präfixac«, ... in der gewünschten Größe.
- Hinweis(e): split kann sowohl existierende Dateien als auch Daten von der Standardeingabe verarbeiten. Nützlich ist das vor allem, wenn man ein großes Archiv mit tar erstellt, dieses aber schon während der Erstellung in kleinere Teile aufsplitten will (vgl. Beispiel). Wie Sie die gesplitteten Dateien dann wieder zusammenfügen, lesen Sie in Kapitel 5.6.
- Aufruf: split [Optionen] EINGABE PRÄFIX
Parameter | Wirkung |
-b |
Legt die Größe (in Bytes) der einzelnen Dateien fest. Erlaubt sind aber auch Modifier wie »k« für Kilobyte und »m« für Megabyte. Wird dieser Parameter nicht angegeben, werden Dateien mit jeweils 60K erstellt. |
EINGABE |
Als Nächstes gibt man die aufzuteilende Datei an. Möglich ist aber auch das Lesen von der Standardeingabe, indem man »-« als Dateinamen benutzt oder den Parameter gleich ganz weglässt. |
PRÄFIX |
Das Prafix der zu erstellenden Dateinamen. Wird kein Präfix angegeben, wird das Präfix »x« verwendet. |
$ tar -cz buch.ps | split -b 25m – buch.tar.gz. $ du -sch buch.* 155M buch.ps 25M buch.tar.gz.aa 25M buch.tar.gz.ab 25M buch.tar.gz.ac 17M buch.tar.gz.ad
Listing C.10 Beispielanwendung
ssh
ssh ist der Client der Secure-Shell. Alle wichtigen Optionen und Informationen zu diesem Programm finden Sie in Kapitel 16.
sync
- Pfad: /bin/sync
- Nutzen: sync schreibt Daten, die noch nicht auf ein Medium geschrieben wurden, auf selbiges und erwirkt dadurch eine Synchronisation zwischen Speicher und Speichermedium.
- Hinweis(e): keine
tail
- Pfad: /bin/tail
- Nutzen: tail zeigt die letzten Zeilen einer Datei an.
- Hinweis(e): tail –123 und tail -n 123 haben dieselbe Wirkung.
Parameter | Wirkung |
-[n] |
Gibt die letzten [n] Zeilen aus. |
-n [n] |
Gibt ebenfalls die letzten [n] Zeilen aus. |
-f |
Wartet periodisch darauf, dass neue Daten in den Input-Stream geschrieben werden, die tail dann ausgibt. Dies eignet sich besonders beim Monitoring von Logfiles in einer Konsole, etwa mit tail -f /var/log/messages. |
tar
- Pfad: /bin/tar
- Nutzen: tar erzeugt (komprimierte) Archive von Dateien.
- Hinweis(e): Standardmäßig verwendet tar das Tape-Device. Falls man direkt auf Dateien zugreifen möchte, sollte man durch den Parameter -f eine Datei angeben. Unter der Tabelle ist ein Beispiel abgedruckt, das dies verdeutlichen soll.
Parameter | Wirkung |
-c |
Erzeugt ein neues Archiv. |
-r |
Fügt die angegebenen Dateien zu einem bestehenden Archiv hinzu. |
-t |
Zeigt den Inhalt eines Archivs an. |
-u |
Alias für -r. |
-x |
Entpackt ein Archiv. |
-C |
Setzt das Arbeitsverzeichnis. Dadurch werden die Dateien des Archivs in das entsprechende Verzeichnis entpackt bzw. aus diesem Verzeichnis archiviert. |
-f [a] |
Verweist auf die Datei [a]. Wird dieser Parameter nicht verwendet, benutzt tar das Tape-Device, also unter OpenBSD z. B. /dev/rst0. |
-H |
Folgt symbolischen Links, die in der Kommandozeile übergeben wurden. |
-h |
Folgt allen symbolischen Links, die in den Dateien vorgefunden werden, die archiviert werden sollen. |
-O |
Erzeugt »Old-style«-Archive. Achtung: Diese Archive sind nicht POSIX-konform. |
-P |
Löscht nicht den führenden Slash von Pfadnamen. |
-v |
Verbose-Modus. Das bedeutet, dass viele Details der Arbeit von tar ausgegeben werden. Entpackt man beispielsweise ein Archiv, werden alle Dateinamen auf STDOUT geschrieben. |
-X |
Überspringt Mountpoints. |
-Z |
(De)komprimiert Archive mittels compress (Endung ».tar.Z«). |
-z |
(De)komprimiert Archive mittels gzip (Endung ».tar.gz«, auch ».tgz«). |
-j |
(De)komprimiert Archive mittels bzip2 (Endung ».tar.bz2«). |
// Fehler: tar zeigt nicht den Inhalt der Archivdatei // an, sondern will auf das Tape-Device zugreifen. $ tar -t woodproject.tgz tar: Failed open to read on /dev/rst0: Permission denied // Folglich gibt man mit dem Parameter -f die // gewünschte Datei explizit an, doch... $ tar -tf woodproject.tgz tar: Cannot identify format. Searching... tar: Cpio file name length 5091 is out of range tar: Invalid header, starting valid header search. tar: Cpio file name length 54861 is out of range tar: Cpio file name length 63245 is out of range tar: Cpio file name length 44998 is out of range tar: Cpio file name length 14834 is out of range tar: Cpio file name length 63936 is out of range tar: Cpio file name length 4620 is out of range tar: Cpio file name length 42438 is out of range tar: Cpio file name length 3242 is out of range tar: Cpio file name length 34505 is out of range tar: Cpio file name length 59605 is out of range tar: Cpio file name length 3816 is out of range tar: Cpio file name length 7723 is out of range tar: Cpio file name length 41301 is out of range tar: Cpio file name length 60084 is out of range tar: Cpio file name length 63282 is out of range tar: Cpio file name length 27283 is out of range tar: Cpio file name length 3874 is out of range tar: Cpio file name length 18878 is out of range tar: Cpio file name length 13728 is out of range tar: Cpio file name length 39780 is out of range tar: Cpio file name length 39233 is out of range tar: Cpio file name length 42478 is out of range tar: Cpio file name length 51708 is out of range tar: Cpio file name length 34737 is out of range tar: End of archive volume 1 reached // ... da tar-Archive typischerweise durch das gzip- // Programm komprimiert werden, muss noch die Art der // Komprimierung an tar übergeben werden: in diesem // Fall der Parameter -z. $ tar -tzf woodproject.tgz 1.jpg 10.jpg 11.jpg 12.jpg 13.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg 9.jpg index.html thumbs thumbs/1.jpg thumbs/10.jpg thumbs/11.jpg thumbs/12.jpg thumbs/13.jpg thumbs/2.jpg thumbs/3.jpg thumbs/4.jpg thumbs/5.jpg thumbs/6.jpg thumbs/7.jpg thumbs/8.jpg thumbs/9.jpg
Listing C.11 tar verwenden
touch
- Pfad: /usr/bin/touch
- Nutzen: touch ändert die Zugriffs- und Modifikationszeit von Dateien.
- Hinweis(e): Wird touch ein nicht existierender Dateiname übergeben, wird dieser erstellt. touch wurde mit AT&T Unix 7 eingeführt.
Parameter | Wirkung |
-a |
Ändert die Zugriffszeit (access time) der Datei. |
-c |
Für den Fall, dass eine Datei nicht existiert, wird sie nicht erstellt. |
-f |
Versucht, ein Update zu erzwingen, wenn es die Zugriffsrechte nicht zulassen sollten. |
-m |
Ändert die Modifikationszeit (modification time) der Datei. |
-r [Datei] |
Passt die Zugriffszeit der der übergebenen Datei an. |
-t |
Setzt die Zugriffs- und Modifikationszeit entsprechend einer Angabe der Form [[CC]YY]MMDDhhmm[.SS]. |
tr
- Pfad: /bin/tr
- Nutzen: tr vertauscht Zeichen in Datenstreams.
- Hinweis(e): tr ist in Kapitel 5.2 genau erklärt.
tr werden zwei Parameter übergeben: zum einen eine Liste von zu ersetzenden Zeichen und zum anderen eine Liste von Zeichen, die stattdessen eingesetzt werden soll.
$ echo 'abc' | tr [ab] [qt] qtc $ echo 'qtc' | tr [qtc] [QTC] QTC
Listing C.12 Beispielanwendung von tr
uname
- Pfad: /bin/uname
- Nutzen: uname gibt Informationen zum Betriebssystem aus.
- Hinweis(e): Ohne Angabe eines Parameters wird das verwendete Betriebssystem angezeigt.
Parameter | Wirkung |
-a |
Die Kombination der Optionen -mnrsv |
-m |
Die Architektur des Systems |
-n |
Hostname |
-p |
Prozessor-Informationen |
-r |
Release des Betriebssystems |
-s |
Name des Betriebssystems |
-v |
Version des Betriebssystems (unter BSD der Kernel-Name mit Compile-Nummer, etwa EYGO#0) |
uniq
- Pfad: /usr/bin/uniq oder /bin/uniq
- Nutzen: uniq filtert redundante Zeilen aus einer Eingabe.
- Hinweis(e): Da uniq redundante Zeilen nur erkennt, wenn sie direkt hintereinander stehen, muss eine Eingabe eventuell vorher mit sort sortiert werden. Des Weiteren werden unter BSD nur die Nicht-GNU-Optionen (mit einem Strich) unterstützt.
Parameter | Wirkung |
--version |
Gibt die Programmversion aus. |
--help |
Gibt einen Hilfstext aus. |
-c, --count |
Zählt die Vorkommen einer Zeile und gibt diese aus. |
-d, --repeated |
Gibt nur mehrfach vorhandene Zeilen aus (eine Ausgabe pro Redundanzzeile). |
-D, --all-repeated |
Gibt alle nur mehrfach vorhandenen Zeilen aus. |
-f N, -N, --skip-fields=N |
Überspringt die ersten N Felder. |
-i, --ignore-case |
Macht keine Unterschiede zwischen Groß-/Kleinschreibung. |
-s N, +N, --skip-chars=N |
Die ersten N Zeichen werden nicht in den Vergleich mit einbezogen. |
-u, --uniq |
Gibt nur die Zeilen aus, die nicht mehrfach vorhanden sind. |
-w, --check-chars=N |
Vergleicht maximal N Zeichen pro Zeile. |
uptime
- Pfad: /usr/bin/uptime
- Nutzen: uptime gibt die Uptime des Systems (d. h., wie lange das System schon läuft), die Anzahl der angemeldeten Benutzer sowie die aktuelle Last aus.
- Hinweis(e): keine.
vi
- Pfad: /usr/bin/vi
- Nutzen: vi ist ein beliebter Texteditor.
- Hinweis(e): Der vi wird ausführlich in Kapitel 6.2 beschrieben.
w
- Pfad: /usr/bin/w
- Nutzen: w gibt Informationen über die momentan angemeldeten Benutzer aus.
- Hinweis(e): keine
Parameter | Wirkung |
-a |
Übersetzt Netzwerkadressen in Hostnamen. |
-h |
Gibt nicht die Kopfzeile (Ausgabe von uname) aus. |
-i |
Die Ausgabe wird nach der idle-time, also der Inaktivitätszeit der Benutzer, sortiert. |
wc
- Pfad: /usr/bin/c
- Nutzen: wc gibt Informationen über einen Dateiinhalt aus.
- Hinweis(e): keine
Parameter | Wirkung |
-c |
Zählt die Anzahl der Bytes in einer Datei. |
-l |
Zählt die Anzahl an Zeilen in einer Datei. |
-m |
Zählt die Anzahl an Zeichen in jeder Datei. |
-w |
Zählt die Anzahl an Wörtern in einer Datei. |
whatis
Siehe man.
who
- Pfad: /usr/bin/who
- Nutzen: who gibt Informationen über die momentan angemeldeten Benutzer aus.
- Hinweis(e): keine
Parameter | Wirkung |
-H |
Gibt Überschriften für die tabellarische Ausgabe aus. |
-m |
Gibt nur Informationen über das aktuelle Terminal aus. Diese Ausgabe wird auch durch den Befehl who am i erreicht. |
-q |
Kurzer Ausgabemodus |
-T |
Gibt zusätzliche Informationen darüber aus, ob ein Terminal schreibbar (+) ist oder nicht (-). |
-u |
Gibt für jeden Nutzer die Inaktivitätszeit an. |
yes
- Pfad: /usr/bin/yes
- Nutzen: yes bestätigt Konsolen-Fragen periodisch mit einem »y« (yes).
- Hinweis(e): Wird ein Zeichen als Parameter übergeben, wird anstelle des »y« das jeweilige Zeichen angegeben.