46
Hans-Werner Heinl: Das Linux-Befehle-Buch

Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

  • Upload
    ngohanh

  • View
    243

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Hans-Werner Heinl: Das Linux-Befehle-Buch

Page 2: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon
Page 3: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Hans-Werner Heinl

Das Linux-Befehle-Buch

Page 4: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Alle in diesem Buch enthaltenen Programme, Darstellungen und Informationen wurdennach bestem Wissen erstellt und mit Sorgfalt getestet. Dennoch sind Fehler nicht ganz aus-zuschließen. Aus diesem Grund ist das in dem vorliegenden Buch enthaltene Programm-Material mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Autoren undVerlag übernehmen infolgedessen keine Verantwortung und werden keine daraus folgen-de Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses Programm-Materials, oder Teilen davon, oder durch Rechtsverletzungen Dritter entsteht.

Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in die-sem Buch berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dasssolche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zubetrachten wären und daher von jedermann verwendet werden dürften.

Alle Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt undsind möglicherweise eingetragene Warenzeichen. Der Verlag richtet sich im Wesentlichennach den Schreibweisen der Hersteller. Andere hier genannte Produkte können Warenzei-chen des jeweiligen Herstellers sein.

Dieses Werk ist urheberrechtlich geschützt.Alle Rechte, auch die der Übersetzung, des Nachdruckes und der Vervielfältigung desBuches, oder Teilen daraus, vorbehalten. Kein Teil des Werkes darf ohne schriftliche Ge-nehmigung des Verlages in irgendeiner Form (Druck, Fotokopie, Microfilm oder einemanderen Verfahren), auch nicht für Zwecke der Unterrichtsgestaltung, reproduziert oderunter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet wer-den.

Bibliografische Information Der Deutschen Bibliothek

Die Deutsche Bibliothek verzeichnet diese Publikation in der DeutschenNationalbibliografie; detaillierte bibliografische Daten sind im Internet überhttp://dnb.ddb.de abrufbar.ISBN 3-938626-01-1

© 2007 Nicolaus Millin Verlag GmbH, Lohmar (http://www.millin.de)

Umschlaggestaltung: Fritz Design GmbH, Erlangen

Gesamtlektorat: Nicolaus Millin

Fachlektorat:

Satz: LATEX

Druck: Gallus, Berlin

Printed in Germany on acid free paper.

Page 5: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

1 Einleitung 1

2 Die Shell 3

2.1 Einführung . . . . . . . . . . 3

2.2 Die Shell nutzen . . . . . . . . . 4

2.2.1 Nach der Anmeldung . . . . . . . 4

2.2.2 Befehle eingeben . . . . . . . . 5

2.2.3 Befehlshistorie . . . . . . . . 6

2.2.4 Befehls-Dokumentation . . . . . . 6

2.2.5 Befehls-Ergebnisse umleiten . . . . . 8

2.3 Besondere bash-Funktionen . . . . . . . 10

2.3.1 Maskierung und Quoting . . . . . . 10

2.3.2 Dateinamensubstitution . . . . . . 11

2.3.3 Kommandosubstitution . . . . . . 12

2.3.4 Gruppieren und Verknüpfen von Befehlen . . 12

2.4 Rechnen mit der bash . . . . . . . . 14

2.5 Mit Kontrollstrukturen arbeiten . . . . . . 18

2.5.1 Das Kommando test . . . . . . . 19

2.5.2 Iteration über eine Liste (for ) . . . . . 22

2.5.3 Iteration mit einem Zähler (for ) . . . . . 22

2.5.4 Iteration mit einer Laufbedingung (while ) . . 23

2.5.5 Iteration mit einer Abbruchbedingung (until ) . 24

2.5.6 Bedingte Ausführung von Anweisungen (if ) . . 24

V

Page 6: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

2.5.7 Bedingt Anweisungsgruppen ausführen (case ) . 26

2.5.8 Kontrollfluss steuern (break und continue ) . . 27

2.6 Shell-Skripte . . . . . . . . . . 28

2.6.1 Shell-Skripte ausführen . . . . . . 28

2.6.2 Shell-Skripte erstellen . . . . . . . 29

2.6.3 Parameter an Skripte übergeben . . . . . 30

2.6.4 Positions-Parameter in Schleifen verarbeiten . . 31

2.6.5 Interaktive Benutzereingabe mit read . . . 32

2.7 Übersicht: interne Shell-Kommandos . . . . . 33

3 Prozesse 35

3.1 Einführung . . . . . . . . . . 35

3.2 Prozesshierarchie und besondere Prozesse . . . . 37

3.2.1 Der Init-Prozess . . . . . . . . 37

3.2.2 verwaiste Prozesse . . . . . . . 38

3.2.3 Daemonprozesse . . . . . . . . 38

3.3 Laufende Prozesse anzeigen . . . . . . . 39

3.4 Mit Prozessen kommunizieren . . . . . . 40

3.4.1 Signale in Skripten mit trap abfangen . . . 44

3.5 Mit Jobs arbeiten . . . . . . . . . 45

3.6 Übersicht: Prozesse und Jobs steuern . . . . . 46

4 Dateisystem 49

4.1 Die Linux-Verzeichnishierarchie . . . . . . 49

4.2 Dateiarten . . . . . . . . . . . 51

4.3 Mit Dateien und Verzeichnissen arbeiten . . . . 52

4.3.1 Wechseln von Verzeichnissen mit cd . . . . 53

4.3.2 Inhalt von Verzeichnissen anzeigen mit ls . . 53

4.3.3 Kopieren mit cp . . . . . . . . 55

4.3.4 verschieben mit mv . . . . . . . 56

4.3.5 löschen mit rm und rmdir . . . . . . 57

4.3.6 Links erzeugen mit ln . . . . . . . 57

4.3.7 Suchen von Dateien mit find . . . . . 57

VI

Page 7: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

4.3.8 Übersicht: mit Dateien und Verzeichnissen arbeiten . 60

4.4 Datei-Berechtigungen steuern . . . . . . . 61

4.4.1 Rechte verändern mit chmod . . . . . 64

4.4.2 Rechtevoreinstellung mit umask . . . . . 65

4.4.3 Eigentümer festlegen mit chown und chgrp . . 67

4.5 Übersicht: Datei-Berechtigungen steuern . . . . 67

4.6 Daten sichern und archivieren . . . . . . 68

4.6.1 Einführung . . . . . . . . . 68

4.7 Übersicht: Daten sichern und archivieren . . . . 70

4.8 Mit Dateiinhalten arbeiten . . . . . . . 70

4.8.1 Reguläre Ausdrücke . . . . . . . 71

4.8.2 Dateien nach Inhalten durchsuchen mit grep . . 73

4.9 Übersicht: mit Dateiinhalten arbeiten . . . . . 74

4.10 Verwaltung des Dateisystems . . . . . . . 76

4.10.1 Linux-Dateisystemstruktur . . . . . . 77

4.10.1.1 technische Sicht auf das Dateisystem . . 77

4.10.1.2 Benutzersicht auf das Dateisystem . . 78

4.11 Übersicht: Verwaltung des Dateisystems . . . . 79

5 Systemverwaltung 81

5.1 Laufzeitumgebung und Sitzungsinformationen verwalten . 81

5.1.1 Einführung . . . . . . . . . 81

5.1.1.1 Shell-Variablen . . . . . . 81

5.1.1.2 Umgebungsvariablen . . . . . 83

5.1.1.3 Befehls-Alias erstellen . . . . . 85

5.1.1.4 Shell-Optionen . . . . . . 86

5.2 Übersicht: Laufzeitumgebung und Sitzungsinformationen verwal-ten . . . . . . . . . . . . 89

5.3 Benutzerverwaltung . . . . . . . . 90

5.3.1 Einführung . . . . . . . . . 90

5.3.2 Benutzer und Gruppen erstellen / löschen . . 91

5.3.2.1 Benutzer erstellen / löschen . . . . 91

5.3.2.2 Gruppen erstellen / löschen . . . 93

VII

Page 8: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

5.3.3 Benutzer-Einstellungen ändern . . . . . 94

5.3.4 Startskripte und Anmeldetexte . . . . . 94

5.4 Übersicht: Benutzerverwaltung . . . . . . 95

5.5 Druckumgebung verwalten . . . . . . . 97

5.6 Übersicht: Druckumgebung verwalten . . . . . 97

5.7 Netzwerkumgebung verwalten . . . . . . 98

5.7.1 Netzwerk . . . . . . . . . 98

5.7.2 Protokolle . . . . . . . . . 98

5.7.3 OSI-Referenzmodell . . . . . . . 101

5.7.4 IP-Adressierung . . . . . . . . 101

5.7.4.1 Adressklassen . . . . . . 103

5.7.4.2 Subnetzmasken . . . . . . 103

5.7.4.3 Beispiel 1 . . . . . . . 104

5.7.4.4 Beispiel 2 . . . . . . . 104

5.7.4.5 Beispiel 3 . . . . . . . 105

5.7.4.6 Beispiel 4 . . . . . . . 105

5.7.4.7 Broadcast . . . . . . . 105

5.7.4.8 Adressen vergeben . . . . . 106

5.7.5 Routing . . . . . . . . . . 107

5.7.6 Client/Server, Daemonen, Ports und Sockets . . 107

5.7.7 DNS (Domain-Name-Services) . . . . . 108

5.8 Übersicht: Netzwerkumgebung verwalten . . . . 109

5.9 Mail-Kommandos . . . . . . . . . 109

5.9.1 Einführung . . . . . . . . . 109

5.10 Übersicht: Mail-Kommandos . . . . . . . 111

5.11 Datum- und Zeit-Befehle . . . . . . . . 112

5.11.1 Einführung . . . . . . . . . 112

5.12 Übersicht: Datum- und Zeit-Befehle . . . . . 113

6 Befehlsübersicht a-z 115

6.1 Hinweise zu Befehlsoptionen . . . . . . . 115

6.1.1 Erläuterungen zur syntaktischen Beschreibung . . 115

6.1.2 Linux-Befehle . . . . . . . . 118

VIII

Page 9: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

alias (bash-builtin) . . . . . . . . 118

apropos (1) . . . . . . . . . . 118

at (1) atq (1) atrm (1) batch (1) . . . 119

awk (1) . . . . . . . . . . . 121

basename (1) . . . . . . . . . . 121

bg (bash-builtin) . . . . . . . . . 121

cal (1) . . . . . . . . . . . 122

cat (1) . . . . . . . . . . . 122

cd (bash builtin) . . . . . . . . . 123

cfdisk (8) . . . . . . . . . . 124

chage (1) . . . . . . . . . . . 124

chattr (1) . . . . . . . . . . 126

chfn (1) . . . . . . . . . . . 128

chgrp (1) . . . . . . . . . . . 129

chmod (1) . . . . . . . . . . . 129

chown (1) . . . . . . . . . . . 132

chroot (1) . . . . . . . . . . 133

chsh (1) . . . . . . . . . . . 134

clear (1) . . . . . . . . . . . 134

cmp (1) . . . . . . . . . . . 135

comm(1) . . . . . . . . . . . 135

cp (1) . . . . . . . . . . . . 136

cpio (1) . . . . . . . . . . . 137

cron (8) . . . . . . . . . . . 138

crontab (1) . . . . . . . . . . 139

csplit (1) . . . . . . . . . . 141

cut (1) . . . . . . . . . . . 143

date (1) . . . . . . . . . . . 145

dd (1) . . . . . . . . . . . . 147

debugreiserfs (8) . . . . . . . . 148

df (1) . . . . . . . . . . . . 149

diff (1) . . . . . . . . . . . 150

IX

Page 10: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

dig (1) . . . . . . . . . . . 152

dirname (1) . . . . . . . . . . 155

du (1) . . . . . . . . . . . . 155

dumpe2fs (8) . . . . . . . . . . 156

e2fsck (8) . . . . . . . . . . 157

echo (1) . . . . . . . . . . . 158

edquota (8) . . . . . . . . . . 159

env (1) . . . . . . . . . . . 159

exec (bash-builtin) . . . . . . . . . 160

exit (bash-builtin) . . . . . . . . . 160

expand (1) . . . . . . . . . . 161

export (bash-builtin) . . . . . . . . 161

expr (1) . . . . . . . . . . . 161

false (1) . . . . . . . . . . . 163

fdformat (8) . . . . . . . . . . 163

fdisk (8) . . . . . . . . . . . 164

fg (bash-builtin) . . . . . . . . . 165

file (1) . . . . . . . . . . . 166

find (1) . . . . . . . . . . . 167

finger (1) . . . . . . . . . . 170

fmt (1) . . . . . . . . . . . 171

fold (1) . . . . . . . . . . . 171

fsck (8) . . . . . . . . . . . 172

fuser (1) . . . . . . . . . . . 173

getopts (bash-builtin) . . . . . . . . 174

gpasswd (1) . . . . . . . . . . 176

grep (1) . . . . . . . . . . . 176

groupadd (8) . . . . . . . . . . 177

groupdel (8) . . . . . . . . . . 178

groupmod (8) . . . . . . . . . . 179

groups (1) . . . . . . . . . . 180

grpck (8) . . . . . . . . . . . 180

X

Page 11: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

gunzip (1) . . . . . . . . . . 181

gzip (1) . . . . . . . . . . . 182

halt (8) . . . . . . . . . . . 183

hash (bash-builtin) . . . . . . . . . 184

head (1) . . . . . . . . . . . 185

help (bash-builtin) . . . . . . . . . 185

host (1) . . . . . . . . . . . 186

hwclock (8) . . . . . . . . . . 188

id (1) . . . . . . . . . . . . 189

ifconfig (8) . . . . . . . . . . 190

info (1) . . . . . . . . . . . 192

init (8) . . . . . . . . . . . 194

jobs (bash-builtin) . . . . . . . . . 194

join (1) . . . . . . . . . . . 195

kill (1) . . . . . . . . . . . 197

killall (1) . . . . . . . . . . 197

last (1), lastb (1) . . . . . . . . . 198

lastlog (8) . . . . . . . . . . 200

ldd (1) . . . . . . . . . . . 200

less (1) . . . . . . . . . . . 201

line (1) . . . . . . . . . . . 202

ln (1) . . . . . . . . . . . . 203

locate (1) . . . . . . . . . . 204

logname (1) . . . . . . . . . . 205

logout (bash-builtin) . . . . . . . . 205

lpc (1) . . . . . . . . . . . 205

lpq (1) . . . . . . . . . . . 206

lpr (1) . . . . . . . . . . . 207

lprm (1) . . . . . . . . . . . 208

ls (1) . . . . . . . . . . . . 209

lsattr (1) . . . . . . . . . . 210

lsof (8) . . . . . . . . . . . 212

XI

Page 12: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

mail (1) . . . . . . . . . . . 212

man(1) . . . . . . . . . . . 215

mesg (1) . . . . . . . . . . . 217

mkdir (1) . . . . . . . . . . . 217

mke2fs (8) . . . . . . . . . . 218

mkfs (8) . . . . . . . . . . . 219

mknod (1) . . . . . . . . . . . 220

mkreiserfs (8) . . . . . . . . . 220

more (1) . . . . . . . . . . . 221

mount (8) . . . . . . . . . . . 221

mv (1) . . . . . . . . . . . . 224

netstat (8) . . . . . . . . . . 224

newgrp (1) . . . . . . . . . . 227

nice (1) . . . . . . . . . . . 228

nl (1) . . . . . . . . . . . . 229

nohup (1) . . . . . . . . . . . 231

od (1) . . . . . . . . . . . . 231

passwd (1) . . . . . . . . . . 233

paste (1) . . . . . . . . . . . 234

ping (1) . . . . . . . . . . . 235

pr (1) . . . . . . . . . . . . 237

ps (1) . . . . . . . . . . . . 238

pstree (1) . . . . . . . . . . 242

pwd (1) (bash-builtin) . . . . . . . . 243

quota (1) . . . . . . . . . . . 243

quotacheck (8) . . . . . . . . . 244

quotaon /quotaoff (8) . . . . . . . . 245

read (bash-builtin) . . . . . . . . . 246

readonly (bash-builtin) . . . . . . . . 246

reboot (8) . . . . . . . . . . 247

reiserfsck (8) . . . . . . . . . 247

renice (8) . . . . . . . . . . 249

XII

Page 13: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

repquota (8) . . . . . . . . . . 250

return (bash-builtin) . . . . . . . . 251

rm (1) . . . . . . . . . . . . 251

rmdir (1) . . . . . . . . . . . 252

route (8) . . . . . . . . . . . 253

rpm (8) . . . . . . . . . . . 254

runlevel (8) . . . . . . . . . . 257

sed (1) . . . . . . . . . . . 258

set (bash-builtin) . . . . . . . . . 260

shift (bash-builtin) . . . . . . . . 262

shutdown (8) . . . . . . . . . . 263

sleep (1) . . . . . . . . . . . 264

sort (1) . . . . . . . . . . . 265

split (1) . . . . . . . . . . . 267

su (1) . . . . . . . . . . . . 268

sum (1) . . . . . . . . . . . 268

sync (1) . . . . . . . . . . . 269

tac (1) . . . . . . . . . . . 269

tail (1) . . . . . . . . . . . 270

tar (1) . . . . . . . . . . . 271

tee (1) . . . . . . . . . . . 273

test (bash-builtin) . . . . . . . . . 274

time (1) . . . . . . . . . . . 276

times (bash-builtin) . . . . . . . . 277

top (1) . . . . . . . . . . . 277

touch (1) . . . . . . . . . . . 280

tr (1) . . . . . . . . . . . . 281

traceroute (8) . . . . . . . . . 283

trap (bash-builtin) . . . . . . . . . 284

true (1) . . . . . . . . . . . 286

tty (1) . . . . . . . . . . . 287

tune2fs (8) . . . . . . . . . . 287

XIII

Page 14: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

type (bash-builtin) . . . . . . . . . 288

umask (bash-builtin) . . . . . . . . 289

umount (8) . . . . . . . . . . 290

unalias (bash-builtin) . . . . . . . . 291

uname (1) . . . . . . . . . . . 291

uniq (1) . . . . . . . . . . . 292

unset (bash-builtin) . . . . . . . . 293

updatedb (1) . . . . . . . . . . 294

useradd (8) . . . . . . . . . . 294

userdel (8) . . . . . . . . . . 296

usermod (8) . . . . . . . . . . 297

w (1) . . . . . . . . . . . . 299

wait (bash-builtin) . . . . . . . . . 300

wall (1) . . . . . . . . . . . 300

wc (1) . . . . . . . . . . . . 301

whatis (1) . . . . . . . . . . 301

whereis (1) . . . . . . . . . . 303

which (1) . . . . . . . . . . . 304

who (1) . . . . . . . . . . . 305

whoami (1) . . . . . . . . . . 306

write (1) . . . . . . . . . . . 306

7 Anhang 309

7.1 awk-Kurzreferenz . . . . . . . . . 309

7.1.1 Kommando-Syntax . . . . . . . 309

7.1.2 Skriptsyntax . . . . . . . . . 310

7.1.3 Muster . . . . . . . . . . 310

7.1.3.1 Regulärer Ausdruck . . . . . 310

7.1.3.2 Ausdruck für Vergleich . . . . 310

7.1.3.3 Zusammengesetzter Ausdruck . . . 311

7.1.3.4 Bereiche . . . . . . . . 311

7.1.3.5 BEGIN/ END . . . . . . . 311

7.1.4 Prozedur/Anweisungen . . . . . . 311

XIV

Page 15: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

7.1.4.1 Kontrollflussanweisungen . . . . 311

7.1.4.2 Ausgabeanweisungen . . . . . 312

7.1.4.3 Zuweisungen / Rechenoperationen . . 312

7.1.4.4 Funktionsaufrufe . . . . . . 313

7.1.5 String-Literale / Variablen . . . . . . 314

7.1.6 Beispiele . . . . . . . . . 315

7.2 vi -Kurzrefernz . . . . . . . . . 316

7.2.1 Aufrufen und Beenden des vi . . . . . 317

7.2.2 Befehle im Befehlsmodus . . . . . . 318

7.2.2.1 Cursorpositionierung . . . . . 318

7.2.2.2 Umschalten in den Eingabemodus . . 319

7.2.2.3 Text löschen . . . . . . . 320

7.2.2.4 Zeilen zusammenfügen . . . . 321

7.2.2.5 Befehle rückgängigmachen . . . . 321

7.2.2.6 Verschieben und Kopieren . . . . 321

7.2.2.7 Arbeiten mit eigenen Puffern . . . 322

7.2.2.8 Suchen . . . . . . . . 323

7.2.3 Befehle im Kommandozeilenmodus . . . . 323

7.2.3.1 Allgemeine Befehle . . . . . 323

7.2.3.2 Suchen und Ersetzen . . . . . 324

7.2.3.3 vi -Einstellungen verändern . . . 325

7.2.4 Mehrere Dateien gleichzeitig bearbeiten . . . 326

7.3 Wichtige Konfigurationsdateien . . . . . . 326

7.3.1 /etc/passwd . . . . . . . . 327

7.3.2 /etc/shadow . . . . . . . . 328

7.3.3 /etc/group . . . . . . . . 328

7.3.4 /etc/inittab . . . . . . . . 329

7.3.4.1 Aufbau . . . . . . . . 330

7.3.4.2 Häufig vom init-Prozess aufgerufenen Aktionen 330

7.3.4.3 Auszug aus der Datei /etc/inittab . 331

7.3.5 /etc/fstab . . . . . . . . 332

7.3.6 Initialisierungsdateien für den Benutzer . . . 333

XV

Page 16: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Inhaltsverzeichnis

7.3.7 Besondere Dateien . . . . . . . 333

7.4 Literaturverzeichnis / Hinweise . . . . . . 333

Index 335

XVI

Page 17: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Kapitel 1

Einleitung

Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehlezu finden. Die meisten Leser werden schon rudimentäre Kenntnisse über Linuxhaben. Dennoch wollte ich auch dem Einsteiger die Chance bieten, etwas Grund-lagenwissen über die Shell, Prozesse und das Dateisystem zu erwerben. Daherbeschäftigen sich die ersten drei Kapitel mit diesen Grundlagen. Im vierten Ka-pitel finden Sie dann eine Befehlsübersicht mit Beispielen, in denen viele Befehlemit den wichtigsten Parametern vorgestellt werden. Es gibt bestimmt einige Be-fehle in dieser Übersicht, die Sie nie brauchen werden. Auf der anderen Seitewerden sie ggf. nach dem ein oder anderen Befehl vergeblich suchen. Ein um-fassendes Werk aller Befehle zu erstellen und auf einem aktuellen Stand zu hal-ten, dürfte kaum möglich sein. Für spezielle Anforderungen verweise ich deshalbschon hier auf die entsprechenden Manual-Seiten, die bei jeder Distribution vor-handen sind.

Wie schon erwähnt erhebt dieses Werk keinen Anspruch auf Vollständigkeit. Beider Befehlsübersicht wurden zum Teil bewusst Option, die erfahrungsgemäßnicht oder nur sehr selten benötigt werden, ausgelassen.

Alle hier beschriebenen Befehle sind zum Großteil in der Standardinstallation dermarktüblichen Linux-Distributionen enthalten oder können zumindest nachin-stalliert werden. Sollten manche Befehls-Option nicht funktionieren, kann das ander Version des Kommandos liegen.

Ein paar Hinweise zur Notation und zu Schreibweisen in diesem Buch:

Bei den Beispielen können Sie am dargestellten Prompt erkennen ob der Befehlvon einem normalen Benutzer aufgeführt werden kann, oder root-Rechte erfor-dert:

user@linux:~ > ist der Prompt des normalen Benutzers.linux: # ist der Prompt des Systemverwalters root.

1

Page 18: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

1 Einleitung

Befehle, Dateinamen und Bildschirmausgaben werden allgemein in einer ande-ren Schriftart dargestellt.echo Hallo ist beispielsweise die Schriftart für Kommandos. Ausgaben derProgramme werden zum Teil, auch aus Platzgründen, in einer kleineren Schriftdargestellt.

drwxr-xr-x 2 user users 48 2004-08-13 13:01 bin

drwxr-xr-x 2 user users 80 2004-08-13 13:01 Documents

-rw------- 1 user users 1878 2004-08-25 11:19 nohup.out

drwxr-xr-x 2 user users 80 2004-08-13 13:01 public_html

drwxr-xr-x 3 user users 656 2004-08-30 17:16 work

Oben sehen Sie eine Ausgabe des Befehls ls -l .

Bei Syntax-Beschreibungen zu Kommandos bedeuten eckige Klammern, dass dieOptionen oder Werte dazwischen auch weggelassen werden können. Kursiv dar-gestellte Wörter sind Platzhalter für Werte, die anstelle dieser Wörter angegebenwerden müssen.

Der Begriff Befehl und Kommando wird im gesamten Buch nicht unterschiedenund gleichbedeutend verwendet.

Zu erwähnen ist noch, daß Linux zwischen Groß-/und Kleinschreibung unter-scheidet.

2

Page 19: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Kapitel 2

Die Shell

2.1 Einführung

Je nach Anwendungsbereich haben Betriebssysteme Schnittstellen, die es demAnwender oder Systemadministrator erlauben, verschiedene Prozesse zu starten.

Ein Videorecorder hat beispielsweise

❏ eine LCD-Anzeige,

❏ das Fernsehgerät als Ausgabegerät,

❏ das Videoband als Datenspeicher und

❏ die Fernbedienung als Eingabegerät.

Jedem Druckknopf der Fernbedienung ist eine bestimmte Anwendung (Prozess)zugeordnet. Der Benutzer kann durch Drücken der Play-Taste den eingelegtenFilm starten, d. h., es wird dem Videorecorder mitgeteilt, er soll das Programmzum Abspielen des Films starten. Auf der LCD-Anzeige wird der aktuelle Statusdes Programms angezeigt (Zeit, Modus) und auf dem Bildschirm der Film. DieBenutzerschnittstelle dieses Betriebssystems stellt uns die Möglichkeit zur Verfü-gung, bestimmte Kommandos an den Videorecorder zu schicken.

Bei Computersystemen stehen dem Benutzer mehr Kommandos und Ressourcenzur Verfügung als bei einem Videorecorder, allerdings ist der Ablauf ähnlich: einKommando wird irgendwie vom Benutzer eingegeben und anschließend vomBetriebssystem interpretiert und verarbeitet. Die meisten Computerbetriebssy-steme stellen zwei verschiedene Schnittstellen für Benutzer zur Verfügung, diesich durch Darstellung und die Art der Eingabe unterscheiden.

Moderne Systeme sind in der Regel mit einer grafischen Benutzerschnittstelle (GUIGraphical User Interface) ausgestattet, bieten aber zusätzlich die Möglichkeit,verschiedene Kommandos über eine sogenannte Shell einzugeben.

3

Page 20: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

2 Die Shell

Früher war die Shell das wichtigste Programm auf einem Unix-System und auchheute ist sie das wichtigste Werkzeug für den Unix-/Linux-Administrator. ImLaufe der Zeit wurden mehrere Shell-Programme entwickelt. Da wäre die sh(Bourne Shell), die in älteren Unix-Systemen als Standard Shell eingesetzt wurdeund einfache Funktionen beinhaltet. Die ksh (Korne Shell), die bereits wesentlichmehr Funktionalität als die Bourne Shell zur Verfügung stellt und immer noch invielen Unix-Systemen als Standard eingesetzt wird. Für C-Programmierer gibtes die csh (C-Shell), die einen der Korne Shell ähnlichen Funktionsumfang bietet.Die Linux Standard-Shell ist die bash (Bourne Again Shell). Sie verbindet die Ein-fachheit der Bourne Shell mit der Vielseitigkeit der Korne Shell und wird heutenicht nur unter Linux gerne verwendet. Im folgenden wird ausschließlich mit derbash gearbeitet.

Genau genommen ist eine Shell lediglich ein Benutzerprogramm. Sie stellt dieSchnittstelle zwischen dem Benutzer und dem System dar. Sie umfaßt einen Kom-mandointerpreter, der Benutzereingaben analysiert und die dem Kommando zu-geordneten Programme startet und Ausgaben des Kernels an den Benutzer zu-rückgibt. Sie verfügt aber auch über eine eigene Programmiersprache mit Son-derzeichen, Variablen und Funktionen, die es ermöglicht, sog. Shell-Skripte zuerstellen, um z. B. bestimmte administrative Aufgaben zu erleichtern. Im folgen-den werden die syntaktischen Regeln und Möglichkeiten der bash ins Visier ge-nommen.

2.2 Die Shell nutzen

2.2.1 Nach der Anmeldung

Nach der erfolgreichen Anmeldung wird für jeden Benutzer eine eigene Shell(Kommandointerpreter) geladen. Während die Shell startet, laufen noch Initiali-sierungsskripte für spezielle Benutzereinstellungen ab. Als Kennzeichen, dass dieShell für den Empfang von Kommandos bereit ist, sieht man einen sog. Prompt(Eingabeaufforderung) am linken Bildschirmrand, falls man sich im Textmodusangemeldet hat. Hat man sich unter einer grafische Benutzeroberfläche angemel-det, kann mit einem Terminalfenster eine Shell gestartet werden, bei dem derPrompt ebenfalls am linken Rand zu sehen ist.

Dieser Prompt kann individuell für jeden Benutzer eingestellt werden. Als Stan-dard ist für den normalen Benutzer

Benutzername@Rechnername:aktuelles Verzeichnis >

festgelegt. Für root ist der Standard-Prompt

Rechnername:Verzeichnis #

4

Page 21: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Kapitel 3

Prozesse

3.1 Einführung

Ein Prozess ist ein Programm, das gerade ausgeführt wird. Ein Programm liegtmeist in Form einer Datei auf dem Datenträger (Festplatte) vor und beschreibt ei-ne Folge von Aktionen, die sequentiell durchgeführt werden. Erst durch das La-den des Programms in den Hauptspeicher und dessen Ausführung entsteht einProzess. In modernen Betriebssystemen werden immer mehrere Prozesse gleich-zeitig abgearbeitet. Allerdings kann ein Prozessor nur immer einen Befehl zueiner bestimmten Zeit ausführen. Somit werden Prozesse in Ein-Prozessor-Sy-stemen nie wirklich parallel ausgeführt. Die Zeit, die zwischen dem Umschal-ten von einem Prozess zum anderen vergeht, ist jedoch so gering, dass man vonPseudo-Parallelität spricht. Die Aufgabe, zu entscheiden welcher Prozess geradeProzessorzeit erhält, übernimmt der sog. Scheduler, der nach folgenden Kriterienarbeitet:

❏ FairnessJeder Prozess erhält einen gerechten Anteil an Prozessorzeit.

❏ EffizienzDer Prozessor ist immer vollständig ausgelastet.

❏ Kurze AntwortzeitDie Antwortzeit für die arbeitenden Benutzer wird minimiert.

❏ Großer DurchsatzDie Anzahl der ausgeführten Aufträge in einem bestimmten Zeitintervallwird maximiert.

Das Betriebssystem muss zu jeder Zeit wissen, welche Prozesse gerade im Spei-cher sind, wie der aktuelle Zustand ist, an welcher Stelle der Prozess unterbro-chen wurde und welche Speicherbereiche dem Prozess zugeordnet sind. Damit

35

Page 22: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

3 Prozesse

wird der Prozessverwaltung und der damit verbundenen Ressourcenverwaltungeine wichtige Rolle zugeteilt. In verschiedenen Tabellen merkt sich das Betriebs-system alle Informationen, die zu einem bestimmten Prozess gehören. Einige die-ser Informationen sind:

❏ Register, Inhalt aller ProzessorregisterBeim Umschalten zwischen den Prozessen müssen die Registerinhalte desProzessors wieder hergestellt werden können.

❏ Befehls- bzw. ProgrammzählerErhält ein Prozess wieder Rechenzeit, muss genau an der Stelle weitergear-beitet werden, wo er aufgehört hatte.

❏ Stack-ZeigerJeder Prozess hat eine Ablage, wo Daten zwischengespeichert werden. Hierwird gespeichert, wo die oberste Stelle der Ablage ist.

❏ ProzesszustandZu einer bestimmten Zeit befindet sich ein Prozess in einem bestimmtenZustand. Zustände sind:

➢ AktivDer Prozess wird gerade abgearbeitet.

➢ WartendDer Prozess wartet auf das Ende einer Wartebedingung.

➢ BereitDer Prozess wartet auf die Zuteilung eines Prozesses.

➢ Nicht existentZustand eines Prozesses, der nicht mehr oder noch nicht im Systemexistiert.

Diese Zustände sind allgemeine Prozesszustände. Mit dem Kommando pskann man sich in detaillierter Form anzeigen lassen, wie der aktuelle Zu-stand eines Prozesses ist.

❏ ProzessnummerJedem Prozess ist eine eindeutige Nummer zugeordnet.

❏ Verbrauchte ProzessorzeitDie Zeit, die ein Prozess bereits an Rechenzeit hatte.

❏ AuftraggeberBenutzer-Nummer, des Benutzers, der den Prozess gestartet hatte.

❏ AblaufprioritätPriorität des Prozesses, die angibt, wieviel Rechenzeit ein Prozess erhält.

❏ ZugriffsrechteZugriffsrechte, die der Prozess hat.

❏ Zeiger auf SpeichersegmenteSpeicherbereiche, die dem Prozess zugeordnet sind.

36

Page 23: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

3.2 Prozesshierarchie und besondere Prozesse

❏ SignalstatusSignale, die der Prozess empfängt.

❏ ElternprozessGibt die Nummer des Elternprozesses an, der diesen Prozess erzeugt hat.

❏ Reale und effektive BenutzernummerReale und effektive Benutzernummer, mit der dieser Prozess arbeitet.

❏ Reale und effektive GruppennummerReale und effektive Gruppennummer, mit der dieser Prozess arbeitet.

❏ DateideskriptorenReferenzen auf die Dateien, die von diesem Prozess benutzt werden.

Für den Benutzer stehen verschieden Kommandos zur Verfügung, um sich dieoben aufgeführten Informationen anzeigen zu lassen, mit Prozessen zu kommu-nizieren und Prozesse zu erzeugen. In den nachfolgenden Kapiteln werden einigedieser Kommandos vorgestellt.

3.2 Prozesshierarchie und besondere Prozesse

In Linux-Systemen wird beim Laden des Betriebssystems der Init-Prozess gestartet.Aufbauend auf diesen Prozess wird eine Hierarchie erstellt. Jeder Prozess kannElternprozess eines Kindprozesses sein. Ganz oben in der Hierarchie steht jedochimmer der Init-Prozess mit der Prozessnummer 1. Diese Hierarchie ist mit ei-nem Stammbaum zu vergleichen, der sich nach unten immer weiter gabelt. EinElternprozess, der Kindprozesse erzeugt, gabelt sich. Vom Betriebssystem wirdzur Erzeugung eines Kindprozesses der Befehl fork (engl. Gabel) verwendet.Für den Benutzer heißt das, wenn er ein Kommando an der Shell eingibt, ent-steht ein neuer Prozess. Dieser neue Prozess ist das Kind der Shell, in der er dasKommando eingegeben hat. Mit dem Kommando pstree können Sie sich dieProzesshierarchie ansehen. Der Init-Prozess (init ) steht bei der Ausgabe immeran der linken Seite ganz oben. Wenn Sie der Prozesshierarchie folgen, sehen Sieauch das eingegebene Kommando pstree als Kindprozess der bash.

3.2.1 Der Init-Prozess

Nachdem der Linux-Kernel gestartet ist, überprüft dieser die Gerätekonfigu-ration und erzeugt den SWAP-Prozess, der für das Scheduling verantwort-lich ist, sowie den Init-Prozess, der in unserer Hierarchie die oberste Stelleeinnimmt. Gesteuert wird dieser Prozess durch die Datei /etc/inittab . In/etc/inittab befinden sich Informationen zum Start, d. h. welche Startskrip-te ausgeführt werden und in welchem Run-Level das System startet. Das Pro-gramm des Init-Prozesses befindet sich im Verzeichnis /sbin . Init startet das

37

Page 24: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

3 Prozesse

[1]+ 8472 Running sleep 100 &

user@linux:/home/user >

[1]+ Done sleep 100

Um einen Job wieder in den Vordergrund zu holen oder nachträglich einen Pro-zess in den Hintergrund zu stellen, werden die Kommandos fg jobnummer(foreground) und bg jobnummer (background) verwendet. Bevor ein Prozess inden Hintergrund gestellt werden kann, muss er mit dem Signal SIGTSTP durchdie Tastenkombination

��

��Strg��

��Z gestoppt werden.

user@linux:/home/user > sleep 100 &

[1] 8562

user@linux:/home/user > fg 1

sleep 100��

��Strg��

��z

[1]+ Stopped sleep 100

user@linux:/home/user > bg 1

[1]+ sleep 100 &

user@linux:/home/user > jobs

[1]+ Running sleep 100 &

3.6 Übersicht: Prozesse und Jobs steuern

Tabelle 3.2: Prozesse und Jobs steuern

Kommando Kurzbeschreibung Details

at Jobs zur einmaligen Ausführung zu einem bestimm-ten Zeitpunkt in eine Warteschlange stellen

Seite 119

atq Die at -Jobs in einer Warteschlange anzeigen lassen Seite 119

atrm Die at -Jobs aus einer Warteschlange löschen Seite 119

batch Jobs zu einem späteren Zeitpunkt (in Abhängigkeitvon der Systemauslastung) ausführen lassen

Seite 119

bg Angehaltene Programme im Hintergrund fortsetzen Seite 121

crontab periodische Aufträge, die durch den cron-Daemon ge-startet werden, verwalten

Seite 139

fg Angehaltene Programme im Vordergrund fortsetzen Seite 165

fuser Ausgabe der PID, die angegebene Dateien bzw. Datei-systeme verwenden

Seite 173

46

Page 25: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

3.6 Übersicht: Prozesse und Jobs steuern

Tabelle 3.2 – Fortsetzung

Kommando Kurzbeschreibung Details

jobs Aktuelle Hintergrundprozesse der Shell anzeigen Seite 194

kill Signale an Prozesse anhand der Prozessnummer sen-den

Seite 197

killall Mit Prozessen anhand des Namens Signale senden Seite 197

ldd Anzeige der dynamischen Abhängigkeiten eines Pro-gramms

Seite 200

nice Kommando mit einer bestimmten Priorität (einem be-stimmten Nice-Wert) ausführen

Seite 228

nohup Ignorieren der Signale SIGINT, SIGQUIT und SIGHUP Seite 231

ps Prozess-Status anzeigen Seite 238

pstree Aktive Prozesse in Baumstruktur anzeigen Seite 242

renice Priorität eines bereits laufenden Prozesses manipulie-ren

Seite 249

time Dauer von Kommandoausführung messen und anzei-gen lassen

Seite 276

times Benutzer- und Systemzeiten für Prozesse der aktivenShell anzeigen lassen

Seite 277

top CPU-intensive Prozesse ausgeben Seite 277

trap Signale abfangen Seite 284

47

Page 26: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Kapitel 4

Dateisystem

4.1 Die Linux-Verzeichnishierarchie

Mit der Installation ihres Linux-Systems werden bereits viele Programme undKonfigurationsdateien auf Ihren Computer kopiert. Alle diese Dateien sind hier-archisch in Verzeichnissen geordnet. Nachfolgende Tabelle 4.1 enthält die wich-tigsten Verzeichnisse, die nach einer Installation vorhanden sind. Die Schräg-striche (/) bei den Verzeichnisnamen haben eine besonderer Bedeutung. Befin-det sich der Schrägstrich am Anfang eines Verzeichnisnamens zeigt das an, dassdas Verzeichnis direkt unterhalb des Hauptverzeichnisses (root) ist. Trennt derSchrägstrich Verzeichnisnamen wie in /usr/bin zeigt das an, dass sich das Ver-zeichnis mit dem Namen bin in der Hierarchie unter dem Verzeichnis mit demNamen usr befindet.

Als Benutzer werden Sie hauptsächlich in ihrem Heimat-Verzeichnis (auch Ho-me-Verzeichnis genannt) /home/ <Anmeldename> arbeiten und dort ihre eigeneVerzeichnishierarchie aufbauen, ihre Dateien speichern. Alle anderen Verzeich-nisse enthalten Dateien, die vom System benötigt werden.

Tabelle 4.1: Die Linux-Verzeichnishierarchie

Verzeichnis Inhalt

/ Hauptverzeichnis (sog. root) für alle Benutzer, obersteEbene der Hierarchie.

/boot Enthält die Start-Dateien (Kernel) des Systems.

/bin (binary) Verzeichnis für häufig benutzte Programme.

/dev (device) Verzeichnis für Geräte-Dateien.

49

Page 27: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

4 Dateisystem

Tabelle 4.1 – Fortsetzung

Verzeichnis Inhalt

/etc Verzeichnis für Dateien zur Administration und Konfi-guration des Systems.

/home Enthält die Benutzerverzeichnisse (Heimat-Verzeichnis-ses), der dem System bekannten Benutzer.

/lib (library) Verzeichnis für Programmbibliotheken

/media Enthält Verzeichnisse, die mit bestimmten Datenträgern,wie Diskettelaufwerk und CD, verbunden sind.

/opt (option) Verzeichnis für Programmepakete, z. B. KDE,Gnome, Open-Office, die optional installiert wurden.

/proc Eigentlich kein wirkliches Verzeichnis, enthält Laufzeit-Informationen zum System und zum Speicher.

/tmp (temporary) Platz für temporäre Dateien, die vom Sy-stem, verschieden Programmen oder Benutzern erstelltwerden.

/usr (unix special resource) Platz für Verzeichnisse, die ver-schiedene Programme, Bibliotheken und Dokumentatio-nen enthalten.

/usr/bin Programme für alle Benutzer.

/usr/include Include-Dateien für die C / C++ Programmierung.

/usr/lib Bibliotheken für verschiedene Programmiersprachen (jenach Installation).

/usr/share Verzeichnis für gemeinsam genutzte Dateien und Doku-mentationen.

/usr/share/man (manual) Enthält die Manual-Pages, die mit man aufge-rufen werden.

/usr/sbin (special binary) Enthält Programme zur Administrati-on des Systems, die nicht für alle Benutzer verwendbarsind.

/usr/src (source) Quellcode des Systems, falls dieser installiertwurde.

/sbin (special binary) Programme zur Administration, die nurfür bestimmte Benutzer (root oder Administratoren) zurVerfügung stehen.

50

Page 28: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

4.2 Dateiarten

Tabelle 4.1 – Fortsetzung

Verzeichnis Inhalt

/var (variable) Verzeichnis für variable Daten wie Drucker-Warteschlangen, Log-Dateien, Mails und Prozessnum-mern verschiedener Dienste.

4.2 Dateiarten

In Linux- und Unix-Systemen gibt es verschiedene Arten von Dateien. Im Grun-de wird alles als Datei bezeichnet, von dem aus Daten gelesen oder wohin Da-ten geschrieben werden können. Beispielsweise werden Netzwerkverbindungen(Stream), Terminals, Pipes, die Tastatur und der Bildschirm aus Sicht des Betriebs-systems als Dateien betrachtet. Die Tabelle 4.2 gibt Auskunft über die Dateiarten,die Linux benutzt.

Tabelle 4.2: Dateiarten unter Linux

Art Verwendung

Reguläre Datei Dies ist der gebräuchlichste Dateityp. Dies sind Pro-grammdateien, Datenbankdateien, Bilddateien, Vi-deodateien, Klangdateien, normale Textdateien undalle Dateien, die ein Benutzer mit Büroanwendungenerstellt.

Verzeichnisse Dies sind Dateien, die zur Verwaltung dienen (Ord-ner) und können beliebige Dateien enthalten.

ZeichenorientierteGeräte

Dies sind Spezialdateien und repräsentieren serielleGeräte wie Terminals, Drucker oder das Netzwerk.Sie erlauben eine eigene Pufferung durch den zuge-ordneten Treiber.

Blockorientierte Geräte Spezialdateien für Geräte wie Harddisklaufwerke,die dem Betriebssystem die Pufferung überlassen.

51

Page 29: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

4.4 Datei-Berechtigungen steuern

Tabelle 4.3 – Fortsetzung

Kommando Kurzbeschreibung Details

updatedb Aktualisieren der locate-Datenbank Seite 294

4.4 Datei-Berechtigungen steuern

In Mehrbenutzersystemen können mehrere Anwender auf das Dateisystem zu-greifen. Aus diesem Grund werden Berechtigungen vergeben, die regeln, welcheDateien von welchen Benutzern gelesen, bearbeitet oder ausgeführt werden dür-fen. Linux- und Unix-Systeme kennen drei Rechte:

❏ das Leserecht (r ) (engl. read),

❏ das Schreibrecht (w) (engl. write) und

❏ das Ausführrecht (x ) (engl. execute).

Die Vergabe dieser Rechte erfolgt jeweils für den

❏ Eigentümer (u) (engl. user),

❏ einer Gruppe (g) (engl. group), der die Datei zugeordnet ist, und

❏ die anderen (o) (engl. others), die nicht Eigentümer oder Mitglied der Gruppesind.

Zusätzlich können jeder Datei noch Funktionen zugeteilt werden, die sich auf dasVerhalten von ausführbaren Dateien, auf die Weitergabe von Rechten innerhalbvon Verzeichnissen und auf die Nutzung des Speichers auswirken. Details fin-den sich in den Befehlsbeschreibungen zu chattr auf Seite 126 und lsattr aufSeite 210.

All diese Rechte und Sonderfunktionen werden in der I-Node-Tabelle einer Dateigespeichert. Hiefür stehen 12 Bit zur Verfügung. Ist ein Recht vergeben, ist dasjeweilige Bit wie ein Schalter auf 1 (an) gesetzt.

Die Tabelle 4.4 beschreibt die einzelnen Rechte und Funktionen.

Tabelle 4.4: Rechte und Funktionen

Kürzel Beschreibung

r read (Lese-Recht)

Dieses Bit ermöglicht das Lesen einer Datei. Für Verzeichnisse bewirkt es, dassder Inhalt des Verzeichnisses mit ls gelesen werden kann.

w write (Schreib-Recht)

Dieses Bit ermöglicht das Schreiben in eine Datei. Bei Verzeichnissen ist dasUmbenennen, Erstellen oder Löschen von Dateien nur über die Kombinationaus den Rechten w und x möglich.

61

Page 30: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

4 Dateisystem

Tabelle 4.4 – Fortsetzung

Kürzel Beschreibung

x execute (Ausführ-Recht)

Dieses Bit ermöglicht das Ausführen einer Datei. Allerdings muss auch dasLese-Recht (r ) vorhanden sein, um die Datei auszuführen. Nur wenn diesesRecht für ein Verzeichnis vergeben ist, kann in das Verzeichnis mit cd gewech-selt werden. Außerdem können Dateien und Unterverzeichnisse in einem Ver-zeichnis nur angelegt oder gelöscht werden, wenn außer dem Schreib-Rechtauch dieses Recht vorhanden ist.

s SUID-Bit (set user ID)

Ist diese Bit für eine ausführbare Datei gesetzt, wird der Prozess nicht mitder Benutzer-ID des aufrufenden Benutzers, sondern mit der Benutzer-ID desDatei-Eigentümers gestartet. Beispielsweise ist das Programm /bin/passwdmit diesem Bit ausgestattet. Erst dadurch ist es möglich, dass jeder Benutzersein eigenes Passwort ändern kann, denn nur root hat die Rechte, in die Dateienzur Benutzerverwaltung, /etc/passwd und /etc/shadow , zu schreiben. Esversteht sich von selbst, dass diese Funktion nur mit äußerster Vorsichtig einge-setzt werden soll.

g SGID-Bit (set group ID)

Für Dateien ist die Funktionsweise dieselbe wie bei SUID, nur auf Gruppen be-zogen. Ist es für ein Verzeichnis gesetzt, werden alle in diesem Verzeichnis an-gelegten Dateien nicht der Gruppe des Ersteller (owner) zugeordnet, sondernerhalten die gleiche Gruppenzugehörigkeit wie das Verzeichnis selbst. Interes-santerweise wirkt sich das SGID-Bit auch die Unterverzeichnisse aus. Wird einUnterverzeichnis in einem Verzeichnis mit SGID-Bit erstellt, so wird bei diesemdas SGID-Bit automatisch gesetzt.

t Sticky-Bit

Der ursprüngliche Einsatzbereich dieses Bits lag darin, die Ladezeit von Pro-grammen zu verringern. Ein Programm mit gesetzten Sticky-Bit (Klebe-Bit)wurde nach dem ersten Start im Speicher gehalten, um es bei erneutem Startennicht mehr vom Datenträger holen zu müssen. Auch heute ist diese Funktions-weise noch vorhanden, wird allerdings wegen der inzwischen performanterenHardware kaum noch eingesetzt. Wird dieses Bit auf ein Verzeichnis angewen-det, so kann ein Benutzer nur die Dateien in diesem Verzeichnis löschen, derenEigentümer er ist. Ausgenommen ist der Benutzer root, der alle Dateien löschenkann. Dieses Verhalten wird insbesondere bei Verzeichnissen für temporäre Da-teien /tmp genutzt. Jeder Benutzer darf in dieses Verzeichnis Dateien stellen,allerdings darf sie nur der Eigentümer der Datei umbenennen oder löschen.

62

Page 31: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

4.4 Datei-Berechtigungen steuern

Folgende Darstellung zeigt die 12 Rechte-Bits und ihre Zuordnung:

Zuordnung Funktion Eigentümer Gruppe Andere

Kürzel s g t r w x r w x r w x

Oktalwert 4 2 1 4 2 1 4 2 1 4 2 1

Bitposition 12 11 10 9 8 7 6 5 4 3 2 1

Alle Rechte, Funktionen und die Zuordnung einer Datei zum Eigentümer undzur Gruppe dürfen vom Eigentümer der Datei und vom Benuzter root verändertwerden. Bei der Vergabe von Rechten wird in Linux oft auf die oktale Schreibwei-se zurückgegriffen. Dies ergibt sich aus der Konstellation, dass jeweils 3 Rechteoder Funktionen zur Verfügung stehen. Zur Darstellung der größten Ziffer desoktalen Zahlensystems (7) benötigt man auch 3 Bit ( 1 + 2 + 4 = 7).

Hierzu ein paar Beispiele:

Die Rechte ---rwxrw-r-- bedeuten Oktal 0754 :

Funktion Eigentümer Gruppe Andere

Kürzel - - - r w x r - x r - -

Bits 0 0 0 1 1 1 1 0 1 1 0 0

Oktalwert - - - 4 2 1 4 - 1 4 - -

addiert 0 7 5 4

Für eine Datei bedeutet diese Rechte-Konstellation, dass der Eigentümer allesdarf, die Gruppe nur lesen und ausführen, alle anderen nur lesen dürfen. Fürein Verzeichnis bedeuten diese Rechte, dass der Eigentümer alles, die Gruppenur das Verzeichnis mit ls lesen (r ) und mit cd in das Verzeichnis wecheln (x )darf. Für alle anderen bedeuten diese Rechte, dass sie zwar das Verzeichnis lesendürfen jedoch nicht in das Verzeichnis wechseln.

Die Rechte ---rw-rw---- bedeuten oktal 0640 :

Funktion Eigentümer Gruppe Andere

Kürzel - - - r w - r - - - - -

Bits 0 0 0 1 1 0 1 0 0 0 0 0

Oktalwert - - - 4 2 - 4 - - - - -addiert 0 6 4 0

Für eine Datei bedeuten diese Rechte, dass der Eigentümer nur lesen und schrei-ben darf (allerdings darf der Eigentümer die Rechte seiner Dateien jederzeit ver-ändern, er darf ihnen also selbst fehlende Rechte geben). Die Gruppe darf die Da-tei nur lesen. Alle anderen sehen zwar die Datei mit ls , wenn die entprechendenVerzeichnisrechte vergeben wurden, können aber weder lesend noch schreibendauf diese Datei zugreifen. Auf ein Verzeichnis bezogen bedeuten diese Rechte,dass der Eigentümer das Verzeichnis lesen darf, allerdings nicht in das Verzeich-nis wechseln darf (fehlendes x ). Das Schreibrecht ist demzufolge überflüssig, danur die Kombination von Schreib- und Ausführ-Recht das Schreiben, Löschen

63

Page 32: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

4 Dateisystem

und Erstellen innerhalb des Verzeichnisses erlauben. Die Gruppe und alle ande-ren haben hier somit effektiv die gleichen Rechte wie der Eigentümer.

Das Rechte -gtrwxrwxr-x bedeuten oktal 3775 :

Funktion Eigentümer Gruppe Andere

Kürzel - g t r w x r w x r - x

Bits 0 1 1 1 1 1 1 1 1 1 0 1

Oktalwert - 2 1 4 2 1 4 2 1 4 - 1

addiert 3 7 7 5

Das letzte Beispiel bedeutet für eine Datei, dass der Eigentümer und die Grup-penmitglieder alles dürfen. Alle anderen dürfen die Datei nur lesen und aus-führen. Die Datei wird nach dem ersten Starten im Speicher gehalten (t ) undmuss nicht neu vom Datenträger geladen werden. Diese Datei wird mit den Rech-ten der ihr zugeordneten Gruppe ausgeführt (g) und nicht mit den Rechten derGruppe der ein ausführender Benutzer angehört.

Für ein Verzeichnis bedeuten diese Rechte, dass alle Dateien, die im Verzeich-nis erstellt werden, die Gruppenzugehörigkeit des Verzeichnisses erhalten, nichtdie des erstellenden Benutzers (g). Außerdem darf ein Benutzer nur die Dateienlöschen und umbenennen, die er selbst erstellt hat (t ). Alle dürfen in das Ver-zeichnis wechseln (x ) und den Inhalt des Verzeichnisses mit ls ansehen (r ). Nurder Eigentümer und die Gruppe dürfen Dateien im Verzeichnis erstellen (w).

4.4.1 Rechte verändern mit chmod

Der Eigentümer eine Datei und der Benutzer root können die Rechte mit demKommando chmod verändern.chmod [ Optionen] Rechte DateienDas Kommando chmod erlaubt die Angabe von Rechten in der oktalen Schreib-weise und mit Kürzeln. Die oktale Schreibweise bietet den Vorteil, dass die ur-sprünglichen Rechte durch die neuen Rechte überschrieben werden, ist also im-mer eindeutig.Folgende Beispiele zeigen die oktale Rechtevergabe mit chmod:chmod 4754 dSetzt für die Datei d die Rechte s--rwxr-xr-- , d. h. es wird das SGID-Bit ge-setzt, für den Eigentümer werden alle Rechte gesetzt, für die Gruppe werden dieRechte Lesen und Ausführen gesetzt, für die anderen wird nur das Lese-Rechtgesetzt.chmod 644 dSetzt für die Datei d die Rechte ---rw-r--r-- , d. h. für den Eigentümer wer-den die Rechte lesen und ausführen gesetzt, für die Gruppe und alle anderenwird nur das Recht lesen gesetzt.Will man nur bestimmte Rechte entziehen oder vergeben, ohne andere Rechte zu

64

Page 33: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Kapitel 5

Systemverwaltung

Im diesem Kapitel werden wichtige Linux-Befehle zur Syystemmverwaltung mitOptionen und kleinen Beispielen beschrieben. Zunächst erfolgt eine Übersichtder Befehle nach Themen. Da eine genaue Zuordnung eines Befehls nicht immermachbar ist tauchen manche Kommandos in mehreren der folgenden Tabellenauf. Danach werden kurz ein paar Erläuterungen zur syntaktischen Darstellungin den Befehls-Beschreibungen gegeben.

5.1 Laufzeitumgebung und Sitzungsinformationenverwalten

5.1.1 Einführung

Die Shell ist über Variablen konfigurierbar. Eine Variable ist ein kurzer Name füreinen Wert. Ein Wert ist eine Zahl, ein Audruck, ein Text oder ein Kommando.Variablen sind flüchtig, d.h. bei jedem Neustart der Shell werden die Variablenneu initialisiert. Veränderungen oder neu erstellte Variablen gehen also verloren,wenn sie nicht permanent in einer Datei gespeichert werden. Meist erfolgt dasSpeichern von Variablen in den dafür vorgesehenen Startskripten. Diese Start-skripte setzen die Variablen für das System, die Benutzerumgebung und für Pro-gramme. Unterschieden werden sog. Shell-Variablen und Umgebungsvariablen(Environment-Variable).

5.1.1.1 Shell-Variablen

Variablen, die nur innerhalb der aktuellen Shell gültig sind, werden als Shell-Variable bezeichnet. Erstellt wird eine Shell-Variable, indem man einem Varia-blennamen durch das Gleichheitszeichen (=), einen Wert zuweist. Das Komman-

81

Page 34: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

5 Systemverwaltung

do summe=0weist der Variablen summe den Wert 0 zu. Bei der Zuweisung darfkein Leerzeichen zwischen dem Variablennamen und dem Wert stehen. Enthältder Wert Leerzeichen, muss er mit Hilfe von Quoting-Zeichen zugewiesen wer-den (text=’a b c d’ ). Der Zugriff auf den Inhalt einer Variablen erfolgt durchdas $-Zeichen, das dem Variablennamen vorangestellt wird.

Um den Inhalt der Variablen summe auszugeben oder zu verwenden, gibt mandemnach $summeein. Die Variable hinter dem $-Zeichen wird durch Ihren Wertersetzt (Variablensubstitution). Die folgenden Beispiele verdeutlichen den Um-gang mit Variablen.

Zunächst werden den Variablen vorname und nachname die Werte Felix undKrull zugewiesen und anschließend mit dem Kommando echo ausgegeben. Esfindet eine Ersetzung der Variablen durch die Werte statt:

user@linux:/home/user > vorname=Felix

user@linux:/home/user > nachname=Krull

user@linux:/home/user > echo $vorname $nachname

Felix Krull

Fehlt das $-Zeichen, wird nur der Variablenname ausgegeben:

vorname

Gibt man nur $vorname ohne die Verwendung des Kommandos echo ein, wirddie Variable ersetzt und die Shell versucht, den Wert zu interpretieren. Die Kom-mandos wer=who und echo $wer verdeutlichen dieses Verhalten.

user@linux:/home/user > $vorname

bash: Felix: command not found

user@linux:/home/user > wer=who

user@linux:/home/user > $wer

user :0 Jul 28 07:29 (console)

Die Variablen vorname und nachname werden im folgenden einer Variablenname zugewiesen. Da zwischen den beiden substituierten Werten ein Leerzei-chen stehen soll, müssen die Variablen zusammen mit dem Leerzeichen in Quo-ting-Zeichen eingeschlossen werden. Verwendet man anstelle der doppelten An-führungszeichen (“ “ ) nur einfache Anführungszeichen (’ ’ )1, verliert das $-Zeichen seine besondere Bedeutung und die Variablen werden nicht durch ihreWerte ersetzt:

user@linux:/home/user > vorname=Felix

user@linux:/home/user > nachname=Krull

user@linux:/home/user > name="$vorname $nachname"

user@linux:/home/user > echo $name

1bei vielen Tastaturen das Zeichen, das man mit��

��Shift +��

��# eingeben kann

82

Page 35: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

5.1 Laufzeitumgebung und Sitzungsinformationen verwalten

Felix Krull

user@linux:/home/user > name=’$vorname $nachname’

user@linux:/home/user > echo $name$vorname $nachname

Wird der Wert einer Variablen als Bestandteil einer Zeichenfolge benötigt, somuss der Variablenname in geschweifte Klammern gesetzt werden, da sonst keinTrennzeichen (Leerzeichen) zwischen Variablenname und Text vorhanden ist unddie Shell beide zusammen als einen Variablennamen sieht.

user@linux:/home/user > verz1=/home/user/

user@linux:/home/user > echo ${verz1}privat

/home/user/privat

Wenn Sie das Ergebnis eines Kommandos einer Variablen zuweisen wollen, müs-sen Sie die Quoting-Zeichen für Kommandosubstitution verwenden. Der Varia-blen datum wird das Ergebnis des Kommandos date zugewiesen und nicht dasKommando date . Während sich die Uhrzeit bei der Eingabe von date verän-dert, bleibt der Inhalt der Variablen datum unverändert:

user@linux:/home/user > datum=‘date‘

user@linux:/home/user > echo $datum

Mi Jul 28 11:05:14 CEST 2008

user@linux:/home/user > date

Mi Jul 28 11:13:22 CEST 2008

user@linux:/home/user > echo $datum

Mi Jul 28 11:05:14 CEST 2008

Mit dem Kommando set wird eine Liste aller definierten Variablen auf der Kon-sole angezeigt. Löschen kann man eine Variable mit dem Kommando unset .

user@linux:/home/user > vorname=Felix

user@linux:/home/user > echo $vorname

Felix

user@linux:/home/user > unset vorname

user@linux:/home/user > echo $vorname

user@linux:/home/user >

5.1.1.2 Umgebungsvariablen

Mit Umgebungsvariablen oder Environment-Variablen wird die Umgebung derShell gesteuert. Diese Variablen werden in Startdateien, die beim Starten der bashausgeführt werden, mit Werten initialisiert. Zur besseren Übersicht sind die Va-riablennamen meist in Großbuchstaben geschrieben. Eine Umgebungsvariablezeichnet sich dadurch aus, dass sie an Kind-Prozesse weitergegeben wird. Mit

83

Page 36: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Kapitel 6

Befehlsübersicht a-z

6.1 Hinweise zu Befehlsoptionen

Allgemein haben Linux--Befehle das Format:

Kommando [Option [Arugment ]][...]

Optionen beginnen meist mit einem vorangestelltem Minus-Zeichen (- ) und kön-nen ggf. Argumente besitzen. Folgende Optionen gibt es bei vielen Befehlen.

Tabelle 6.1: Allgemeine Optionen

Option Beschreibung

-h , --help Mit dieser Option werden eine kurze Syntaxbeschreibungund die möglichen Optionen des Befehls ausgegeben

-v , --verbose Mit dieser Option wird der Befehl meist veranlaßt, eine sog.wortreiche Ausgabe durchzuführe. Man kann auch sagen,der Befehl ist mit dieser Option „geschwätziger“.

-r , -R steht für rekursiv und weist den Befehl an, auch Unterver-zeichnisse in seine Aktivitäten einzubeziehen. Befehle, diemit Dateien und Verzeichnissen arbeiten, besitzen diese Op-tion.

6.1.1 Erläuterungen zur syntaktischen Beschreibung

Die Überschrift zu jedem Befehl enthält den Namen und die Sektionsnummerder man-Pages. Jede Befehlsbeschreibung enthält folgende Bereiche:

115

Page 37: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

6 Befehlsübersicht a-z

❏ ❙ Einsatz:ob es sich um ein Anwender- , Administratoren-Kommando oder einen Diensthandelt

❏ ❙ Anwendung:eine kurze Erklärung, was der Befehl macht

❏ ❙ Syntax:eine syntaktische Beschreibung des Befehls

❏ Tabelle mit Optionen:

eine Beschreibung der Optionen, sofern vorhanden

❏ ❙ Beispiel:ein oder mehrer Beispiele zur Anwendung des Befehls

❏ ❙ Besonderheiten:beschreibt Besonderheiten des Befehls und Hinweise zur Ausführung (nichtbei jedem Befehl vorhanden)

❏ Ausgabebeschreibung:

beschreibt die Ausgabe des Befehls (nicht bei jedem Befehl vorhanden)

❏ Dateien:

beschreibt Dateien die der Befehl nutzt oder verändert (nicht bei jedem Be-fehl vorhanden)

❏ ❙ Siehe auch:enthält eine Liste von Kommandos, die im gleichen Kontext verwendet wer-den.

Folgende Tabelle 6.2 beschreibt die im weitern verwendeten Notationen bei dersyntaktischen Beschreibung eines Kommandos.

Tabelle 6.2: Eingesetzte Notation

Notation Bedeutung

[A] Angaben in eckigen Klammern [ ] sind optional (DieKlammern sind nicht einzugeben).

[A[B]] A und B sind optional. A kann ohne B angegeben werden oderbeide zusammen. B alleine ist jedoch nicht erlaubt.

[...] Mehrere Angaben des vorangehenden Typs können optionalwiederholt werden.

A | B [A | B] Bei Angaben, die durch einen Strich | (ODER) getrennt sind,darf wahlweise nur eine Angabe gemacht werden. (ODER-Zeichen sind nicht einzugeben)

116

Page 38: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

6.1 Hinweise zu Befehlsoptionen

Tabelle 6.2 – Fortsetzung

Notation Bedeutung

ABC +x Begriffe, Zeichen und Buchstaben in Fettschrift sind Schlüs-selwörter und exakt wie dargestellt einzugeben.

Wort N Begriffe und Buchstaben in Kursivschrift sind durch die je-weils möglichen Angaben zu ersetzen.

��

��DEL��

��Return Tastenbezeichnung in Versalien sind Sondertasten oder Ta-

stenkombinationen, z. B. Delete-Taste, Enter-Taste.��

��CTRL+��

��v Tastenkombination (Taste

��

��CTRL gedrückt halten und Taste

��

��v

betätigen).��

��t��

��z Tastenfolge (zuerst Taste

��

��t betätigen, anschließend Taste

��

��z ).

Die Reihenfolge der Angaben ist in den meisten Fällen zwingend einzuhalten. Li-nux unterscheidet zwischen Groß- und Kleinschreibung. Die Begriffe Befehl undKommando werden in dieser Referenz gleichwertig im Sinne von Betriebssystem-Kommando verwendet. Der Begriff Kommando wird auch für Steueranweisun-gen in interaktiven Programmen verwendet.

Bei den Beispielen unterscheidet sich der Prompt je nach dem, ob es sich um einKommando handelt das jeder Benutzer starten darf (user@linux:~ > ) oderob das Kommando vom Benutzer root auszuführen ist (linux: # ).

Beispiel:shutdown -h|-r [Optionen ] [-t sec ] time [warning-message ]

Mit dem Befehl shutdown muss entweder die Option -h (halt) oder -r (reboot)angegeben werden. Weitere Optionen sind optional. Die Option -t braucht je-doch die Angabe einer Sekundenanzahl (es ist die Anzahl der Sekunden, die zwi-schen dem Versenden des SIGTERM-Signals und dem darauffolgenden SIGKILL-Signals verstreichen soll). Wird diese Option samt Sekundenangabe weggelas-sen, so greift der voreingestellte Standardwert. Die Angabe time muss unbe-dingt gemacht werden, um den Zeitpunkt des eigentlichen Herunterfahrens desSystems zu spezifizieren. Die warning-message ist wiederum optional zu derohnehin erfolgenden Ausgabe, dass das System heruntergefahren wird. Mit denOptionen können damit den Benutzern ergänzende Informationen geliefert wer-den. Ein tatsächlich abgesetzter Befehl kann wie folgt aussehen:

shutdown -h +10 Dringende Wartungsarbeiten

Das Herunterfahren des Systems soll in 10 Minuten durchgeführt werden. Alswarning-message erscheint „Dringende Wartungsarbeiten“.

shutdown -rf now

117

Page 39: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

6 Befehlsübersicht a-z

Das Herunterfahren des Systems soll sofort (statt now kann auch +0 angegebenwerden) und als reboot durchgeführt werden (-r ), wobei jedoch ein sog. fast

reboot (-f ) durchgeführt wird, d. h. beim Hochfahren des Systems wird die Über-prüfung des Dateisystems ausgelassen. Es ist keine warning-message angegeben.

6.1.2 Linux-Befehle

alias (bash-builtin)

❙ Einsatz: Anwender

❙ Anwendung: alias ist eine interne Shell-Funktion (kein eigener Prozess). Abkürzungen für Befehledefinieren. Die Shell gestattet es, für Befehle und deren Parameter Alias-Namen zu definieren. Vorallem bei häufig gebrauchten bzw. komplexen Befehlen ist dies sinnvoll. Mit Alias-Namen kann mannicht nur bestehende Kommandos verändern, man kann auch neue Kommandos definieren.

❙ Syntax: alias neuerBefehl ="alter Befehl "

❙ Besonderheiten: Die Shell wertet zuerst die Alias-Namen aus. Wird der eingegebene Befehl nicht un-ter den Alias-Namen gefunden, so wird nach dem passenden Kommando im Dateisystem gesucht.Alias-Namen haben damit auch Vorrang vor gleichnamigen Befehlen. Wenn man ein Alias mit demBefehl alias definiert, so gilt dieser Alias nur solange, bis die Shell beendet oder die Definition mitdem Befehl unalias wieder rückgängig gemacht wird. Soll ein Alias-Name für einen Benutzer dau-erhaft definieren werden, so muss die Alias-Anweisung in eine der Benutzerstartdateien (.profile )im Heimatverzeichnis des Benutzers eingetragen werden. Wird die Alias-Anweisung in die Datei.bashrc im Heimatverzeichnis des Benutzers eingetragen, so gilt der Alias auch in jeder Sub-Shellder Login-Shell.

❙ Beispiel:

user@linux:~ > alias rm="rm -i"

Mit dieser Eingabe wird festgelegt, dass beim Ausführen des Löschbefehls rm der Befehl rm -i aus-geführt wird. Es wird also vor dem Löschen erst noch einmal nachgefragt.

❙ Siehe auch:: unalias auf Seite 291.

apropos (1)

❙ Einsatz: Anwender

❙ Anwendung: Erleichtert das Durchsuchen von man-pages zu einem bestimmten Thema. Das Kom-mando apropos durchsucht die Titel der man-pages und die in den man-pages entaltenen Kurz-beschreibungen nach dem angegebenen Stichwort. Wird eine Übereinstimmung gefunden, so wirdder Name der man-Page, die Sektion und eine Kurzbeschreibung des Befehls ausgegeben. Standard-mäßig wird der Suchbegriff als regulärer Ausdruck behandelt. Das Stichwort kann auch Wildcardsenthalten (-w ). Man kann die Suche auch auf das exakte Stichwort beschränken (-e ).

❙ Syntax: apropos [-e|-w|-r] Stichwort

Tabelle 6.3: Optionen zu apropos

Option Beschreibung

-r , --regex Jedes Stichwort wird als regulärer Ausdruck verstanden, was auch dem Stan-dardverhalten entspricht.

118

Page 40: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

6 Befehlsübersicht a-z

user@linux:~ > cd ..

Das Verzeichnis /etc wird zum neuen Arbeitsverzeichnis:

user@linux:~ > cd /etc

Es wird ins vorherige Arbeitsverzeichnis zurückgewechselt:

user@linux:~ > cd -

cfdisk (8)

❙ Einsatz: root

❙ Anwendung: Partitionierung der Festplatte. Der Befehl cfdisk erfüllt die gleiche Funktion wie derBefehl fdisk , nur ist er übersichtlicher und komfortabler, da er über die Pfeil-Tasten und ein Menübedient werden kann. Wird cfdisk aufgerufen, so liefert er zunächst eine Übersicht über die aktu-elle Partitionierung der Festplatte (gefundenen Partitionen und jeweilige Größe). Mit den Pfeil-nach-oben/unten Tasten kann die Partition ausgewählt werden, mit den Pfeil-nach-rechts/links Tastenkönnen aus dem vorhandenen Menü die Befehle ausgewählt werden.

❙ Syntax: cfdisk [Optionen ] [Gerät ]

Tabelle 6.8: Optionen zu cfdisk

Option Beschreibung

-a Als Cursor wird ein Pfeil, anstelle einer invertierten Zeile dargestellt.

-g Verwendet nicht die Plattengemoetrie des Festplatten-Treibers

-z Startet das Programm mit einer leeren Partitionstabelle, Partitionen auf der Festplattebleiben zunächst erhalten

-c cyl überschreibt BIOS-Zylinder mit cyl

-h hd überschreibt BIOS-Köpfe mit hd

-s sec überschreibt BIOS-Sektoren pro track sec

-P opt Gibt die Paritionstabelle im angegebenen Format opt aus. Formate sind: „r “ (raw-Daten-Format), „s“ (sector-order-Format),“t “ (partion-table-raw-format)

❙ Besonderheiten: Sollte der Befehl cfdisk auf einem System nicht zur Verfügung stehen, so verwen-den Sie das dialogorientierte nicht ganz so komfortable fdisk . Es versteht sich, dass dieses Komman-do mit äußerster Vorsicht verwendet werden muss!

❙ Beispiel:

linux:~ # cfdisk

Es wird die aktuelle Partitionierung von /dev/hda ausgegeben (Standard).

❙ Siehe auch: fdisk auf Seite 164.

chage (1)

❙ Einsatz: root

❙ Anwendung: Einstellungen zu Benutzerpasswörtern vornehmen, (chage = change age). Dies be-trifft vor allem Passwort-Lebensdauer und Passwort-Verfallsdatum. Sämtliche Zeiteinstellungen zuden Passwörtern werden in der Datei /etc/shadow gespeichert. Die Einstellungen in der Datei

124

Page 41: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

6.1 Hinweise zu Befehlsoptionen

/etc/shadow haben Vorrang vor den Einstellungen in der Datei /etc/passwd , d. h. ist ein Passworttatsächlich abgelaufen, so schafft auch das Ausschalten der Passwortabfrage in der /etc/passwd(das „x“ im Passwort-Feld (2. Feld) entfernen) keine Abhilfe.

❙ Syntax: chage [-m min_days ] [-M max_days ] [-d last_day ] [-I inactive ]

[-E expire_date ] [-W warn_days ] Benutzer

chage -l Benutzer

Tabelle 6.9: Optionen zu chage

Option Beschreibung

-m min_days Der als min_days angegebene Wert gibt die Mindestanzahl an Tagen an,die das Passwort nicht geändert werden darf. Setzt man hier den Wert 0ein, so darf der Benutzer sein Paßwort jederzeit ändern. (4. Feld der Datei/etc/shadow ).

-M max_days Der mit max_days angegebene Wert bezeichnet die maximale Anzahl an Ta-gen die das Passwort, gerechnet ab der letzten Passwort-Änderung, gültigist. Der Benutzer muss sein Passwort vor Ablauf dieser Frist ändern, will erdas Ablaufen seines Passworts und das anschließende Sperren seines Kon-tos verhindern. (5. Feld der Datei /etc/shadow ). Sinnvollerweise wird ein„Warn-Countdown“ (Option -W) und eine Gnadenfrist (Option -I ) einge-stellt.

-d last_day Der Wert last_day bezeichnet das Datum der letzten Passwort-Änderung.Er kann entweder als Anzahl der Tage seit dem 1.1.1970 oder als Da-tum mit dem Format JJJJ-MM-TT angegeben werden (3. Feld der Datei/etc/shadow ).

-E expire_date Dies ist das absolute Verfallsdatum des Benutzerkontos. An dem hier ange-gebenen Datum wird das Konto unabhängig aller anderen Einstellungen ge-sperrt. Der Wert expire_date kann entweder als Anzahl der Tage seit dem1.1.1970 oder als Datum im Format JJJJ-MM-TT angegeben werden (8. Feldder Datei /etc/shadow ).

-I inactive Der Wert inactive bezeichnet die Anzahl der Tage, die das Passwort nach Ab-lauf der maximalen Passwort-Gültigkeitsdauer immer noch gültig ist. Wirdhier der Wert 0 eingesetzt, so kann kein regelmäßiges Ändern des Passwortsdurch den Benutzer erzwungen werden (7. Feld der Datei /etc/shadow ).

-W warn_days Der Wert warn_days bezeichnet die Anzahl der Tage, ab denen der ”Warn-Countdown” läuft. Beim Einloggen erhält der Benutzer ab diesem Tag beijeder Anmeldung einen Hinweis, in wie vielen Tagen sein Passwort abläuft(6. Feld der Datei /etc/shadow ).

-l Benutzer (list) die Abfrageoption ermöglicht allen Usern, ihre Passwort-Einstellungenabzufragen.

❙ Besonderheiten: Ohne Angabe einer Option wird ein interaktives Programm gestartet, welches er-möglicht, die aktuellen Werte aller Felder der Datei /etc/shadow der Reihe nach zu bearbeiten. Dieaktuellen Werte sind in eckigen Klammern angegeben. Gibt man einen neuen Wert ein, so wird erübernommen, gibt man nichts ein, so gilt weiterhin der aktuelle Wert.

Statt mit dem Kommando chage können sämtliche Passwort-Einstellungen durch Editieren der Da-tei /etc/shadow vorgenommen werden. Zum Aufbau der /etc/shadow (siehe man 5 shadow).Feldangaben in den folgenden Ausführungen beziehen sich immer auf die Datei /etc/shadow .

125

Page 42: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

6 Befehlsübersicht a-z

Soll aus Sicherheitsgründen ein regelmäßiges Ändern des Passwortes erzwungen werden, muss ne-ben der Mindest-Lebensdauer und der maximalen Lebensdauer unbedingt auch eine Angabe ge-macht werden, wie lange das Passwort nach Ablauf der maximalen Lebensdauer noch gültig ist, esmuss ein Wert >=1 angegeben werden!

Will man verhindern, dass ein Benutzer sein Passwort selbst verändern kann, so genügt es, die Min-dest-Passwort-Lebensdauer höher einzustellen als die maximale Passwort-Lebensdauer.

❙ Beispiel:

linux:~ # chage -M 20 peter

Die Maximale Passwort-Lebensdauer für den Benutzer peter wird auf 20 Tage festgelegt.

linux:~ # chage -E 2008-07-31 peter

Das absolute Verfallsdatum für das Konto des Benutzers peter wird auf den 31. Juli 2008 festgelegt.

linux:~ # chage peterÄndere Shadow-Informationen für peter.

Minimales Passwortalter [0]: 20

Maximales Passwortalter [99999]: 50

Password Expiration Warning [7]:

Passwort Inaktive [-1]: 2

Letzte Passwortänderung (JJJJ-MM-TT) [2004-08-14]:

Account Expiration Date (YYYY-MM-DD) [1969-12-31]: 2004- 09-30Aging-Informationen geändert.

Hier wurde das interaktive Programm zur Bearbeitung der Passwort-Einstellungen gestartet. Bei denersten beiden und beim letzten Eintrag wurden die aktuellen Werte überschrieben, der Rest wur-de durch Drücken der Enter-Taste beibehalten. Die neuen Einstellungen können wie folgt abgefragtwerden:

linux:~ # chage -l peterMinimum: 20

Maximum: 50

Warning: 7

Inactive: 2

Last Change: Aug 14, 2004

Passwort verfällt: Okt 03, 2004

Passwort Inaktive: Okt 05, 2004Account verfällt: Sep 30, 2004

chattr (1)

❙ Einsatz: Anwender

❙ Anwendung: Änderung von Dateiattributen (chattr = change attributes) in einem Linux-Dateisystemvom Typ ext2 oder ext3. Sämtliche Verwaltungsinformation zu Dateien wird im jeweiligen Inodegespeichert, so auch die Dateiattribute, die meist nicht näher erläutert werden. Man sollte jedochzumindest ihr Konzept verstanden haben, selbst wenn man nicht so oft in die Verlegenheit kommenwird, sie anzuwenden. Die Attribute stellen sozusagen eine tiefergehende Ebene der Dateirechte dar.Vor allem für einige wichtige Systemdateien ist das Setzen dieser Attribute sinnvoll. Mit dem Befehllsattr (= list attributes) kann überprüft werden ob und welche Attribute für eine Datei gesetzt sind(siehe Eintrag zu lsattr auf Seite 210).

126

Page 43: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Index

/etc/fstab, 332/etc/group, 91, 93, 328/etc/inittab, 329/etc/issue, 333/etc/motd, 333/etc/nologin, 333/etc/passwd, 91, 92, 327/etc/profile, 333/etc/shadow, 91, 92, 328Bourne Again Shell, 4

abmelden, 205Alias löschen, 291Anmeldezeiten ausgeben, 200Archiv, 137Archiv erstellen, 271archivieren, 137Attribute, 210Attribute anzeigen, 210Ausdruch auswerten, 274Ausdruck (awk), 311Ausdruck auswerten, 162Ausführrecht, 61Ausführungszeit anzeigen,

276Ausgabe, 158Ausgabeanweisung (awk),

312

bash, 4Befehle abkürzen, 118Befehle (vi), 318Befehle gruppieren, 12Befehlshistorie, 6Befehlsinformationen anzei-

gen, 303Befehlsvervollständigung, 5Benutzer anlegen, 294

Benutzer erstellen, 91Benutzer löschen, 296Benutzereinstellungen än-

dern, 297Benutzeridentität wechseln,

268Benutzerinformationen aus-

geben, 170Benutzerinformationen än-

dern, 128Benutzerinformationen an-

zeigen, 189Benutzerkonfigurationsdateien,

333Benutzerliste anzeigen (ange-

meldet), 299Benutzerverwaltung, 90Berechnungen durchführen,

162Berechtigung, 61Bereich (awk), 311Betriebssystem Informatio-

nen, 291bg, 46Bildschirm löschen, 134Blockorientiertes Gerät, 51break Anweisung, 27Builtin-Variablen (awk), 314

case Anweisung, 26cd, 53chgrp, 67chmod, 64chown, 67chroot-Umgebung, 133continue Anweisung, 27cp, 55

Cursorpositionierung (vi),318

Daemon, 108Daemon Prozess, 38Datei dekomprimieren, 181Datei komprimieren, 182Datei konvertieren, 147Datei sortieren, 265Datei umbenennen, 224Datei aufteilen, 141, 267Datei drucken, 207Datei durchsuchen, 73Datei Eigentümer, 67Datei Gruppe, 67Datei kopieren, 55, 136Datei löschen, 57, 251Datei nach Datum suchen, 58Datei nach Größe suchen, 59Datei rückwärts ausgeben,

269Datei Rechte, 130Datei suchen, 204Datei umbenennen, 56Datei verschieben, 56, 224Dateianfang ausgeben, 185Dateiart bestimmen, 166Dateiarten, 51Dateiattribute ändern, 126Dateideskriptor, 5, 9Dateieigentümer ändern, 132Dateien

versteckte, 54Dateien durchsuchen, 176Dateien seitenweise ausge-

ben, 237Dateien mischen, 265Dateien suchen, 57, 167

335

Page 44: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Index

Dateien vergleichen, 135Dateien verknüpfen, 195Dateien zeilenweise vergli-

chen, 136Dateien zusammenfügen,

123, 234Dateiende ausgeben, 270Dateiliste anzeigen, 209Dateiname extrahieren, 155Dateinamensubstitution, 11Dateisystem, 77Dateisystem überprü-

fen/reparieren, 172Dateisystem synchronisieren,

269Dateisystem aushängen, 290Dateisystem einhängen, 222Dateisystem erstellen, 219Dateisystem kopieren, 147Dateisystem-Baums, 148Dateisystemrechte, 61Dateisystemstruktur, 77Dateiunterschiede feststellen,

150Dateiverarbeitung, 76Dateizeit verändern, 280Datenaustausch, 147Datenblock, 76Datensicherung, 68Datum setzen, 145Datum-Befehle, 112Datumsformat, 145Dekomprimierung, 181DHCP, 107Disketten formatieren, 163DNS, 152DNS Informationen ausge-

ben, 186DNS Abfrage, 152Dokumentation, 6Domänen-Suchliste, 153Druckauftrag, 206Druckauftrag löschen, 208drucken, 207Drucker verwalten, 205Druckerstatus, 205Druckerwarteschlange anzei-

gen, 206dump, 231Dynamic Host Configuration

Protocol, 107dynamische Bibliotheken, 200

effektive Benutzeridentitätausgeben, 306

Eingabemodus (vi), 319Eingaben in Skripten, 32Einstellungen änderen (vi),

325Elternprozess, 38Entpacken, 181env, 84Environment Variablen, 83Environment-Variable, 81Ergebnisse umlenken, 8Exit-Code, 160export, 84ext-Dateisystem, 77ext2 Dateisystem erzeugen,

218ext2 Dateisysteminformatio-

nen, 156ext2/3 Dateisystem überprü-

fen, 157ext2/3 Dateisystem reparie-

ren, 157ext2/3 Parameter, 287ext3 Dateisysteminformatio-

nen, 156

Fehlerausgabe umleiten, 9fehlerhaftes Dateisystem, 148Felder ausschneiden, 143fg, 46FIFO, 52find, 57finger print, 128Finger-Information, 128Finger-Informationen ausge-

ben, 170for Anweisung über Liste, 22for Anweisung mit Zähler, 22fork, 37Formatdeskriptor, 145Formatstring (awk), 312freier Speicherplatz, 149Funktion, 13Funktion beenden, 251Funktion löschen, 293Funktionen (awk), 313Funktiosaufrufe (awk), 313

Gerätedatei anlegen, 220GMT, 145GNU info, 8Greewich Mean Time, 145grep, 73

group Datei überprüfen, 180Gruppe erstellen, 177Gruppe löschen, 178Gruppen erstellen, 93Gruppen-Einstellungen än-

dern, 179Gruppen-Passwort zuweisen,

176Gruppenidentifikation än-

dern, 227Gruppenmitgliedschaft an-

zeigen, 180Gruppenzuordnung ändern,

129gshadow Datei überprüfen,

180

Hardware-Uhr stellen, 188Hardwareuhr, 112Hash-Tabelle bearbeiten, 184hexadezimal, 231Hilfe ausgeben, 186Hintergrundprozess, 45Hintergrundprozesse, 194Hintergrunprozess Beendi-

gung abwarten, 300History-Mechanismus, 6

I-Node, 78if Anweisung, 24Info-Dokumente anzeigen,

192init Prozess, 37Init-Prozeß, 37init-Prozess, 194inittab, 37Internet Namensauflösung,

152IPv6-Adresse, 191

job, 45job-control, 194Jobs, 165jobs, 45Journal, 148

Kalender, 122Kanäle, 8kill, 43Kindprozess, 38Kommando-Pfad ermitteln,

304Kommandoausführung ver-

zögern, 264

336

Page 45: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Index

Kommandos ausführen, 160Kommandosubstitution, 12Kommandosubstitutionszeichen,

12Kommandotyp, 289Kommandozeilenmodus (vi),

323Konfigurations-Dateien, 326Kontrollfluss (awk), 311Kontrollstrukturen, 18Konvertierungen, 147kopieren (vi), 321Kurzbeschreibung anzeigen,

301

Leserecht, 61let, 14Link, 52Link erzeugen, 57Link hart, 52Link symbolisch, 52links erstelln, 203Literale (awk), 314ln, 57Login-Name ausgeben, 205Login-Shell ändern, 134Login-Shell beenden, 205ls, 53

Magnetband, 137man, 6man durchsuchen, 118man page, 215Manual, 6Manual-Seiten, 215maskieren, 10Maximum Transfer Unit, 190Metazeichen, 10Mustervergleich durchfüh-

ren, 162mv, 56

Nachricht versenden, 306Nachricht senden (an alle),

300Nachrichten versen-

den/empfangen, 212Nachrichtenempfang ab-

schalten/einschalten, 217NAT, 106Network Address Translati-

on, 106Netzwerk konfigurieren, 190Netzwerkstatistik, 224

Netzwerkstatus, 224Netzwerkverbindungen an-

zeigen, 224Neustart, 247

Online-Handbücher, 215Operatoren für reguläre Aus-

drücke, 71Optionen auswerten, 175OSI-Referenzmodell, 101

Package Manager, 255Packen, 182pager, 201Paketverwaltung, 255Parameterübergabe an Skrip-

te, 30Partition, 77Partitionierung, 124, 164Partitionsinformationen an-

zeigen, 164Passwort ändern, 233Passwort-Lebensdauer, 124Passworteinstellungen, 124PATH Variable, 28periodische Aufträge, 138periodische Aufträge verwal-

ten, 139Pfad, 53Pfad absolut, 53Pfad relativ, 53Pipe, 9, 52Pipes erstellen, 220Pipes sichern, 273Plattenplatz-Verbrauch über-

prüfen, 244Plattenplatzbeschränkung

ein-/ausschalten, 245Plattenplatzbeschränkung

anzeigen, 244Plattenplatzbeschränkung

einrichten, 159POP3, 212Positions-Parameter, 30Positionsparameter verschie-

ben, 262Prüfsumme berechnen, 268Priorität, 228promiscuous Modus, 190Prompt, 4Prozedur (awk), 311Prozedur beenden, 251Prozess, 35Prozess anzeigen, 39

Prozess beenden, 40, 197Prozess im Hintergrund, 121Prozess im Vordergrund, 165Prozess-Monitor, 277Prozess-Priorität, 228Prozess-Priorität verändern,

249Prozess-Status anzeigen, 239Prozesse anzeigen, 239Prozesshierarchie, 37Prozesshierarchie ausgeben,

242Prozessnummer ermitteln, 43Prozessnummer für Dateien

ermitteln, 173Prozessverwaltung, 36Prozesszustand, 36ps, 39pstree, 37Psuedo-Parallelität, 35Puffer (vi), 322pwd, 53

Quota Zusammenfassung,250

Quota-System, 159Quotas überprüfen, 244Quoting, 10

read Kommando, 32Rechenoperationen (awk),

312Rechenoperatoren, 15rechnen, 14Rechnerinformationen, 291Rechte, 61Rechte ändern, 64, 129Rechte oktal vergeben, 64Rechte symbolisch vegeben,

65Rechte Voreinstellung, 65Reguläre Datei, 51regulärer Ausdruck, 71reise Dateisystem Probleme

lösen, 148reiser, 78reiser Dateisystem, 148reiser Dateisystem überprü-

fen, 247reiser Dateisystem erstellen,

221rm, 57rmdir, 57root, 133

337

Page 46: Hans-Werner Heinl:Das Linux-Befehle-Buch - millin.de · Es ist nicht ganz einfach, den richtigen Einstieg in ein Thema wie Linux-Befehle zu finden. Die meisten Leser werden schon

Index

root-Verzeichnis, 133root-Verzeichnis ändern, 133Route verfolgen, 283Routing-Tabelle, 253Routing-Tabelle anzei-

gen/ändern, 253Routinginformationen anzei-

gen, 224Run-Level, 38, 194Runlevel anzeigen, 257

Scheduler, 35Schreibrecht, 61Schreibschutz für Variablen,

246Seiten formatieren, 237Server, 38set, 83, 86SGID-Bit, 62Shell, 4Shell beenden, 160Shell Optionen, 86Shell Skripte, 28Shell Variable, 81Shell-Optionen, 260Shell-Variablen, 81Shell-Variablen anzeigen, 260Signal, 197Signal abfangen, 284Signal an Prozess mit Name

senden, 198Signal an Prozess mit Num-

mer senden, 197Signale abfangen, 44Signale ignorieren, 231Signalliste, 285Singal senden, 40Skripte, 28Skripte ausführen, 28Skripte erstellen, 29SMTP, 212Socket, 52, 108Spalten ausschneiden, 143Speicherverbrauch anzeigen,

155Standardausgabe, 8Standardeingabe, 8Standardfehlerausgabe, 9Startinformationen anzeigen,

198Startskripte, 38Stellungsparameter überprü-

fen, 174

Sticky-Bit, 62Stream Editor, 258suchen (vi), 323suchen / ersetzen (vi), 324Suchmuster, 71Suchpfad, 28Suffix entfernen, 121SUID-Bit, 62Superblock-Informationen,

148Superuser, 133Swap Prozess, 37synchronisieren, 269System initialisieren, 194System anhalten, 183, 263Systemadministrator, 133Systemauslastung anzeigen,

277Systembenutzer ausgeben,

305Systemuhr, 112Systemzeit, 145Systemzeit anzeigen (abge-

laufene), 277

Tabulatorzeichen umwand-len, 161

Terminalname ausgeben, 287Terminalnutzung anzeigen,

198test, 19test Operatoren, 19Text löschen (vi), 320Textdateien anzeigen, 201,

221Textformatierung, 171trap, 44

Uhr stellen, 188Uhrzeit setzen, 145umask, 65Umgebungs Variablen, 83Umgebungs-Variable, 81Umgebungsvarieblen abfra-

gen / setzen, 159Umlenkzeichen, 9undo (vi), 321Universal Time Convention,

145unset, 83until Anweisung, 24UTC, 145

Variable, 81Variable löschen, 293Variable (awk), 314Variablen exportieren, 161Variablen vordefinierte, 84Variablensubstitution, 82Vergleich (awk), 310Vergleiche durchführen, 19Verknüpfungszeichen, 13verschieben (vi), 321versteckte Dateien, 54verwaiste Prozess, 38Verzeichnis, 51Verzeichnis erstellen, 217Verzeichnis kopieren, 56Verzeichnis löschen, 57, 252Verzeichnis wechseln, 53, 123Verzeichnishierarchie, 49Verzeichnisinhalt anzeigen,

209vi (visual editor), 316vi Einstellungen, 325Visual Modus, 323

Wörter zählen, 301while Anweisung, 23wildcard, 11

xtrace-Modus, 89

Zeichen zählen, 301Zeichen ersetzen, 281Zeichenorientiertes Gerät, 51Zeile einlesen, 246Zeilen auffüllen, 171Zeilen löschen (doppelte], 292Zeilen lesen, 202Zeilen numerieren, 229Zeilen zählen, 301Zeilen zusammenfügen (vi),

321Zeilenumbruch einfügen, 172Zeit-Befehle, 112Zeitgesteuerte Aufträge, 138zeitgesteuerte Ausführung,

119Zeitstempel verändern, 280Zombie, 38Zugriffsrechte ändern, 129Zugriffsrechte Voreinstel-

lung, 289

338