Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX...

15
Arnold Willemer Wie werde ich UNIX-Guru?

Transcript of Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX...

Page 1: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

Arnold Willemer

Wie werde ichUNIX-Guru?

Page 2: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

Inhalt

Vorwort 19

1 Das Thema UNIX 25

1.1 Besonderheiten von UNIX 25

1.1.1 Dateien und Verzeichnisse 25

1.1.2 Das offene System 25

1.1.3 AAehrbenutzersystem 26

1.1.4 Datei rechte 27

1.1.5 Der Administrator 28

1.1.6 Verzeichnisbaum und Speichermedien 29

1.2 Die UNIX-Varianten 31

1.2.1 AT&T 31

1.2.2 UNIX an der Uni 32

1.2.3 UNIX wird kommerziell 32

1.2.4 Die Rache der Enterbten 33

1.2.5 Mac OSX 361.2.6 UNIX wird verkauft 38

Teil 1 Anwendung 39

2

2.1

2.1.1

2.1.2

2.1.3

2.2

2.2.1

2.2.2

2.2.3

2.2.4

2.2.5

2.2.6

2.2.7

2.2.8

2.3

2.3.1

Desktops 41Gemeinsamkeiten 42

Tierhaltung: Die Maus 43

Fenster ohne Durchsicht 44

Menüs ohne Kalorien 48

KDE 49

Anmeldung 49

Übersicht 50

Das Panel 51

Programme und Fenster 52

Desktop und Konqueror 53

Konfiguration 60

Terminalsitzung 62

Verlassen 63

GNOME 63

Anmelden 63

Inhalt 5

Page 3: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

2.3.22.3.3

2.3.4

2.3.5

2.3.6

2.3.7

2.4

2.4.1

2.4.2

2.4.3

2.5

2.5.1

2.5.2

2.5.3

2.5.4

2.5.5

2.5.6

2.5.7

2.5.8

Übersicht 63Das Panel 64

Desktop und Icons 66

Der Dateimanager Nautilus 67

Terminalfenster 69

Verlassen 70

Mac OS X 70

Der Finder 72

Das Dock 74

Terminalbetrieb 75

CDE 76

Anmeldung 76

Übersicht 76

Panel 77

Das Menü 78

Fenster und Symbole 78

Dateimanager 78

Werkzeuge 81

Terminalsitzung 81

3.1

3.2

3.2.1

3.2.2

3.2.3

3.2.4

3.3

3.4

3.4.1

3.4.2

3.4.3

3.4.4

3.4.5

3.4.6

3.5

3.5.1

3.5.2

3.5.3

3.5.4

3.6

Alle Macht den Tasten 83

Personenkontrolle 83

Fragen Sie Dr. UNIX 85

Referenzhandbuch man 85

info 88

Howto 90

Internet 90

So sage ich es meinem UNIX 91

Operationen mit Dateien 92

Eine kleine Beispielsitzung 93

Dateien anzeigen: Is 95

Dateien kopieren: cp 97

Dateien verschieben oder umbenennen: mv 98

Dateien löschen: rm 99

Verzeichnisbefehle: mkdir, rmdir, cd und pwd 99

Der UNIX-Verzeichnisbaum 100

Navigation 100

Ein Blick unter die Haube: i-nodes 101

Was ist wo? 102

Suche im Verzeichnisbaum: find 104

Dateieigenschaften 108

3.6.1

3.6.2

3.6.3

3.6.4

3.6.5

3.6.6

3.7

3.7.1

3.7.2

3.8

3.8.1

'3.8.2

3.9

3.9.1

3.9.2

3.9.3

3.9.4

3.10

3.10.1

3.10.2

3.10.3

3.10.4

3.10.5

3.10.6

3.10.7

3.10.8

3.10.9

3.1'

3.12

3.12.1

3.12.2

3.12.3

3.13

3.13.1

3.13.2

3.13.3

3.13,

3.14

3.15

3.15.1

6 Inhalt

Page 4: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

3.6.1 Eigentümer wechseln: chown und chgrp 108

3.6.2 Berechtigungen: chmod 109

3.6.3 Neuer Zeitstempel: touch 113

3.6.4 Links: Zwei Namen, eine Datei 114

3.6.5 Besondere Dateien 117

3.6.6 Der Dateityp: file 118

3.7 Zugriff auf mehrere Objekte 118

3.7.1 Wildcards: *, ? und die eckigen Klammern 118

3.7.2 Sonderzeichen als Parameter 119

3.8 Editoren 120

3.8.1 vi 120

3.8.2 emacs 130

3.9 UNIX-Kommandos verknüpfen 132

3.9.1 Ein- und Ausgabe als Datenstrom 133

3.9.2 Umleitung 133

3.9.3 Piping 135

3.9.4 Verschachtelte Befehlsargumente 136

3.10 Praktische Helfer 137

3.10.1 Ausgabe einer Datei: cat 137

3.10.2 Seitenweise: more 137

3.10.3 Durchsuchungsbefehl: grep 138

3.10.4 Wenn ich auf das Ende sehe: tail 139

3.10.5 Wortzähler: wc 139

3.10.6 sort 139

3.10.7 sed 140

3.10.8 awk 1443.10.9 Weitere Werkzeuge im Überblick 148

3.11 Reguläre Ausdrücke 148

3.12 Pack deine Sachen und geh ... 152

3.12.1 Verschnüren: tar 152

3.12.2 Zusammenpressen: compress und gzip 154

3.12.3 Kombination aus Packen und Pressen 154

3.13 Prozesse 155

3.13.1 Hintergrundbearbeitung und Reihenfolge 155

3.13.2 Prioritäten: nice 157

3.13.3 Ausloggen bei laufendem Prozess: nohup 158

3.13.4 Prozessliste anzeigen: ps 158

3.13.5 Stoppen eines Prozesses: kill 159

3.13.6 Programmabbruch 160

3.14 Umgebungsvariablen 161

3.15 Die Shell 164

3.15.1 alias 165

Inhalt 7

Page 5: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

3.15.2 Startupdateien der Shell 165

3.15.3 Bourne-Shell (sh) und POSIX 166

3.15.4 Korn-Shell (ksh) 166

3.15.5 C-Shell (csh) 170

3.15.6 Bourne-Again-Shell (bash) 172

3.16 Ausgaben auf dem Drucker 174

3.16.1 BSD-Unix: Ipr, Ipq und Iprm 174

3.16.2 AT&T: Ip, Ipstat und cancel 176

3.16.3 Die neue Generation: LPRng und CUPS 176

3.16.4 Druck formatieren: pr und a2ps 176

3.17 Zeitversetztes Arbeiten 177

3.17.1 Die aktuelle Zeit 177

3.17.2 Regelmäßige Arbeiten: crontab 179

3.17.3 Zeitversetzter Job: at 180

4 Anwendersoftware für UNIX 181

4.1 Office: Textverarbeitung, Kalkulation 181

4.1.1 StarOffice und OpenOffice.org 182

4.1.2 Weitere Office-Pakete 197

4.1.3 Acrobat Reader und PDF-Dateien 199

4.1.4 Das Satzsystem T̂ X 200

4.2 Termine und Adressen 206

4.2.1 Anschluss eines PDAs 206

4.2.2 Evolution 207

4.2.3 KDE: KDE-Adressbuch und KOrganizer 209

4.2.4 J-Pilot 211

4.3 Grafik 211

4.3.1 Bildbearbeitung: GIMP 212

4.3.2 Scannen 214

4.4 Internet 215

4.4.1 Webbrowser 216

4.4.2 E-Mail-Client 217

4.4.3 Evolution 219

4.4.4 Newsgroups: Pan und KNode 221

4.5 Musik 223

4.5.1 Musik aufnehmen 223

4.5.2 MP3 225

4.6 CDs und DVDs 226

4.6.1 Audio-CDs abspielen 226

4.6.2 Audio-CDs auslesen 226

4.6.3 Daten-CDs einbinden 226

5.15.1.1

5.1.2

5.25.2.15.2.2

5.35.3.15.3.25.3.35.3.45.3.55.3.65.3.75.3.8

5.45.4.15.4.2

5.5

5.5.1

5.5.2

5.5.3

5.5.4

5.5.5

5.5.65.5.75.5.85.5.95.5.105.5.11

5.65.6.1

5.6.2

5.6.3

8 Inhalt

Page 6: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

4.6.4 CDs brennen mit K3b 227

4.6.5 Audio-CDs von der Konsole brennen 229

Teil 2 Administration 231

5.15.1.15.1.2

5.2

5.2.1

5.2.2

5.35.3.15.3.25.3.35.3.45.3.55.3.65.3.75.3.8

5.45.4.15.4.2

5.55.5.15.5.25.5.35.5.45.5.55.5.65.5.75.5.85.5.95.5.105.5.11

5.65.6.15.6.25.6.3

Administration 233

Die Arbeitsumgebung des Administrators 233

AAinimalsystem 233

Vorsätzliche Behinderung 234

Administrationstools 235

Start über X11 236

Einige Administrationstools kurz vorgestellt 238

Start des Systems 247

Bootprompt 248

Bootkonfiguration: lilo 249

Der Boot-Manager GRUB 250

Bootprobleme 252

Durchlaufen der Runlevel (System V) 252

BSD: /etc/rc 254

System V: init.d 255

Konfigurationsdateien 258

Herunterfahren: shutdown 259

Alles bereit zum Untergang? 260

Wechsel in den Single-User-Modus 260

Benutzerverwaltung 261

Benutzerverwaltung unter UNIX 261

Die Benutzerdatei /etc/passwd 263

Verborgene Passwörter: shadow 266

Benutzerpflege automatisieren 267

Benutzer-Konfigurationsdateien 268

Verzeichnisprototyp: /etc/skel 270

Gruppenverwaltung 271

Benutzerüberwachung 272

Kurzfristiger Benutzerwechsel: su 274

Administrationsaufgaben starten: sudo 275

Pseudobenutzer zum Shutdown 278

Hardwarezugriff unter UNIX:/dev 279

Aufgaben eines Treibers 279

Gerätedateien 280

Umgang mit Gerätedateien 281

Inhalt 9

Page 7: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

5.6.4

5.7

5.7.1

5.7.2

5.7.3

5.7.4

5.7.5

5.7.6

5.7.7

5.7.8

5.7.9

5.7.10

5.7.11

5.7.12

5.7.13

5.8

5.8.1

5.8.2

5.8.3

5.8.4

5.9

5.10

5.10.1

5.10.2

5.10.3

5.10.4

5.10.5

5.11

5.12

5.12.1

5.12.2

5.12.3

5.12.4

5.13

5.13.1

5.13.2

5.13.3

5.13.4

5.13.5

5.13.6

5.13.7

5.13.8

Gerätenamen 283

Festplatten 283

SCSI-Platten 284

IDE-Platten 285

Inbetriebnahme 286

RAID-Systeme 287

Partitionieren 291

Dateisystem erstellen 292

Swapping 294

Einbinden eines Dateisystems: mount 296

Konsistenz der Dateisysteme 301

Journal-Dateisysteme 302

Belegungslisten: df und du 304

Zuteilung des Plattenplatzes: quota 305

Maximalwerte 307

Diskettenlaufwerke 309

Formatieren und Beschreiben 309

mount und eject 310

tar und sync 310

MS-DOS-Disketten 310

CD-ROMs 312

CD-Brenner 312

Datensicherung 313

RW-Medien 316

Multisession 317

ATAPI-Brenner 317

Daten-DVDs brennen 320

USB-Sticks 320

Notebooks 321

PCMCIA 322

Ruhezustand 323

Problematische Peripherie 324

Software für den Akku 325

Datensicherung 327

Vorüberlegungen 327

Das Bandlaufwerk 329

dump 331

tar (tape archiver) 335

cpio 339

Medien kopieren: dd 342

Andere Sicherungstools: AMANDA 342

Beispiel für eine Sicherung auf CD-RW 345

5.14

5.14.1

5.14.2

5.14.3

5.14.4

5.15

5.15.1

5.15.2

5.15.3

5.15.4

5.15.5

5.16

5.16.1

5.16.2

5.16.3

5.16.4

5.16.5

5.16.6

5.17

5.17.1

5.17.2

5.17.3

5.17.4

5.17.5

5.18

5.19

5.19.1

5.19.2

5.20

5.20.1

5.20.2

5.20.3

5.20.4

5.20.5

5.20.6

5.20.7

5.20.8

5.20.9

5.20.10 Pro£

5.20.11 Syst

1O Inhalt

Page 8: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

5.14 Software installieren 347

5.14.1 make als Installationswerkzeug 348

5.14.2 Solaris Packages 349

5.14.3 HP-UX: SD-UX 349

5.14.4 Red Hat Package Manager 350

5.15 Betriebssystem installieren 352

5.15.1 Installation mit Debian 354

5.15.2 Installation von FreeBSD 358

5.15.3 Installation von Red Hat Linux über das Netzwerk 359

5.15.4 Installation von Solaris/86 362

5.15.5 Neuinstallation HP-UX 364

5.16 Druckeradministration 366

5.16.1 Übersicht 367

5.16.2 BSD-Unix: Ipd, Ipr, Ipq und Iprm 367

5.16.3 Linux-PC als Druckserver 371

5.16.4 System V: Ipsched, Ip, Ipstat und cancel 374

5.16.5 LPRng 378

5.16.6 CUPS - Common UNIX Printing System 379

5.17 Terminals 384

5.17.1 Konfiguration der Terminals 385

5.17.2 Die Terminalvariable TERM 387

5.17.3 termcap 387

5.17.4 terminfo 389

5.17.5 Wenn das Terminal durcheinander ist 389

5.18 Anschluss eines Modems 390

5.19 Tuning 391

5.19.1 Optimierung des Dateisystems 391

5.19.2 Wissen, wo der Schuh drückt 394

5.20 Informationen sammeln 399

5.20.1 Versionsinformationen: uname 400

5.20.2 Der syslog-Dämon und die messages-Datei 400

5.20.3 Umgang mit großen Protokolldateien 403

5.20.4 Briefe aus dem Nirvana 406

5.20.5 Bootzeitpunkt und Systemlast: uptime 406

5.20.6 Prozessbeobachter 407

5.20.7 Nicht immer mit Tötungsabsicht: kill 412

5.20.8 Offene Dateien 414

5.20.9 Das Verzeichnis/proc 415

5.20.10 Programmzusammenbrüche (Coredump) 417

5.20.11 Systemabsturz (Kernel-Panic) 417

Inhalt 11

Page 9: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

5.21 Der Kernel 418

5.21.1 Module 419

5.21.2 Dynamische Bibliotheken 421

Teil 3 Netzwerk 423

6.1

6.1.1

6.1.2

6.1.3

6.2

6.2.1

6.2.2

6.3

6.3.1

6.3.2

6.3.3

6.3.4

6.3.5

6.3.6

6.4

6.4.1

6.4.2

6.4.3

6.4.4

6.4.5

6.4.6

6.5

6.6

6.6.1

6.6.2

6.6.3

6.6.4

6.6.5

6.6.6

6.7

6.7.1

6.7.2

6.7.3

12 Inhalt

Netzwerk 425

Client-Server-Architekturen 426

Ethernet als Verkabelungsbeispiel 426

Die PseudoSchnittstelle loopback 428

Pakete in Paketen 428

TCP/IP, der Standard 428

DieTCP/IP-Nummer 428

Das Prüftool ping 436

Routing: Verbindung mehrerer Netzwerke 438

Gateways 439

Statische Festlegung einer Route 439

Statisches Routing: Ein Beispiel 441

Subnetze 447

Dynamisches Routen 450

CIDR-Classless Inter-Domain Routing 451

Namensauflösung 452

Der Host- und Domainname 452

Die Datei /etc/hosts 453

Die Datei /etc/services 454

Netzgruppen: /etc/netgroup 456

Domain Name Service: DNS 457

Network Information Service: NIS 467

Next Generation IPv6 471

Die Grundausstattung an Bordwerkzeug 474

ICMP und ping 474

Verbindung zwischen Prozessen: netstat 476

Anzeigen der Netzwerkadapter 477

Anzeigen der Routingtabelle 478

Routen verfolgen: traceroute 479

HP-UX: lanadmin 479

TCP/lP-Dienste 479

Super-Server inetd und xinetd 480

File Transfer Protocol (FTP) 482

Anonymer FTP-Server 487

6.7.4

6.7.5

6.7.6

6.7.7

6.7.8

6.7.9

6.7.10

6.7.11

6.7.12

6.7.13

6.8

6.8.1

6.8.2

6.9

6.9.1

6.9.2

6.9.3

6.9.4

6.9.5

6.9.6

6.9.7

6.9.8

6.9.9

6.9.10

6.9.11

6.9.12

6.9.13

6.9.14

6.9.15

6.10

6.10.1

6.10.2

6.10.3

6.10.4

6.10.5

6.10.6

6.10.7

6.11

6.11.1

6.11.2

6.11.3

6.11.4

6.11.

Page 10: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

6.7.4 TFTP, schnell und vertrauensvoll 487

6.7.5 Terminaldienst (telnet) 488

6.7.6 Die r-Kommandos 489

6.7.7 Wenn Sicherheit vorgeht: die ssh und scp 493

6.7.8 NFS - Network File System 498

6.7.9 Automatisches Mounten 502

6.7.10 SAMBA: UNIX Fm Windows-Netz 505

6.7.11 Novell-Zugriffe 523

6.7.12 Mac im Netz: netatalk 5256.7.13 Zeitabgleich 526

6.8 Dynamische TCP/IP-Nummern (DHCP) 528

6.8.1 DHCP-Clients 528

6.8.2 DHCP-Server 529

6.9 E-Mail 5306.9.1 Einzelplatz mit Wählverbindung 530

6.9.2 Format einer E-Mail 532

6.9.3 UNIX und Mail 534

6.9.4 SMTP (Simple Mail Transport Protocol) 534

6.9.5 Mailqueue 5356.9.6 Verteilen der Post: sendmail -q 5366.9.7 Weiterleiten der Post: aliases und forward 5376.9.8 Lokale Mail lesen 5386.9.9 POP3 5396.9.10 IMAP 541

6.9.11 Post sammeln: fetchmail 543

6.9.12 Mail-Server und Domain 544

6.9.13 Erstes Beispiel: Interne Firmenmail 545

6.9.14 Zweites Beispiel: Anbindung an das Internet 546

6.9.15 Postfix, die Alternative zu sendmail 548

6.10 Newsgroups 551

6.10.1 News lesen 5526.10.2 Installation des Newsservers inn 553

6.10.3 Beispiel: Newsserver zur Projektverwaltung 556

6.10.4 Gruppen anlegen 557

6.10.5 Verbindung nach außen 558

6.10.6 Newsgroups saugen 559

6.10.7 NNTP-Protokollbeschreibung 562

6.11 Jeder Rechner ist ein eigener Webserver 565

6.11.1 Hypertext und HTML 566

6.11.2 Start des Servers 570

6.11.3 Die Konfigurationsdatei httpd.conf 571

6.11.4 Privatadministration per .htaccess 574

6.11.5 Kommunikation per HTTP 577

Inhalt 13

Page 11: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

6.11.6 Virtuelles Hosting 580

6.11.7 CGI: Der Server schlägt zurück 581

6.12 Allgemeines zum Internet-Anschluss 585

6.13 Firewall und Masquerading 5876.13.1 Funktionsweise einer Firewall 588

6.13.2 Masquerading 591

6.14 Proxy 592

7.67.6.1

7.6.2

7.6.3

7.6.4

Teil 5

DaX-F

X-S

Gn

Thi

Prc

Teil 4 Das X Window System 597 8

7.17.1.17.1.27.1.37.1.4

7.27.2.17.2.27.2.3

7.37.3.17.3.27.3.37.3.47.3.5

7.47.4.17.4.27.4.37.4.47.4.57.4.6

7.5

7.5.17.5.27.5.37.5.47.5.5

14 Inhalt

Das X Window System 599

Grafische Oberfläche unter UNIX 599

X, Fenstermanager, Widget Sets und Desktop 601

Der X-Server 602

Der Fenstermanager 603

Der X-Client und seine Bibliotheken 604

X Window starten 607

Nacktstart mit xinit 607

Regulärer Start von X: startx 608

Grafisches Einloggen: Display Manager xdm 608

Umgang mit dem X Window System 610

Bedienungselemente des Athena Widget Set 610

Der Aufruf von X-Programmen 613

Cut and Paste 615

Das Terminalfenster xterm 616

Weitere praktische Helfer 619

Konfigurieren 619

Farbbeschreibung 619

Schriften 620

Bitmaps 623

Ressourcen 623

Konfiguration des Fenstermanagers 626

Fokus und Z-Anordnung 627

Desktops 628

CDE 628

KDE 629

GNOME 632

Der Wettstreit der freien Desktops 633

Mac OS X 634

8.1

8.28.2.18.2.28.2.38.2.4

8.3

8.3.1

8.3.2

8.3.3

8.3.4

8.3.5

8.3.6

8.3.7

8.4

8.5

8.6

9.1

9.29.2.19.2.29.2.39.2.49.2.59.2.6

9.39.3.19.3.2

Page 12: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

7.6 Das X Window System im Netz 634

7.6.1 X-Programme über das Netz starten 634

7.6.2 X-Server-Software in Betrieb nehmen 636

7.6.3 Grafisches Einloggen über das Netz 637

7.6.4 Thin Client 641

Teil 5 Programmierung 643

8 Programmierung von Shellskripten 645

8.1 Erstellen und Starten eines Shellskripts 645

8.2 Variablen 646

8.2.1 Zugriff auf die Parameter 647

8.2.2 Prozessnummern 647

8.2.3 Weitere Standardvariablen 648

8.2.4 Zuweisungen 649

8.3 Ablaufsteuerung 650

8.3.1 Die Unterscheidung: if 650

8.3.2 Bedingungen 651

8.3.3 Rückgabewert von Programmen 654

8.3.4 Die Fallunterscheidung: case 654

8.3.5 Die while-Schleife 655

8.3.6 Die for-Schleife 657

8.3.7 Funktionen 658

8.4 Gruppieren von Anweisungen 660

8.5 Ein- und Ausgaben aus dem Skript 661

8.6 Start und Umgebung von Skripten 662

9 Perl 665

9.1 Interpreter und Skript 665

9.2 Variablen 666

9.2.1 Skalare 666

9.2.2 Variablennamen 668

9.2.3 Operationen auf Skalare 669

9.2.4 Arrays 670

9.2.5 Hash 673

9.2.6 Reguläre Ausdrücke 674

9.3 Interaktiv 674

9.3.1 Ein- und Ausgabe 675

9.3.2 Aufrufparameter 675

Inhalt 15

Page 13: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

9.3.3 Umgebungsvariablen 676

9.4 Ablaufsteuerung 676

9.4.1 Bedingungen 677

9.4.2 if 678

9.4.3 for 679

9.4.4 foreach 681

9.4.5 Sonstige Schleifen: while und until 682

9.4.6 Funktionen 684

9.5 Dateien 685

9.5.1 Schreiben und Lesen 685

9.5.2 Umgang mit Dateien 687

9.6 Perl und UNIX 688

9.6.1 Aufruf von UNIX-Programmen 688

9.6.2 UNIX-Systemprogrammierung 689

9.7 Grafische Oberfläche: Tk 689

9.7.1 Widgets und Ressourcen 690

9.7.2 Kontrollelemente 691

9.7.3 Widget-Anordnung 699

9.8 Zugriff auf die Datenbank 701

9.9 Informationsquellen 703

10 Programmierwerkzeuge 705

10.1 C-Compiler 705

10.2 make 708

10.3 Debugger 713

10.3.1 dbx 714

10.3.2 adb (System V) 714

10.3.3 gdb GNU debug 715

10.4 Analysewerkzeuge 717

10.4.1 Systemaufrufe verfolgen: strace und Itrace 717

10.4.2 Speicherlecks und-Überläufe 718

10.5 Versionsverwaltung 719

10.5.1 SCCS (Source Code Control System) 719

10.5.2 RCS (Revision Control System) 720

10.5.3 Zusammenspiel mit make 721

10.5.4 CVS (Concurrent Versions System) 721

10.5.5 UNIX als CVS-Server 724

10.6 Diverse Programmierhelfer 726

10.6.1 Kurzbetrachtung: lex und yacc 727

10.6.2 Unterschiede zwischen Textdateien: diff 727

11

11.1

11.1.1

11.1.2

11.2

11.3

11.3.1

11.3.2

11.3.3

11.3.4

11.3.5

11.3.6

11.3.7

11.3.8

11.3.9

11.3.10

11.4

11.4.1

11.4.2

11.4.3

11.4.4

11.5

11.5.1

11.5.2

11.5.3

11.5.4

11.5.5

11.5.6

11.5.7

11.5.8

11.5.9

11.6

11.6.1

11.6.2

11.6.3

11.6.4

11.7

11.7.1

11.7.2

16 Inhalt

Page 14: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

10.6.3 Dateien aufs Byte geschaut 728

11 UNIX-Systemaufrufe 731

11.1 Die Funktion main 731

11.1.1 Aufrufparameter 731

11.1.2 Zugriff auf die Ümgebungsvariablen 733

11.2 Fehlerbehandlung: errno 734

11.3 Dateizugriffe 735

11.3.1 Öffnen, Lesen und Schreiben 735

11.3.2 Positionieren: Iseek 738

11.3.3 Dateihandle duplizieren: dup 739

11.3.4 Datei-Eigenschaften ermitteln 739

11.3.5 Datei-Eigenschaften ändern 743

11.3.6 Sperren 744

11.3.7 Link erzeugen: link, symlink 750

11.3.8 Löschen: unlink 751

11.3.9 Umbenennen: rename 751

11.3.10 Temporäre Dateien 751

11.4 Verzeichnisse 752

11.4.1 Auslesen: opendir, readdir, closedir 752

11.4.2 Ermitteln des Arbeitsverzeichnisses 753

11.4.3 Wechseln: chdir 754

11.4.4 Anlegen und Löschen: mkdir, rmdir 754

11.5 Prozesse 754

11.5.1 Multiprocessing contra Multithreading 755

11.5.2 Vervielfältigen von Prozessen: fork 756

11.5.3 exec und system 757

11.5.4 Synchronisation: wait 758

11.5.5 Prozessumgebung 759

11.5.6 Gemeinsamer Speicher: Shared Memory 761

11.5.7 Synchronisation mit Semaphoren 766

11.5.8 Message Queues 770

11.5.9 Leichtgewichtsprozesse: Threads 774

11.6 Signale 778

11.6.1 Signale senden: kill 780

11.6.2 Auf Signale warten: pause 780

11.6.3 Timeout setzen: alarm 780

11.6.4 Zombies vereiteln 780

11.7 Pipe 781

11.7.1 Prozesskommunikation per Pipe 781

11.7.2 Named Pipe oder FIFO 782

Inhalt 17

Page 15: Wie werde ich UNIX-Guru?Arnold Willemer Wie werde ich UNIX-Guru? Inhalt Vorwort 19 1 Das Thema UNIX 25 1.1 Besonderheiten von UNIX 25 1.1.1 Dateien und Verzeichnisse 25 1.1.2 Das offene

11.7.3 Drucken unter UNIX 782

11.8 Fehlerbehandlung mit syslog 783

11.9 Zeitfunktionen 785

11.10 Benutzer und Gruppen 786

11.10.1 Die Passwortdatei als Struktur 787

11.10.2 Auslesen der Passwortdatei 787

11.10.3 Gruppen 788

11.11 Grundlagen der Dämonisierung 790

11.12 Client-Server-Socketprogrammierung 790

11.12.1 Kommunikationsendpunkt: socket und close 792

11.12.2 Serveraufrufe: bind, listen und accept 793

11.12.3 Clientaufruf: connect 794

11.12.4 Datenaustausch: send und recv 794

11.12.5 Namensauflösung 795

11.12.6 Zahlendreher: ntoh und hton 796

11.12.7 Rahmenprogramm eines Client-Server-Paars 797

11.12.8 Mehrere Sockets parallel abfragen 801

11.12.9 IPv6 aus Programmierersicht 802

11.12.10 Client-Server aus Sicht der Performance 803

11.13 Verschlüsseln mit crypt 804

11.14 Reguläre Ausdrücke 806

11.15 Weitere Programmierschnittstellen 807

11.16 Systemkonformität 808

11.16.1 Polling 808

11.16.2 Rechte beachten 808

Anhang 811

Glossar 813

Literatur 819

Index 823

Vorwort

Der Titel des Bi

te einiges über

trat an mich h<

zu schreiben. D

sollten aber auc

den. Ich war ui

Netzwerk TCP/

darf in einem l

und kein Prosp

angemessenen

Buch auf die Ph

sprenge, wurde

würde. Zu dies«

zum Buchproje

haben. Und de

bei diesem Pro

sollte, schrieb

sicher, dass dei

Titel vorschlagt

Witzen zu rett

so ich stehe se

Leben steckt v

Seit dem Erscl

gesetzten Alte

Oberflächen l<

als diejenigen

setzt, verwenc

fänger also zui

chen. Daraus i

gegenüber dei

• In Kapitel 1

erläutert. C

um die Bed

• Im Folgeka|

tergründe u

• In Kapitel 3

ses Kapitel i

18 Inhalt