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

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

Download:
- ZIP, ca. 15,7 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Linux von Johannes Pl&ouml;tner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
geb., mit 2 DVDs
1302 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1704-0
Pfeil B Kommandoreferenz

B Kommandoreferenz

Die Idee

Diese Kommandoreferenz bietet Ihnen eine Übersicht über die wichtigsten Linux- und BSD-Befehle und deren wichtigste 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. [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. % Shell-Kapitel

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

$ 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'

Listing B.1  alias verwenden

apropos

Siehe man.

awk

  • Pfad: /usr/bin/awk
  • Nutzen: awk ist ein Streameditor und eine Skriptsprache.
  • Hinweis: awk wird in den Kapitel 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:

$ 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
$

Listing B.2  bc verwenden

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

$ 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

Listing B.3  cal gibt den Oktober 1984 aus.

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:

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

Listing B.4  cd verwenden

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 aktuelle Unterverzeichnis Verzeichnis nach /tmp zu kopieren:

$ cp -R ./Verzeichnis /tmp/

Listing B.5  cp verwenden

cut

  • Pfad: /bin/cut
  • Nutzen: cut schneidet Teile aus Zeilen der Eingabe.
  • Hinweis: cut ist in Abschnitt 9.4 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 vom Zeichen »:« getrennte Feld (das Homeverzeichnis) auszuschneiden und anzuzeigen:

$ 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
[...]

Listing B.6  cut verwenden

date

  • Pfad: /bin/date
  • Nutzen: date gibt die aktuelle Systemzeit aus und kann diese auch setzen.
  • 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

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

-u

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


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 B.7  Datum und Zeit konfigurieren

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 Ressource-Record man abfragen möchte (z. B. 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 20 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:

$ 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

Listing B.8  dig verwenden

dmesg

  • Pfad: /bin/dmesg
  • Nutzen: dmesg gibt die letzten Meldungen des Kernel-Ringpuffers.
  • 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 nur 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 10.4 beschrieben.

false

  • Pfad: /bin/false
  • Nutzen: false tut nichts und beendet mit dem Returnwert »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 es sich um ein derzeitig ausgeführtes Binary.

f

Es handelt sich um eine geöffnete Datei (wird nur im Verbose-Mode 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 das Signal ist.

-i

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

-l

Listet alle bekannten Signale.

-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:

$ 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

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

Beispiel 2: Anzeigen aller verwendeten Dateien in /tmp inklusive Informationen zum Benutzer, dem der jeweilige Prozess gehört.

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

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

grep

  • Pfad: /usr/bin/grep
  • Nutzen: grep durchsucht Texte nach regulären Ausdrücken.
  • Hinweis: Das Programm wird in Abschnitt 8.3 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, wobei 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:

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

Listing B.11  grep verwenden

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 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 einer 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:

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

Listing B.12  gzip verwenden

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:

$ 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
$

Listing B.13  head verwenden

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 Input-Zeile 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:

# 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
[...]

Listing B.14  hexdump verwenden

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:

$ 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

Listing B.15  host verwenden

Im folgenden Beispiel wird der Reverse Record zur IP 85.88.3.146 angefragt:

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

Listing B.16  host verwenden, Teil 2

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:

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

Listing B.17  hostname verwenden

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 26.3.)

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:

$ 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
$

Listing B.18  kill verwenden

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:

$ 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
$

Listing B.19  killall verwenden

lilo

  • Pfad: /sbin/lilo
  • Nutzen: lilo dient zur Modifikation des Master Boot Records.
  • Hinweis: Das Programm wird in Kapitel 27, »Bootstrap und Shutdown«, besprochen. In vielen Distributionen wurde lilo durch grub ersetzt. grub wird ebenfalls in Kapitel 27 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.

$ 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

Listing B.20  ln verwenden

logger

  • Pfad: /usr/bin/logger
  • Nutzen: logger protokolliert Meldungen durch 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 14.4.2).

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

$ 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

Listing B.21  logger verwenden

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 (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 Kommas 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 in absteigender Reihenfolge.

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

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:

$ 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
$

Listing B.22  ls verwenden

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

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 werden würde, wenn man make normal starten würde.

-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 7.9.2. Technische Hintergründe können Sie in Kapitel 26, »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:

### 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

Listing B.23  mkfifo verwenden

mv

  • Pfad: /bin/mv
  • Nutzen: mv ändert Dateinamen bzw. »verschiebt« Dateien in andere Verzeichnisse. %Hinweis(e): keine

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:

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

Listing B.24  mv verwenden

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:

$ 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
[...]

Listing B.25  nl verwenden

od

  • Pfad: /usr/bin/od
  • Nutzen: od kann Dateien in beispielsweise oktaler oder hexadezimaler Form anzeigen.
  • Hinweis: Siehe zu od Abschnitt 9.10.3. 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 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.


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

paste

  • Pfad: /bin/paste
  • Nutzen: paste fügt Dateiinhalte zeilenweise über ein spezifizierbares Trennungszeichen zusammen.
  • Hinweis: paste wird in Abschnitt 9.4 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:

$ 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

Listing B.26  paste verwenden

pidof

  • Pfad: /bin/pidof
  • Nutzen: pidof findet die Prozess-ID zu einem gegebenen Prozessnamen.
  • Hinweis: pidof wird in Abschnitt 26.4.3 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:

$ 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

Listing B.27  pidof verwenden

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:

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

Listing B.28  pwd verwenden

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

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

$ 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
[...]

Listing B.29  scp verwenden

script

  • Pfad: /usr/bin/script
  • Nutzen: script erstellt ein Typescript [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 spezifiziert werden, die script verwenden 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 idealerweise stderr 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:

$ 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

Listing B.30  script verwenden

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:

$ 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
$

Listing B.31  scriptreplay verwenden

sed

  • Pfad: /bin/sed
  • Nutzen: sed ist ein nicht interaktiver Stream-Editor.
  • Hinweis: sed wird in Kapitel 8 genau besprochen. Eine Befehlsreferenz finden Sie in Abschnitt 8.2.3, »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 11.6.4).
  • 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:

$ 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 B.32  seq verwenden

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 durch numerischen 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:

$ 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

Listing B.33  sort verwenden

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 des Programms 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 9.8.
  • 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 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.


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

$ 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 B.34  split verwenden

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

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

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

Listing B.35  ssh verwenden

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.

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:

$ 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
$

Listing B.36  tail verwenden

tar

  • Pfad: /bin/tar
  • Nutzen: tar erzeugt (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).


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

Listing B.37  tar verwenden

touch

  • Pfad: /usr/bin/touch
  • Nutzen: touch ändert die Zugriffs- und Modifikationszeit von Dateien.
  • Hinweis: Wird dem Befehl touch ein nicht existierender Dateiname übergeben, so wird dieser 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 das Update 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].


$ 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

Listing B.38  touch verwenden

tr

  • Pfad: /bin/tr
  • Nutzen: tr vertauscht Zeichen in Daten-Streams.
  • Hinweis(e): Siehe Abschnitt 9.4 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.

$ echo 'abca'
abca
$ echo 'abca' | tr [ab] [qt]
qtcq
$ echo 'qtcq' | tr [qtc] [QTC]
QTCQ

Listing B.39  tr verwenden

true

  • Pfad: /bin/true
  • Nutzen: true tut nichts und beendet 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)


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

UTC 2010 i686 GNU/Linux

Listing B.40  uname verwenden

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

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.


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

Listing B.41  uniq verwenden

uptime

  • Pfad: /usr/bin/uptime
  • Nutzen: uptime gibt die Uptime des Systems aus (wie lange das System schon läuft), die Anzahl der angemeldeten Benutzer sowie die aktuelle Last.
$ uptime
16:22:59 up 131 days, 20:05,  1 user,  load average: 0.00, 0.00, 0.00

Listing B.42  uptime verwenden

vi

  • Pfad: /usr/bin/vi
  • Nutzen: vi ist ein beliebter Texteditor.
  • Hinweis(e): Der vi wird ausführlich in Abschnitt 10.2 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 nicht die Kopfzeile (Ausgabe von uname) 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:

$ 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

Listing B.43  w verwenden

wc

  • Pfad: /usr/bin/c
  • 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:

$ ls | wc -l
123

Listing B.44  wc verwenden

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:

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

Listing B.45  w verwenden

whoami

  • Pfad: /usr/bin/whoami
  • Nutzen: whoami zeigt den effektiven Benutzer an, unter dem man derzeit arbeitet.

Das folgende Beispiel zeigt die Verwendung von whoami:

# whoami
root

Listing B.46  w verwenden

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.


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Linux, Ausgabe 2011






Linux, Ausgabe 2011
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux-Server






 Linux-Server


Zum Katalog: Linux Hochverfügbarkeit






 Linux Hoch-
 verfügbarkeit


Zum Katalog: LPIC-1






 LPIC-1


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: openSUSE 11.2






 openSUSE 11.2


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2011
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.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de