Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
TEIL I: Einstieg in Linux
2 Die Installation
3 Erste Schritte
4 Linux als Workstation für Einsteiger
TEIL II: Grundlagen
5 Kernel
6 Grundlagen aus Anwendersicht
TEIL III: Die Shell
7 Die Shell
8 Reguläre Ausdrücke
9 Konsolentools
10 Die Editoren
11 Shellskriptprogrammierung mit der bash
12 Die C-Shell
TEIL IV: System- & Netzwerkadministration
13 Benutzerverwaltung
14 Grundlegende Verwaltungsaufgaben
15 Netzwerkgrundlagen
16 Anwendersoftware für das Netzwerk
17 Netzwerkdienste
18 Mailserver unter Linux
19 LAMP & Co.
20 DNS-Server
21 Secure Shell
TEIL V: Die grafische Oberfläche
22 Die grafische Oberfläche
23 Window-Manager und Desktops
24 X11-Programme
25 Multimedia und Spiele
TEIL VI: Systeminterna
26 Prozesse und IPC
27 Bootstrap und Shutdown
28 Dateisysteme
29 Virtualisierung und Emulatoren
TEIL VII: Programmierung und Sicherheit
30 Softwareentwicklung
31 Crashkurs in C und Perl
32 Einführung in Computersicherheit
33 Netzwerksicherheit überwachen
TEIL VIII: Anhang
A Lösungen zu den einzelnen Aufgaben
B Kommandoreferenz
C X11-InputDevices
D MBR
E Buch-DVDs
F Glossar
G Literatur
Stichwort

Jetzt Buch bestellen
Ihre Meinung?

Spacer
Linux von Johannes Plötner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
Rheinwerk Computing
1282 S., 5., aktualisierte Auflage 2012, geb., mit 2 DVDs
49,90 Euro, ISBN 978-3-8362-1822-1
Pfeil B Kommandoreferenz

B KommandoreferenzZur nächsten Überschrift

Die Idee

Diese Kommandoreferenz bietet Ihnen eine Übersicht über die wichtigsten Linux- und BSD-Befehle und ihre wichtigsten Optionen. Einige dieser Programme sind nicht auf allen Systemen verfügbar, bei anderen sind nicht alle Parameter auf jedem System verfügbar oder heißen jeweils anders. [Fn. 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 Skripte auch nur diese Optionen verwenden sollten.

alias

  • Pfad: Shell-Builtin
  • Nutzen: alias erstellt eine Kurzform für (komplexe) Kommandos.
  • Hinweis: Die Parameter, die von alias unterstützt werden, hängen von der Implementierung in der jeweiligen Shell ab, da alias shellintern ist. Näheres zu diesem Befehl erfahren Sie in Kapitel 7.

Das folgende Beispiel zeigt die interaktive Benutzung von alias in der bash-Shell, um ein Alias für das ps-Kommando einzurichten:

Listing B.1 alias verwenden

$ alias
alias ls='ls --color=auto'
$ p
p: command not found
$ alias p='ps'
$ p
PID TTY TIME CMD
2341 pts/0 00:00:00 bash
6257 pts/0 00:00:00 ps
$ alias
alias ls='ls --color=auto'
alias p='ps'

apropos

Siehe man.

awk

  • Pfad: /usr/bin/awk
  • Nutzen: awk ist ein Streameditor und eine Skriptsprache.
  • Hinweis: awk wird in den Kapiteln 9 und 11 im Detail besprochen bzw. verwendet.

bc

  • Pfad: /usr/bin/bc
  • Nutzen: bc ist ein programmierbarer Taschenrechner für die Konsole.
  • Hinweis: Der bc wird in Kapitel 7, »Shellskriptprogrammierung«, behandelt.

Das folgende Beispiel zeigt die interaktive Verwendung von bc:

Listing B.2 bc verwenden

$ bc
bc 1.06.94
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software
Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+1

2
quit

$

cal

  • Pfad: /usr/bin/cal
  • Nutzen: cal gibt einen Kalender auf der Konsole aus.
  • Hinweis: cal wird im Regelfall mit einer vierstelligen Jahreszahl aufgerufen, der Monat wird hingegen zweistellig angegeben.

Wenn cal ohne Parameter aufgerufen wird, gibt es den aktuellen Monat aus. Möchte man einen anderen Monat ausgeben lassen, so müssen sowohl Monat (zweistellig), als auch Jahr (vierstellig, sonst A.D.) angegeben werden. Es kann auch nur ein vierstelliges Jahr ohne Monat angegeben werden, um den gesamten Jahreskalender anzeigen zu lassen.

Listing B.3 cal gibt den Oktober 1984 aus.

$ cal 10 1984
Oktober 1984
So Mo Di Mi Do Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

cd

  • Pfad: Shell-Builtin
  • Nutzen: cd wechselt das aktuelle Verzeichnis.
  • Hinweis: Im Normalfall wird nur das neue Verzeichnis als Argument angegeben.

Tabelle B.1 cd-Optionen

Parameter Wirkung

Verzeichnis

Wechselt das Arbeitsverzeichnis der Shell zu Verzeichnis.

-

Wechselt in das letzte Verzeichnis und macht damit den letzten cd-Aufruf rückgängig.

Das folgende Beispiel zeigt die Verwendung von cd:

Listing B.4 cd verwenden

$ pwd
/home/test1
$ cd /etc
$ pwd
/etc
$ cd -
$ pwd
/home/test1
$

compress

  • Pfad: /bin/compress
  • Nutzen: compress komprimiert Dateien.
  • Hinweis: Sehen Sie sich hierzu die Referenz zum gzip-Programm an. Beide Programme haben praktisch dieselben Parameter.

cp

  • Pfad: /bin/cp
  • Nutzen: cp kopiert Dateien.

Tabelle B.2 cp-Optionen

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.

QUELLE

Die Quelle des Kopiervorgangs. (Muss angegeben werden.)

Ziel

Das Ziel des Kopiervorgangs. (Muss angegeben werden.)

Das folgende Beispiel zeigt die Verwendung von cp, um das Unterverzeichnis Verzeichnis des aktuellen Arbeitsverzeichnisses nach /tmp zu kopieren:

Listing B.5 cp verwenden

$ cp -R ./Verzeichnis /tmp/

cut

  • Pfad: /bin/cut
  • Nutzen: cut schneidet Teile aus Zeilen der Eingabe.
  • Hinweis: cut ist in Abschnitt tools_cut_past_tr genau erklärt.

Tabelle B.3 cut-Optionen

Parameter Wirkung

-d ZEICHEN

Gibt ein Trennungszeichen (Delimiter) an.

-f FELDER

Selektiert, welche (durch die Trennungszeichen markierten) Felder ausgeschnitten werden sollen.

[DATEI]

Datei, die ausgewertet werden soll. Wird keine Datei angegeben, wird von der Standardeingabe gelesen.

Das folgende Beispiel zeigt die Verwendung von cut, um aus der Datei /etc/passwd das sechste durch das Zeichen »:« getrennte Feld (den Pfad zum Home-Verzeichnis des jeweiligen Benutzers) auszuschneiden und anzuzeigen:

Listing B.6 cut verwenden

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
[...]
$ cat /etc/passwd | cut -d ':' -f 6
/root
/usr/sbin
/bin
/dev
[...]

date

  • Pfad: /bin/date
  • Nutzen: date gibt die aktuelle Systemzeit aus und kann diese auch stellen.
  • Hinweis: Ohne Option wird die aktuelle Systemzeit samt Datum ausgegeben.

Tabelle B.4 date-Optionen

Parameter Wirkung

-r DATEI

Zeigt die letzte Änderung der Datei DATEI an.

-s ZEIT

Stellt die Uhrzeit sowie das Datum nach der Zeichenkette ZEIT. Diese Option ist root vorbehalten.

-u

Zeigt oder stellt die Zeit nach der UTC (Universal Time Coordinated).

Die Zeit wird im Format [[[[[[cc]yy]mm]dd]HH]MM[.SS]] gestellt. Für den 22.11.2005 19:06 Uhr und 40 Sekunden sieht das wie folgt aus:

Listing B.7 Datum und Zeit einstellen

# date 200511221906.40
Tue Nov 22 19:06:40 CET 2005

dig

  • Pfad: /usr/(s)bin/dig
  • Nutzen: dig sendet Anfragen an einen Nameserver.
  • Hinweis: 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.

Tabelle B.5 dig-Optionen

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 Resource Record man abfragen möchte (z. B. pop3.web.de).

[type]

Der Typ des Resource 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 Resource Records werden in Kapitel DNS_Kapitel besprochen.

-b [a]

Um die Absenderadresse eines Pakets festzulegen, wird der Parameter -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 (z. B. »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. Diese Sektion enthält die an den Server gestellten Anfragen.

Das folgende Beispiel zeigt die Verwendung von dig, um den öffentlichen DNS-Resolver von Google (IP 8.8.8.8) nach der Adresse von www.galileo-computing.de (85.88.3.146) zu fragen:

Listing B.8 dig verwenden

$ dig @8.8.8.8 www.galileo-computing.de

; <<>> DiG 9.6.1-P2 <<>> @8.8.8.8 www.galileo-computing.de
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32970
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.galileo-computing.de. IN A

;; ANSWER SECTION:
www.galileo-computing.de. 3600 IN A 85.88.3.146

;; Query time: 227 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Apr 9 20:26:27 2010
;; MSG SIZE rcvd: 58

dmesg

  • Pfad: /bin/dmesg
  • Nutzen: dmesg gibt die letzten Meldungen des Kernel-Ringpuffers aus.
  • Hinweis: Die Parameter für dmesg variieren zwischen Linux und BSD sehr stark und werden zudem nur äußerst selten verwendet. Wir haben uns an dieser Stelle für einen einzigen wichtigen Parameter der Linux-Implementierung entschieden.

Tabelle B.6 dmesg-Optionen

Parameter Wirkung

-r

Gibt Rohmeldungen aus (enthalten mehr Informationen).

egrep

  • Pfad: /usr/bin/egrep
  • Nutzen: egrep verhält sich wie grep -E.
  • Hinweis: Weitere Hinweise finden Sie im Eintrag zu grep.

Emacs

  • Pfad: /usr/bin/emacs
  • Nutzen: emacs ist ein beliebter Texteditor.
  • Hinweis: Der emacs wird ausführlich in Abschnitt kap_emacs beschrieben.

false

  • Pfad: /bin/false
  • Nutzen: false tut nichts und beendet sich mit dem Rückgabewert »1«. Siehe auch true.

fuser

  • Pfad: /bin/fuser
  • Nutzen: fuser gibt Auskunft über Prozesse, die Dateien verwenden.

fuser wird mit dem zu prüfenden Pfadnamen bzw. Dateinamen aufgerufen und gibt eine Liste der Prozesse aus, die diesen Pfad bzw. diese Datei verwenden. Hinter jeder ausgegebenen Prozess-ID können sich Buchstaben aus der folgenden Tabelle befinden.

Tabelle B.7 fuser-Zeichen

Zeichen Bedeutung

c

Der Pfad ist das Arbeitsverzeichnis des Prozesses.

e

Es handelt sich um ein derzeitig ausgeführtes Binary.

f

Es handelt sich um eine geöffnete Datei (wird nur bei detaillierter Ausgabe angezeigt).

F

Wie f, allerdings ist die Datei zum Schreiben geöffnet.

r

das Root-Verzeichnis /

m

memory-mapped-Datei oder dynamische Bibliothek

Tabelle B.8 fuser-Optionen

Parameter Wirkung

-a

Gibt auch Dateien aus, die derzeit nicht von Prozessen verwendet werden (andernfalls sind diese nicht in der Ausgabe enthalten, obwohl sie als Parameter übergeben worden sind).

-k

Beendet Prozesse (über das SIGKILL-Signal), die die angegebene Datei benutzen. Das Signal kann durch -S verändert werden, wobei S die Ziffer des Signals ist.

-i

Fragt vor Beendigung eines Prozesses den Benutzer nach einer Bestätigung.

-l

Listet alle bekannten Signale auf.

-m

Wird für eingehängte Dateisysteme verwendet und gibt Informationen zu allen verwendeten Dateien des Dateisystems.

-n [space]

Wechselt den Namespace (damit ist die Art des Dateityps gemeint). Der Standard-Namespace ist file (Dateien im Dateisystem). Weiterhin gibt es udp für UDP-Sockets und tcp für TCP-Sockets. Für UDP- und TCP-Sockets können Adressen und Ports angegeben werden.

-u

Benutzername zum Prozess ausgeben

-v

detaillierte Ausgabe

-V

Versionsnummer ausgeben

–4

nur nach IPv4-Verbindungen (Sockets) suchen

–6

nur nach IPv6-Verbindungen suchen

Beispiel 1: Nehmen wir an, eine Netzwerkverbindung via Telnet-Client würde den lokalen Quellport 38141 benutzen. Wir wüssten allerdings nur, dass dieser TCP-Port von einem Programm verwendet wird. Mit fuser können wir weitere Informationen zum Prozess erhalten:

Listing B.9 Informationen zur Verbindung von TCP-Port 38141

$ netstat -an | grep 40386
tcp6 0 0 ::1:40386 ::1:22 VERBUNDEN
tcp6 0 0 ::1:22 ::1:40386 VERBUNDEN
$ fuser -va -n tcp 40386
USER PID ACCESS COMMAND
40386/tcp: swendzel 4895 F.... telnet
Beispiel 2: Anzeigen aller verwendeten Dateien in /tmp inklusive Informationen zum Benutzer, dem der jeweilige Prozess gehört.

Listing B.10 Prozesse, die /tmp/* verwenden

$ fuser -avu /tmp
USER PID ACCESS COMMAND
/tmp: swendzel 1578 ..c.. (swendzel)seahorse-agent

grep

  • Pfad: /usr/bin/grep
  • Nutzen: grep durchsucht Texte nach regulären Ausdrücken.
  • Hinweis: Das Programm wird in Abschnitt Abschnitt_grep genau besprochen.

Tabelle B.9 grep-Optionen

Parameter Wirkung

-b

Gibt das Offset der gefundenen Stelle im Input-Stream oder in der Input-Datei aus.

-E

Behandelt den regulären Ausdruck als erweiterten regulären Ausdruck. Damit können mehrere Muster parallel angegeben werden, womit sich grep wie egrep verhält.

-f [f]

Liest von der Eingabedatei [f].

-I

Überspringt binäre Dateien.

-n

Vergibt Zeilennummern für die Ausgabe.

[DATEI]

Datei, die ausgewertet werden soll. Wird keine Datei angegeben, wird von der Standardeingabe gelesen.

Das folgende Beispiel zeigt die Verwendung von grep, um in der Ausgabe von ps aux einen bestimmten Prozess zu finden:

Listing B.11 grep verwenden

$ ps aux | grep bash
1000 2117 0.0 0.3 6508 3800 pts/0 Ss 20:12 0:00 bash

GRUB

  • Pfad: /sbin/grub
  • Nutzen: grub dient zur Modifikation des Master Boot Records.
  • Hinweis: Das Programm wird in Kapitel 27, »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.
  • Hinweise:
    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 alles in Ordnung.
    3. Die einzelnen Kompressionsformate sind in den RFCS 1950 bis 1952 beschrieben.
    4. Übrigens steht bei OpenBSD das »g« in gzip für »gratis«.

Tabelle B.10 Optionen

Parameter Wirkung

-V

Zeigt die Programmversion an.

-c

Die komprimierte bzw. dekomprimierte Ausgabe wird auf die Standardausgabe und nicht in eine Datei geschrieben

(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

quiet-mode. Es werden keine Informationen ausgegeben.

-v

verbose-mode. Es werden ausführliche Informationen ausgegeben.

[DATEI]

Datei, die bearbeitet werden soll. Wird keine Datei angegeben, wird von der Standardeingabe gelesen.

Das folgende Beispiel zeigt die Verwendung von gzip, um eine Datei zu komprimieren:

Listing B.12 gzip verwenden

$ gzip myfile
$ ls
myfile.gz
$ gzcat myfile.gz
Das ist der Inhalt der myzfile-Datei.
Test, Test, Test.
$ gunzip myfile.gz
$ ls
myfile

head

  • Pfad: /bin/head
  • Nutzen: head zeigt die ersten Zeilen einer Datei an.
  • Hinweis: head –123 und head -n 123 haben dieselbe Wirkung.

Tabelle B.11 head-Optionen

Parameter Wirkung

-[n]

Gibt die ersten [n] Zeilen aus.

-n [n]

Gibt ebenfalls die ersten [n] Zeilen aus.

[DATEI]

Datei, die ausgewertet werden soll. Wird keine Datei angegeben, wird von der Standardeingabe gelesen.

Das folgende Beispiel zeigt die Verwendung von head, um die ersten vier Zeilen aus der Datei /etc/passwd anzuzeigen:

Listing B.13 head verwenden

$ head -n 4 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
$

hexdump

  • Pfad: /usr/bin/hexdump
  • Nutzen: hexdump gibt einen Dateiinhalt in verschiedenen Formen aus.

Tabelle B.12 hexdump-Optionen

Parameter Wirkung

-d

2-Byte-Ausgabe in dezimaler Form

-o

2-Byte-Ausgabe in oktaler Form

-v

Gibt jede Eingabezeile aus. Tauchen mehrfache Wiederholungen auf, so würde hexdump sonst nur das *-Zeichen ausgeben.

-x

hexadezimale Ausgabe

[DATEI]

Datei, die ausgegeben werden soll. Wird keine Datei angegeben, wird von der Standardeingabe gelesen.

Das folgende Beispiel zeigt die Verwendung von hexdump, um einen per dd ausgelesenen Masterbootrecord (MBR) anzuzeigen:

Listing B.14 hexdump verwenden

# dd bs=512 count=1 if=/dev/sda of=mbr.txt
1+0 Datensätze ein
1+0 Datensätze aus
512 Bytes (512 B) kopiert, 0,000144292 s, 3,5 MB/s
# hexdump mbr.txt
0000000 48eb d790 00bc bb7a 07a0 db8e c38e 00be
0000010 8b02 fcce a4f3 a3ea a000 b907 0004 fd8b
[...]

host

  • Pfad: /usr/bin/host
  • Nutzen: host löst DNS-Namen in IP-Adressen auf und umgekehrt.
  • Aufruf: host NAME/IP [NAMESERVER]

Tabelle B.13 host-Optionen

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.

Das folgende Beispiel zeigt die Verwendung von host, um den öffentlichen DNS-Resolver von Google (die IP 8.8.8.8) nach der IP-Adresse von www.galileo-computing.de (85.88.3.146) zu fragen:

Listing B.15 host verwenden

$ host www.galileo-computing.de 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:

www.galileo-computing.de has address 85.88.3.146
Im folgenden Beispiel wird der Reverse Record zur IP 85.88.3.146 angefragt:

Listing B.16 host verwenden, Teil 2

$ host 85.88.3.146
146.3.88.85.in-addr.arpa domain name pointer grobi.galileo-press.de.

hostname

  • Pfad: /bin/hostname
  • Nutzen: hostname gibt den Hostnamen des Systems aus oder ändert ihn.
  • Hinweis: Bei der Änderung des Hostnamens wird keine Veränderung an einem Nameserver vorgenommen; die Änderung beschränkt sich auf das lokale System. Eine Änderung des Hostnamens sehen Sie im Shellprompt übrigens erst nach dem Öffnen einer neuen Shell.

Tabelle B.14 hostname-Optionen

Parameter Wirkung

}

Wird hostname ohne Parameter aufgerufen, wird der FQDN-Hostname des Systems ausgegeben.

[NAME]

Wird hostname mit einem Parameter aufgerufen, so wird der Hostname entsprechend dem Parameter geändert.

-s

Gibt nur den Hostnamen selbst (ohne Domain) aus.

Das folgende Beispiel zeigt die Verwendung von hostname, um den lokalen Hostnamen zu setzen und auszugeben:

Listing B.17 hostname verwenden

root@laptop# hostname
laptop
root@laptop# hostname rechenknecht
root@laptop# hostname
rechenknecht
root@laptop# bash
root@rechenknecht#

info

  • Pfad: /usr/bin/info
  • Nutzen: info zeigt GNU-Infoseiten an.
  • Hinweis: Im Allgemeinen wird info mit dem zu erläuternden Befehl als Argument aufgerufen.

kill

  • Pfad: /bin/kill
  • Nutzen: kill sendet Signale an Prozesse.
  • Hinweis: Oft wird kill nur zum Beenden von Prozessen genutzt – das Programm kann aber noch deutlich mehr.
  • Aufruf: kill [-SIG] PID [PID2...]

Tabelle B.15 kill-Optionen

Parameter Wirkung

[-SIG]

Optional: Gibt an, welches Signal kill an den Prozess senden soll. Wird dieser Parameter weggelassen, so wird ein SIGTERM gesendet, was den Prozess »freundlich« zum Beenden auffordert (mehr über Signale erfahren Sie in Abschnitt kap_signale.)

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.

Das folgende Beispiel zeigt die Verwendung von kill, um das SIGKILL-Signal an den Prozess mit der Nummer 12345 zu schicken:

Listing B.18 kill verwenden

$ ps aux | grep xterm
1000 12345 1.1 0.5 11140 5764 ? S 21:35 0:00 xterm
$ kill –9 12345
$ ps aux | grep xterm
$

killall

  • Pfad: /usr/bin/killall
  • Nutzen: killall funktioniert genau wie kill, mit dem Unterschied, dass man auch Prozessnamen anstelle der PID angeben kann.
  • Hinweis: Der Aufruf von killall -SIG PROZESS ist äquivalent zu kill -SIG `pidof PROZESS`.

Das folgende Beispiel zeigt die Verwendung von killall, um das SIGKILL-Signal an alle Prozesse mit dem Namen xterm zu schicken:

Listing B.19 killall verwenden

$ ps aux | grep xterm
1000 12345 1.1 0.5 11140 5764 ? S 21:35 0:00 xterm
$ killall –9 xterm
$ ps aux | grep xterm
$

lilo

  • Pfad: /sbin/lilo
  • Nutzen: lilo dient zur Modifikation des Master Boot Records.
  • Hinweis: Das Programm wird in Kapitel KapBootstrapShutdown, »Bootstrap und Shutdown«, besprochen. In vielen Distributionen wurde lilo durch grub ersetzt. grub wird ebenfalls in Kapitel KapBootstrapShutdown besprochen.

ln

  • Pfad: /bin/ln
  • Nutzen: ln erzeugt Links.
  • Hinweis: Es können sowohl Hardlinks als auch Softlinks (symbolische Links) erstellt werden.

Tabelle B.16 ln-Optionen

Parameter Wirkung

-s

Erstellt einen symbolischen Link.

-h/-n

Wenn das Ziel ein symbolischer Link auf ein Verzeichnis ist, so wird dieser nicht verfolgt.

-v

Gibt aus, von welcher Datei und zu welcher Datei ein Link erzeugt wurde.

Das folgende Beispiel zeigt die Verwendung von ln, um einen symbolischen Link auf foo zu erzeugen, der bar heißt.

Listing B.20 ln verwenden

$ touch foo
$ ln -s foo bar
$ ls -al foo bar
lrwxrwxrwx 1 jploetner jploetner 3 2010-04-09 21:40 bar -> foo
-rw-r--r-- 1 jploetner jploetner 0 2010-04-09 21:40 foo

logger

  • Pfad: /usr/bin/logger
  • Nutzen: logger protokolliert Meldungen mit syslogd. Verwendung findet das Programm besonders in der Shellskriptprogrammierung.

Tabelle B.17 logger-Optionen

Parameter Wirkung

-i

Prozess-ID loggen

-f [d]

Meldung in Datei d schreiben

-p [pr]

Die Priorität pr verwenden. pr setzt sich dabei aus der Facility und dem Level, etwa system.notice, zusammen (siehe Abschnitt Syslog).

-s

Meldung zusätzlich auf die Standardfehlerausgabe schreiben

Das folgende Beispiel zeigt die Verwendung von logger, um eine Meldung in die Datei /var/log/messages zu schreiben.

Listing B.21 logger verwenden

$ tail -n 1 /var/log/messages
Apr 12 21:21:00 laptop pulseaudio[1605]: ratelimit.c: 1 events
suppressed
$ logger "Test"
$ tail -n 1 /var/log/messages
Apr 12 21:21:26 laptop jploetner: Test
$ logger -I "Test 2"
$ tail -n 1 /var/log/messages
Apr 12 21:22:52 laptop jploetner[5089]: Test 2

ls

  • Pfad: /bin/ls
  • Nutzen: ls Listet den Inhalt eines Verzeichnisses auf.
  • Hinweis: Viele Optionen funktionieren nur in Verbindung mit der -l-Option.

Tabelle B.18 ls-Optionen

Parameter Wirkung

-a

Zeigt versteckte Dateien an.

-h

Gibt die Dateigröße auf eine sinnvolle Größe gerundet (KB oder MB) aus.

-i

Gibt die Inode-Nummer einer Datei aus.

-l

Gibt ausführliche Informationen zu den Dateien aus.

-m

Gibt die Dateinamen durch Kommata getrennt 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 jedem Verzeichnisnamen aus.

-R

Gibt die Unterverzeichnisse rekursiv aus.

-r

Dreht die Ausgabereihenfolge um (nützlich bei -t und -S).

-S

Sortiert die Dateien nach Größe in absteigender Reihenfolge.

-T

Gibt ausführliche Timestamp-Informationen für jede Datei aus.

-t

Zeigt die Dateien nach ihrem Timestamp sortiert an, wobei die aktuellen Timestamps zuerst ausgegeben werden.

DATEI ...

Optional kann man ls den Pfad bzw. das passende Muster zu Verzeichnissen oder Dateien übergeben, die man anzeigen lassen will. Wird nichts angegeben, gibt ls den Inhalt des aktuellen Verzeichnisses aus.

Das folgende Beispiel zeigt die Verwendung von ls, um verschiedene Dateien in einem Verzeichnis anzuzeigen:

Listing B.22 ls verwenden

$ ls
bd CVS icmp_backdoor.h iphdr.cpp Makefile
bdclient icmp_backdoor.c icmpbd_cli.cpp iphdr.h
$ ls ip
iphdr.cpp iphdr.h
$ ls *cpp
icmpbd_cli.cpp iphdr.cpp
$ ls -al *cpp
-rw-r----- 1 jploetner jploetner 1648 2008-05-24 18:59 icmpbd_cli.cpp
-rw-r----- 1 jploetner jploetner 3059 2008-05-24 18:59 iphdr.cpp
$ ls /usr/
bin games include lib local sbin share src
$

make

  • Pfad: /usr/bin/make
  • Nutzen: make wird primär zur automatischen Übersetzung und Installation von Softwareprojekten verwendet.
  • Hinweis: Eine umfangreiche Beschreibung mit Anwendungsbeispielen zu make finden Sie in Abschnitt abschnittmake.

Tabelle B.19 make-Optionen

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, so kann man diese über den Parameter -f angeben.

-n

Mit diesem Parameter führt make keine Befehle aus, zeigt aber trotzdem an, was ausgeführt würde, wenn man make normal startete.

-t

Führt alle Befehle aus, aber unterdrückt explizit die Ausgabe, um welche Befehle es sich dabei handelt (vergleichbar mit dem @-Zeichen, das vor die einzelnen Befehle gestellt werden kann).

man

  • Pfad: /usr/bin/man
  • Nutzen: Mit man kann man Hilfeseiten (Manpages) betrachten.
  • Hinweis: Im Normalfall ruft man man mit dem Programm als Parameter auf, für das man die Hilfeseite angezeigt bekommen möchte.

Tabelle B.20 man-Optionen

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 Suchbegriff

Sucht alle Hilfeseiten mit »Suchbegriff« 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.
  • Hinweis(e): Weitere Informationen zu Anwendung von FIFOs finden Sie in Abschnitt kr_mkfifo_befehle. Technische Hintergründe können Sie in Kapitel ProzesseIPCKapitel, »Prozesse und IPC«, nachlesen.

Tabelle B.21 mkfifo-Optionen

Parameter Wirkung

-mode [Modus]

Setzt die Zugriffsrechte der Datei gemäß [Modus].

Das folgende Beispiel zeigt die Verwendung von mkfifo, um eine Named Pipe anzulegen und rudimentär zu benutzen:

Listing B.23 mkfifo verwenden

### Shell 1 ###
$ mkfifo test
$ ls -l test
prw-r--r-- 1 jploetner jploetner 0 2010-04-12 21:43 test
$ cat /etc/passwd > test
[Shell blockiert]


### Shell 2 ###
$ cat test
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
[...]

### Shell 1 ###
$ rm test

mv

  • Pfad: /bin/mv
  • Nutzen: mv ändert Dateinamen bzw. »verschiebt« Dateien in andere Verzeichnisse.

Tabelle B.22 mv-Optionen

Parameter Wirkung

-i

Wird eine existierende Datei durch einen mv-Aufruf überschrieben, so 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.

Das folgende Beispiel zeigt die Verwendung von mv:

Listing B.24 mv verwenden

$ mv -v DateiA DateiB
"DateiA" -> "DateiB"

named

  • Pfad: meist /usr/sbin/named
  • Nutzen: named ist der Standard-Nameserver der meisten Unix-artigen Systeme. Es handelt sich dabei um den im Buch besprochenen Dienst BIND.

Tabelle B.23 named-Optionen

Parameter Wirkung

-c

Soll nicht die Standardkonfigurationsdatei verwendet werden, so 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 Dämon-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]

Soll nicht der Standard-DNS-Port (53) verwendet werden, so 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: Dieses Programm gehört nicht zum Standardumfang aller Distributionen und BSD-Derivate.

Das folgende Beispiel zeigt die Verwendung von nl, um die Zeilen der Datei /etc/passwd zu nummerieren:

Listing B.25 nl verwenden

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
[...]
$ nl /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 daemon:x:1:1:daemon:/usr/sbin:/bin/sh
3 bin:x:2:2:bin:/bin:/bin/sh
4 sys:x:3:3:sys:/dev:/bin/sh
[...]

od

  • Pfad: /usr/bin/od
  • Nutzen: od kann Dateien in beispielsweise oktaler oder hexadezimaler Form anzeigen.
  • Hinweis: Siehe zu od Abschnitt cmd_od. od ist vergleichbar mit hexdump.

Tabelle B.24 od-Optionen

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 Gleitkomma-Form. Folgt auf diesen Buchstaben noch eine weitere Zahl, so bestimmt diese die Anzahl der Bytes, die für die Darstellung genutzt werden sollen.

Eine beispielhafte Ausgabe von od finden Sie in Anhang MBR, »MBR«.

paste

  • Pfad: /bin/paste
  • Nutzen: paste fügt Dateiinhalte zeilenweise anhand eines bestimmten Trennzeichens zusammen.
  • Hinweis: paste wird in Abschnitt tools_cut_past_tr genau erklärt.

Tabelle B.25 paste-Optionen

Parameter Wirkung

-d TRENNZEICHEN

Gibt (wie bei cut) das zu verwendende Trennzeichen an. Gibt man kein besonderes Trennzeichen an, wird per Tabulator getrennt.

[DATEI...]

Sinnvollerweise wird paste mit mindestens zwei Dateien aufgerufen, die es zusammenzufügen gilt. Eine Datei kann auch die Standardeingabe (»-«) sein.

Das folgende Beispiel zeigt die Verwendung von paste, um zwei einfache Dateien zusammenzufügen:

Listing B.26 paste verwenden

$ echo -e "a\nb" > test1
$ echo -e "1\n2\n3" > test2
$ cat test1
a
b
$ cat test2
1
2
3
$ paste test1 test2
a 1
b 2
3
$ paste -d':' test1 test2
a:1
b:2
:3

pidof

  • Pfad: /bin/pidof
  • Nutzen: pidof findet die Prozess-ID zu einem gegebenen Prozessnamen.
  • Hinweis: pidof wird in Abschnitt bsp_pidof erwähnt. Im Unterschied zu pgrep findet pidof nur die PID, zu der der angegebene Prozessname exakt passt.

Tabelle B.26 pidof-Optionen

Parameter Wirkung

[NAME]

pidof gibt standardmäßig die PID des als Parameter angegebenen Prozesses zurück.

-s

Gibt nur eine einzelne PID zurück (single-shot).

Das folgende Beispiel findet die PIDs aller offenen bash-Shells:

Listing B.27 pidof verwenden

$ ps aux | grep bash
1000 2341 0.0 0.3 6508 3552 pts/0 Ss 19:14 0:00 bash
1000 6019 1.8 0.3 6504 3776 pts/1 Ss+ 20:03 0:00 bash
1000 6037 1.1 0.3 6504 3780 pts/2 Ss+ 20:03 0:00 bash
1000 6055 1.1 0.3 6504 3776 pts/3 Ss+ 20:03 0:00 bash
$ pidof bash
6055 6037 6019 2341

$ pidof -s bash
6055

pwd

  • Pfad: /bin/pwd (bzw. Shell-Builtin)
  • Nutzen: pwd gibt das aktuelle Arbeitsverzeichnis (engl. working directory) aus.

Das folgende Beispiel zeigt die Verwendung von pwd:

Listing B.28 pwd verwenden

$ pwd
/home
$ cd jploetner
$ pwd
/home/jploetner

read

  • Pfad: shellintern
  • Nutzen: read liest Daten von STDIN oder aus einer Pipe/FIFO und speichert diese Werte in einer Variablen.
  • Hinweis: Nicht jede Shell unterstützt read. Nutzen können Sie read beispielsweise in der bash, zsh und pdksh. Auch die unterstützten read-Parameter sind in den verschiedenen Shells jeweils unterschiedlich.

scp

scp ist ein Client der Secure-Shell. Alle wichtigen Optionen und Informationen zu diesem Programm finden Sie in Kapitel Kap_SSH.

Das folgende Beispiel zeigt die Verwendung von scp, um ein Verzeichnis zu einem entfernten Server zu kopieren:

Listing B.29 scp verwenden

$ scp -r icmp/ jploetner@ploetner-it.de:~
The authenticity of host 'ploetner-it.de (89.110.147.184)' can't \
be established.
RSA key fingerprint is 7c:5a:49:c9:1d:63:ce:0d:6c:f4:f7:65:37:2d:76:da
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ploetner-it.de,89.110.147.184' (RSA) to \
the list of known hosts.
Password: [...]
bd 100 % 12KB 12.0KB/s 00:00
icmpbd_client.cpp 100 % 1648 1.6KB/s 00:00
Makefile 100 % 424 0.4KB/s 00:00
[...]

script

  • Pfad: /usr/bin/script
  • Nutzen: script erstellt ein Typescript [Fn. Ein Typescript ist eine akurate Aufzeichnung einer Session, die Start- und Endzeit, alle Eingaben und Ausgaben und gegebenenfalls sogar Timingdaten, also Verzügerungen bei Tastaturanschlägen etc., enthält.] einer Shell-Session.
  • Hinweis: Durch die Environment-Variable $SHELL kann eine Shell angegeben werden, die von script verwendet werden soll. Die aktuelle Aufzeichnung wird durch Strg + D beendet.

Tabelle B.27 script-Optionen

Parameter Wirkung

-a [DATEI]

Hängt die Ausgabe an das Ende der angegebenen Datei an.

-t

Gibt Timingdaten auf stderr aus. Wenn Sie diesen Parameter verwenden, leiten Sie

stderr idealerweise in eine Datei um.

 

[DATEI]

Das Typescript der aktuellen Session. Wird keine Datei angegeben, wird die Datei typescript erstellt.

Das folgende Beispiel zeigt die Verwendung von script, um ein Typescript einer Arbeitssession aufzuzeichnen. Gleichzeitig werden Timingdaten in der Datei timings gespeichert:

Listing B.30 script verwenden

$ script -t 2>timings
Script wurde gestartet, die Datei ist typescript
$ head -n 3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
$
Strg + D

Script wurde beendet, die Datei ist typescript

scriptreplay

  • Pfad: /usr/bin/scriptreplay
  • Nutzen: scriptreplay gibt ein per script aufgezeichnetes Typescript wieder.
  • Hinweis: Die aufgezeichneten Daten werden lediglich wiedergegeben, aber nicht noch einmal ausgeführt. Für eine entsprechende Wiedergabe sind aufgezeichnete Timingdaten erforderlich.

Tabelle B.28 scriptreplay-Optionen

Parameter Wirkung

TIMINGS

Gibt die Datei mit Timinginformationen an, die für die Wiedergabe verwendet werden soll.

[DATEI]

Das Typescript der abzuspielenden Session. Wird keine Datei angegeben, wird die Datei typescript wiedergegeben.

Das folgende Beispiel zeigt die Verwendung von scriptreplay, um ein vorher aufgezeichnetes Typescript wiederzugeben:

Listing B.31 scriptreplay verwenden

$ scriptreplay timings
$ head -n 4 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
$ exit
$

sed

  • Pfad: /bin/sed
  • Nutzen: sed ist ein nicht interaktiver Stream-Editor.
  • Hinweis: sed wird in Kapitel kap_regex genau besprochen. Eine Befehlsreferenz finden Sie in Abschnitt kr_sed_befehle, »sed-Befehle«.

seq

  • Pfad: /usr/bin/seq
  • Nutzen: seq gibt – basierend auf den übergebenen Parametern – eine Zahlenfolge aus.
  • Hinweis: Nützlich ist seq vor allem bei for-Schleifen in Shellskripten, wenn man automatisch eine lange Zahlenfolge durchlaufen will (siehe Beispiel aus Abschnitt cmd_seq).
  • Aufruf: seq ERSTE_ZAHL [ABSTAND] LETZTE_ZAHL

Tabelle B.29 seq-Optionen

Parameter Wirkung

ERSTE_ZAHL

die erste Zahl der Folge

ABSTAND

Dieser Parameter ist optional: Wird er angegeben, so ist die nächste Zahl der Folge um diesen Abstand größer.

LETZTE_ZAHL

Die letzte Zahl der Folge. Bis hierhin wird gezählt.

Das folgende Beispiel zeigt die Verwendung von seq:

Listing B.32 seq verwenden

$ seq 1 4
1
2
3
4
$ for i in `seq 1 2 9` ; do echo -n "$i " ; done
1 3 5 7 9

shutdown

  • Pfad: /sbin/shutdown
  • Nutzen: shutdown fährt das System herunter.
  • Hinweis: Kann im Normalfall nur von root aufgerufen werden.

Tabelle B.30 shutdown-Optionen

Parameter Wirkung

-r ZEIT

Startet nach dem Shutdown neu. Die Angabe von ZEIT ist entweder eine Zeichenkette, die eine Uhrzeit beschreibt, oder now.

-h

Wie -r; nur wird das System nicht wieder hochgefahren, sondern 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.

Tabelle B.31 sleep-Optionen

Parameter Wirkung

[Sekunden]

Gibt die Zeit in Sekunden an, die gewartet werden soll.

sort

  • Pfad: /bin/sort
  • Nutzen: sort sortiert die Eingabe.
  • Hinweis: 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.

Tabelle B.32 sort-Optionen

Parameter Wirkung

--version

Gibt die Programmversion aus.

--help

Gibt einen Hilfstext aus.

-b

Überspringt Leerzeichen am Anfang einer Zeile.

-d

Sortiert nur nach Leerzeichen und alphanumerischen Zeichen.

-g

Sortierung nach numerischem Wert

-u

Gibt nur die erste von mehreren identischen Zeilen aus.

Das folgende Beispiel zeigt die Verwendung von sort, um bestimmte Dateien nach ihrem Umfang in Zeilen zu sortieren:

Listing B.33 sort verwenden

$ wc -l anhg_*.tex | sort -b
...
59 anhg_dvd.tex
94 anhg_misc.tex
495 anhg_install.tex
901 anhg_loesungen.tex
1602 anhg_komref.tex
3151 insgesamt

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 und zum anderen die Datenquelle sowie das gewünschte Präfix. Als Ergebnis erhält man mehrere Dateien mit dem Namen »Präfixaa«, »Präfixab«, »Präfixac«, ... in der angegebenen Größe.
  • Hinweis: split kann sowohl existierende Dateien als auch Daten von der Standardeingabe verarbeiten. Nützlich ist dies vor allem, wenn man ein großes Archiv mit tar erstellt, dieses aber schon während der Erstellung in kleinere Teile aufsplitten will (siehe Beispiel). Wie Sie die gesplitteten Dateien dann wieder zusammenfügen, lesen Sie in Abschnitt dateien_zusammenfuegen.
  • Aufruf: split [Optionen] EINGABE PRÄFIX

Tabelle B.33 split-Parameter

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 60 kB 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.

Das folgende Beispiel zeigt die Verwendung von split, um ein Tar-Archiv gleich bei der Erstellung in mehrere gleiche Teile zu splitten:

Listing B.34 split verwenden

$ 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

ssh

  • Pfad: /usr/bin/ssh
  • Nutzen: ssh ist der Client der Secure-Shell.
  • Hinweis: Alle wichtigen Optionen und Informationen zu diesem Programm finden Sie in Kapitel Kap_SSH.

Das folgende Beispiel zeigt die Verwendung von ssh, um sich auf einem entfernten Rechner einzuloggen:

Listing B.35 ssh verwenden

$ ssh jploetner@somehost.xyz
Password: [...]
Last login: Sun Apr 18 15:24:41 2010 from [...]
__ ______ ____
.--.--.--.-----.| |--.| |_ |
| | | | -__|| _ || – |_| |_
|________|_____||_____||______|______|

Welcome Back.
jploetner@web01:~$ ls
...

sync

  • Pfad: /bin/sync
  • Nutzen: sync schreibt Daten, die noch nicht auf ein Medium geschrieben wurden, auf selbiges und erwirkt dadurch eine Synchronisation zwischen Hauptspeicher und Massenspeicher.

tail

  • Pfad: /bin/tail
  • Nutzen: tail zeigt die letzten Zeilen einer Datei an.
  • Hinweis: tail –123 und tail -n 123 haben dieselbe Wirkung.

Tabelle B.34 tail-Optionen

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. Dieser Parameter eignet sich besonders beim Monitoring von Logfiles in einer Konsole, z. B. mit tail -f /var/log/messages.

Das folgende Beispiel zeigt die Verwendung von tail, um sich die letzten drei Zeilen der Datei /etc/passwd ausgeben zu lassen:

Listing B.36 tail verwenden

$ tail -n 3 /etc/passwd
jploetner:x:1000:1000:Johannes Plötner,,,:/home/jploetner:/bin/bash
couchdb:x:113:116:CouchDB Administrator,,,:/var/lib/couchdb:/bin/bash
kernoops:x:114:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false
$

tar

  • Pfad: /bin/tar
  • Nutzen: tar erzeugt (ggf. komprimierte) Archive von Dateien.
  • Hinweis: 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 folgenden Tabelle finden Sie ein Beispiel, das den Nutzen dieses Parameters verdeutlicht.

Tabelle B.35 tar-Optionen

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, so 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. Diese Archive sind nicht POSIX- konform.

-P

Lässt den führenden Slash von Pfadnamen stehen.

-v

Verbose-Modus: Es werden viele Details der Arbeit von tar ausgegeben. Entpackt man beispielsweise ein Archiv, so 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).

Listing B.37 tar verwenden

// 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 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
...

touch

  • Pfad: /usr/bin/touch
  • Nutzen: touch ändert die Zugriffs- und Modifikationszeit von Dateien.
  • Hinweis: Wird dem Befehl touch der Name einer nicht existierenden Datei übergeben, so wird diese erstellt. touch wurde mit AT&T Unix 7 eingeführt.

Tabelle B.36 touch-Optionen

Parameter Wirkung

-a

Ändert die Zugriffszeit (Access Time) der Datei.

-c

Für den Fall, dass eine Datei nicht existiert, wird sie auch nicht erstellt.

-f

Versucht, ein Update zu erzwingen, falls die Zugriffsrechte es zunächst nicht zulassen.

-m

Ändert die Modifikationszeit (modification time) der Datei.

-r [Datei]

Passt die Zugriffszeit der Zeit der übergebenen Datei an.

-t

Setzt die Zugriffs- und Modifikationszeit entsprechend einer Angabe der Form [[CC]YY]MMDDhhmm[.SS].

Listing B.38 touch verwenden

$ ls -al test.txt
$ touch test.txt
$ ls -al test.txt
-rw-r--r-- 1 jploetner jploetner 0 2010-04-18 15:55 test.txt

tr

  • Pfad: /bin/tr
  • Nutzen: tr vertauscht Zeichen in Daten-Streams.
  • Hinweis(e): Siehe Abschnitt tools_cut_past_tr für eine ausführliche Erläuterung von tr.

Dem Kommando tr werden zwei Parameter übergeben: zum einen eine Liste der zu ersetzenden Zeichen und zum anderen eine Liste der Zeichen, die stattdessen eingesetzt werden sollen.

Listing B.39 tr verwenden

$ echo 'abca'
abca
$ echo 'abca' | tr [ab] [qt]
qtcq

$ echo 'qtcq' | tr [qtc] [QTC]
QTCQ

true

  • Pfad: /bin/true
  • Nutzen: true tut nichts und beendet sich mit dem Returnwert »0«. Siehe auch false.

uname

  • Pfad: /bin/uname
  • Nutzen: uname gibt Informationen zum Betriebssystem aus.
  • Hinweis: Ohne Angabe eines Parameters wird das verwendete Betriebssystem angezeigt.

Tabelle B.37 uname-Optionen

Parameter Wirkung

-a

Kombination der Optionen -mnrsv

-m

Architektur des Systems

-n

Hostname

-p

Prozessorinformationen

-r

Release des Betriebssystems

-s

Name des Betriebssystems

-v

Version des Betriebssystems (unter BSD der Kernel-Name mit Nummer der Übersetzung, z. B. EYGO#0)

Listing B.40 uname verwenden

$ uname -a
Linux laptop 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 05:23:09 UTC 2010 i686 GNU/Linux

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 diese direkt hintereinander stehen, muss eine Eingabe eventuell zunächst mit sort sortiert werden. Des Weiteren werden unter BSD nur die Nicht-GNU-Optionen (mit einem Strich) unterstützt.

Tabelle B.38 uniq-Optionen

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 Ausgabezeile pro Gruppe gleicher Eingabezeilen).

-D, --all-repeated

Gibt alle nur mehrfach vorhandenen Zeilen aus.

-f N, -N, --skip-fields=N

Überspringt die ersten N Felder.

-i, --ignore-case

Differenziert nicht 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.

Listing B.41 uniq verwenden

$ cut -f 5 -d ' ' /var/log/syslog | sort | uniq -c
2 acpid:
2 anacron[1243]:
4 anacron[1258]:
2 anacron[1536]:
[...]

uptime

  • Pfad: /usr/bin/uptime
  • Nutzen: uptime gibt die Uptime des Systems aus (d. h., wie lange das System schon läuft), die Anzahl der angemeldeten Benutzer sowie die aktuelle Last.

Listing B.42 uptime verwenden

$ uptime
16:22:59 up 131 days, 20:05, 1 user, load average: 0.00, 0.00, 0.00

vi

  • Pfad: /usr/bin/vi
  • Nutzen: vi ist ein beliebter Texteditor.
  • Hinweis(e): Der vi wird ausführlich in Abschnitt kap_vi beschrieben.

w

  • Pfad: /usr/bin/w
  • Nutzen: w gibt Informationen über die aktuell angemeldeten Benutzer aus.

Tabelle B.39 w-Optionen

Parameter Wirkung

-a

Übersetzt Netzwerkadressen in Hostnamen.

-h

Gibt die Kopfzeile (Ausgabe von uname) nicht aus.

-i

Die Ausgabe wird nach der Idle Time, also der Inaktivitätszeit der Benutzer, sortiert.

Das folgende Beispiel zeigt die Verwendung von w, um die aktuell angemeldeten Benutzer auszugeben:

Listing B.43 w verwenden

$ w
20:46:49 up 1:04, 2 users, load average: 0,00, 0,00, 0,00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
jploetne tty7 :0 19:43 ? 2:14 0.16s gnome-session
jploetne pts/0 :0.0 20:18 0.00s 0.30s 0.00s w

wc

  • Pfad: /usr/bin/wc
  • Nutzen: wc gibt Informationen über einen Dateiinhalt aus.

Tabelle B.40 wc-Optionen

Parameter Wirkung

-c

Zählt Bytes in einer Datei.

-l

Zählt Zeilen in einer Datei.

-m

Zählt Zeichen in jeder Datei.

-w

Zählt Wörter in einer Datei.

Das folgende Beispiel zeigt die Verwendung von wc, um die Dateien in einem Verzeichnis zu zählen:

Listing B.44 wc verwenden

$ ls | wc -l
123

whatis

Siehe man.

who

  • Pfad: /usr/bin/who
  • Nutzen: who gibt Informationen über die aktuell angemeldeten Benutzer aus.

Tabelle B.41 who-Optionen

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.

Das folgende Beispiel zeigt die Verwendung von who, um die aktuell angemeldeten Benutzer auszugeben:

Listing B.45 w verwenden

$ who
jploetner tty7 2010-04-18 19:43 (:0)
jploetner pts/0 2010-04-18 20:18 (:0.0)

whoami

  • Pfad: /usr/bin/whoami
  • Nutzen: whoami zeigt den Namen des Benutzers an, als der man derzeit effektiv arbeitet.

Das folgende Beispiel zeigt die Verwendung von whoami:

Listing B.46 w verwenden

# whoami
root

yes

  • Pfad: /usr/bin/yes
  • Nutzen: yes bestätigt Konsolenfragen periodisch mit einem »y« (yes).
  • Hinweis: Wird ein Zeichen als Parameter übergeben, so wird anstelle des »y« das jeweilige Zeichen angegeben.


Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


Zum Rheinwerk-Shop: Linux Server






 Linux Server


Zum Rheinwerk-Shop: Raspberry Pi






 Raspberry Pi


Zum Rheinwerk-Shop: Ubuntu 14.04 LTS






 Ubuntu 14.04 LTS


Zum Rheinwerk-Shop: Roboter bauen mit Arduino






 Roboter bauen
 mit Arduino


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2012
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern