Sie sind auf Seite 1von 75

Kai Surendorf

Mac OS X Leopard und UNIX


Mac OS X 10.5 Leopard professionell nutzen
Auf einen Blick

Vorwort zur 4. Auflage ................................................................. 15


Einleitung .................................................................................... 17

TEIL I: Eine Welt unter dem Wasser


1 Die Grundlagen .................................................................... 23
2 Erste Schritte mit dem Terminal ............................................ 29
3 Die Dokumentationen .......................................................... 51
4 Das BSD-Subsystem ............................................................. 63

TEIL II: Arbeiten mit dem Terminal


5 Dateien und Verzeichnisse ................................................... 69
6 Prozesse und ihr Management .............................................. 113
7 Benutzer und ihre Rechte ..................................................... 133
8 Effizient mit der Shell arbeiten ............................................. 163
9 Produktiv am Terminal arbeiten ............................................ 195
10 Suchen und Finden mit Spotlight .......................................... 237
11 Dateisysteme ....................................................................... 263
12 Mac OS X administrieren ...................................................... 301
13 Die Benutzerverwaltung von Mac OS X 10.5 ........................ 341
14 Der Super-Dämon: launchd .................................................. 363

TEIL III: Vernetztes Arbeiten


15 Netzwerke konfigurieren ...................................................... 385
16 Anwendungen im Netzwerk ................................................. 415
17 Server konfigurieren ............................................................. 451

TEIL IV: Das Common UNIX Printing System


18 CUPS produktiv nutzen ........................................................ 475

TEIL V: Aufgaben automatisieren


19 Shell-Skripten ...................................................................... 489
20 Shell-Skripten integrieren ..................................................... 505

TEIL VI: Eine Welt der offenen Quellen


21 Mac OS X und Open Source ................................................. 517

Anhang
A Glossar ................................................................................ 535
Inhalt

Vorwort zur 4. Auflage .............................................................................. 15


Einleitung ..................................................................................................... 17
Was dieses Buch soll und kann ............................................ 17
Zum Aufbau des Buches ........................................................ 18
Die Webseite zum Buch ........................................................ 20

TEIL I: EINE WELT UNTER DEM WASSER


1 Die Grundlagen .................................................................... 23

1.1 Der Aufbau von Mac OS X ................................................... 23


1.2 Neuerungen in Mac OS X 10.5 ............................................. 26
1.3 Nicht nur für Programmierer: Xcode ................................... 27

2 Erste Schritte mit dem Terminal ..................................... 29

2.1 Die Shell und der Prompt ...................................................... 29


2.2 Der erste Befehl ...................................................................... 31
2.3 Hintergründe zu UNIX-Befehlen .......................................... 31
2.3.1 Was sind UNIX-Befehle? ...................................... 31
2.3.2 Grundlegender Befehlsaufbau: Synopsis ........... 33
2.4 Effizient mit dem Terminal arbeiten .................................... 35
2.4.1 Sonderzeichen maskieren ..................................... 35
2.4.2 Das Terminal und die Zwischenablage ............... 36
2.4.3 Drag & Drop ........................................................... 37
2.4.4 Fenstergruppen und Tabs ..................................... 37
2.4.5 Automatische Vervollständigung ........................ 39
2.4.6 Zeilenpuffer und Befehlsverlauf .......................... 40
2.4.7 Mit Servern verbinden .......................................... 41
2.4.8 Befehle abbrechen ................................................. 42
2.4.9 Terminal zurücksetzen .......................................... 43
2.4.10 Einstellungen vornehmen und speichern .......... 43

3 Die Dokumentationen ....................................................... 51

3.1 Kurze Informationen .............................................................. 51


3.1.1 Für Eilige: whatis ................................................... 51
3.1.2 Pfad ermitteln: which ........................................... 52

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 5 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Inhalt

3.1.3 Direkte Befehlseingabe und die Option -h ....... 52


3.2 Im Detail: die Manpages ....................................................... 53
3.2.1 Gliederung und Themen ....................................... 55
3.2.2 Manpages drucken ................................................ 58
3.2.3 Zusammenhänge mit apropos ............................. 59
3.3 Das GNU-Info-System ............................................................ 59
3.4 Manchmal vorhanden: HTML-Dokumentation ................. 61

4 Das BSD-Subsystem .......................................................... 63

4.1 Die Verzeichnisstruktur .......................................................... 64

TEIL II: ARBEITEN MIT DEM TERMINAL


5 Dateien und Verzeichnisse ................................................ 69

5.1 Einige Dinge vorab ................................................................. 69


5.2 Navigation im Dateisystem ................................................... 70
5.2.1 Ortsbestimmung mit pwd .................................... 70
5.2.2 Verzeichnisse wechseln mit cd ............................ 71
5.2.3 Verzeichnisse mit ls anzeigen .............................. 72
5.3 Grundlegende Befehle ........................................................... 75
5.3.1 Verzeichnisse erzeugen mit mkdir ...................... 75
5.3.2 Kopieren mit cp ..................................................... 76
5.3.3 Verschieben und Umbenennen mit mv ............. 79
5.3.4 Löschen mit rm, srm und rmdir .......................... 79
5.4 Weitere Konzepte ................................................................... 83
5.4.1 Symbolische und feste Links ................................ 83
5.4.2 Schützen und Verstecken mit File-Flags ............ 86
5.4.3 Erweiterte Dateiattribute ..................................... 88
5.5 Tipps und Tricks ...................................................................... 94
5.5.1 Schneller mit Joker-Zeichen ................................. 94
5.5.2 Mit file den Dateityp herausfinden .................... 98
5.5.3 Statt Doppelklick: open ........................................ 99
5.5.4 Änderungsdatum mit touch manipulieren ........ 102
5.5.5 Prüfsummen mit md5 erstellen ........................... 102
5.6 Dateien und Ordner komprimieren ..................................... 103
5.6.1 Komprimieren mit zip ........................................... 103
5.6.2 Bündeln und Komprimieren mit tar ................... 106
5.6.3 Kopieren und Komprimieren mit ditto .............. 107
5.7 Dateien teilen und zusammenfügen .................................... 110

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 6 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Inhalt

5.7.1 Teilen mit split ........................................................ 110


5.7.2 Zusammenführen mit cat ..................................... 110

6 Prozesse und ihr Management ........................................ 113

6.1 Grundlagen .............................................................................. 113


6.2 Prozesse und Dienste im Hintergrund ................................ 115
6.3 Aktive Prozesse anzeigen ...................................................... 121
6.4 Systemauslastung überblicken .............................................. 125
6.5 Prozesse beenden ................................................................... 127
6.6 Prioritäten setzen .................................................................... 129
6.7 Signale mit nohup ignorieren ............................................... 131

7 Benutzer und ihre Rechte ................................................. 133

7.1 Einführung ................................................................................ 133


7.2 Rechte verstehen und zuweisen ........................................... 134
7.2.1 POSIX-Rechte ......................................................... 135
7.2.2 Besitzer und Gruppe ändern ................................ 140
7.2.3 Besonderheiten im Finder .................................... 141
7.2.4 Access Control Lists ............................................... 142
7.3 Weitere Verfahren und Methoden ...................................... 154
7.3.1 SUID und SGID ...................................................... 154
7.3.2 Das Sticky Bit .......................................................... 155
7.4 Benutzer am Terminal wechseln ........................................... 156
7.4.1 Wer bin ich? ........................................................... 156
7.4.2 Dauerhafter Benutzerwechsel ............................. 156
7.4.3 Befehl als Superuser root ausführen ................... 157

8 Effizient mit der Shell arbeiten ....................................... 163

8.1 Ausgaben umleiten und speichern ...................................... 164


8.1.1 STDIN, STDOUT und STDERR ............................. 164
8.1.2 Befehle verschachteln ........................................... 167
8.1.3 Daten in und aus der Zwischenablage ............... 167
8.2 Befehle im Hintergrund ausführen ....................................... 168
8.3 Befehle verketten .................................................................... 170
8.4 Die History der Shell .............................................................. 170
8.5 Nützliche Tastenkombinationen ........................................... 172
8.6 Klammernexpansion nutzen ................................................. 172

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 7 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Inhalt

8.7 Umgebungsvariablen .............................................................. 174


8.7.1 Aufgaben, Zweck und Einsatz ............................. 174
8.7.2 Gängige Umgebungsvariablen ............................. 178
8.7.3 Die PATH-Variable ändern ................................... 179
8.7.4 Umgebungsvariablen mit environment.plist
definieren ................................................................ 182
8.8 Die Shell konfigurieren .......................................................... 183
8.8.1 Die Konfigurationsdateien ................................... 183
8.8.2 Der maßgeschneiderte Prompt ........................... 185
8.8.3 Aliase definieren und Funktionen erklären ....... 188
8.8.4 Farbige Anzeige mit ls ........................................... 190
8.8.5 Eine beispielhafte Voreinstellungsdatei ............. 191
8.9 Weitere nützliche Befehle ..................................................... 191
8.9.1 Fenster mit clear löschen ..................................... 192
8.9.2 Text mit echo ausgeben ........................................ 192
8.9.3 Sprachausgabe mit say .......................................... 192
8.9.4 Text mit read eingeben ......................................... 193
8.9.5 date .......................................................................... 193

9 Produktiv am Terminal arbeiten ...................................... 195

9.1 Texte bearbeiten, anzeigen und konvertieren ................... 195


9.1.1 Texte anzeigen ........................................................ 196
9.1.2 Der Editor nano ..................................................... 201
9.1.3 Der Editor vi(m) ..................................................... 204
9.1.4 Text mit grep finden .............................................. 207
9.1.5 Reguläre Ausdrücke .............................................. 210
9.1.6 Texte konvertieren mit textutil ............................ 212
9.1.7 Kleine Helfer im Alltag ......................................... 220
9.2 Bildbearbeitung am Terminal ................................................ 223
9.2.1 Scriptable Image Processing System – SIPS ...... 223
9.2.2 Bildschirmfotos erstellen ...................................... 228
9.3 Datenbanken mit SQLite ....................................................... 229
9.4 Audio-Dateien abspielen und konvertieren ....................... 234

10 Suchen und Finden mit Spotlight ................................... 237

10.1 Funktionsweise von Spotlight .............................................. 237


10.2 Suchen mit mdfind ................................................................. 238
10.2.1 Optionen von mdfind ........................................... 239
10.2.2 Suchergebnisse weiterverarbeiten ...................... 240

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 8 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Inhalt

10.2.3 Suchkriterien definieren ....................................... 241


10.2.4 Metadaten gezielt durchsuchen .......................... 243
10.2.5 Intelligente Ordner und mdfind .......................... 248
10.3 Metadaten mit mdls anzeigen .............................................. 248
10.4 Index verwalten ....................................................................... 253
10.4.1 Index löschen und Indexierung unterbinden ... 253
10.4.2 Die Importer mit mdimport überblicken .......... 255
10.5 Dateien mit find suchen ........................................................ 258

11 Dateisysteme ....................................................................... 263

11.1 Einführung und Grundlagen .................................................. 263


11.1.1 Mount-Points und Gerätedateien ....................... 263
11.1.2 Partitionsschemata ................................................ 266
11.1.3 Einige Besonderheiten von Mac OS X ................ 267
11.1.4 Unterstützte Dateisysteme ................................... 268
11.2 Informationen über Dateisysteme ....................................... 270
11.2.1 Freie Kapazitäten und Platzbedarf ermitteln .... 270
11.2.2 Dateizugriffe verfolgen ......................................... 272
11.3 Mit Dateisystemen arbeiten ................................................. 275
11.3.1 Das Programm diskutil .......................................... 275
11.3.2 Veraltet: mount ...................................................... 285
11.3.3 Disk-Images und hdiutil ....................................... 286
11.3.4 Apple Software Restore (asr) ............................... 288
11.3.5 CDs und DVDs brennen ....................................... 292
11.3.6 Dateisysteme reparieren ....................................... 293
11.4 Dateisysteme konfigurieren .................................................. 295
11.4.1 Eigene Mount-Points mit /etc/fstab ................... 295
11.4.2 Speicherplatz mit quota begrenzen .................... 297

12 Mac OS X administrieren .................................................. 301

12.1 Informationen erhalten: System-Profiler ............................ 301


12.2 Problemen und Vorkommnissen auf der Spur ................... 303
12.2.1 Protokolle und syslogd ......................................... 303
12.2.2 Das Dienstprogramm Konsole und der Befehl
syslog ....................................................................... 305
12.3 Programme und Applikationen im Griff .............................. 307
12.3.1 Preferences und /etc ............................................. 307
12.3.2 Property-Listen ....................................................... 309
12.3.3 Die Befehle defaults und PlistBuddy .................. 314

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 9 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Inhalt

12.4 Programme installieren und aktualisieren .......................... 322


12.4.1 Packages installieren ............................................. 322
12.4.2 Updates am Terminal vornehmen ....................... 324
12.4.3 Quittungen und Protokolle der Installationen . 327
12.5 Systemeinstellungen am Terminal vornehmen .................. 329
12.5.1 Der Befehl systemsetup ........................................ 330
12.5.2 Energie sparen mit pmset ..................................... 332
12.6 Startmodus festlegen .............................................................. 335
12.7 Exkurs: Kernel-Extensions ..................................................... 336

13 Die Benutzerverwaltung von Mac OS X 10.5 ............... 341

13.1 Einführung und Überblick ..................................................... 341


13.1.1 Aufbau eines Benutzerkontos .............................. 343
13.1.2 Benutzergruppen ................................................... 348
13.2 DSLocal verwalten .................................................................. 351
13.2.1 Die Schnittstelle: dscl ........................................... 351
13.2.2 Gruppen überblicken und verwalten ................. 354
13.2.3 Datensätze exportieren und importieren .......... 357
13.2.4 Den Superuser root aktivieren ............................ 358
13.3 Anbindung an Verzeichnisdienste ........................................ 359
13.3.1 Das Dienstprogramm Verzeichnisdienste .......... 359
13.3.2 Einige weitere Anmerkungen .............................. 360

14 Der Super-Dämon: launchd .............................................. 363

14.1 Aufgaben und Konzepte von launchd ................................. 363


14.2 Fehlersuche und -vermeidung .............................................. 366
14.3 LaunchAgents und LaunchDaemons erstellen ................... 368
14.3.1 Programm immer aktiv halten ............................. 370
14.3.2 Programm in Intervallen starten ......................... 372
14.3.3 Programm zu einem Zeitpunkt starten .............. 373
14.3.4 Verzeichnisse überwachen ................................... 374
14.3.5 Weitere Konfigurationen ...................................... 376
14.3.6 Verwaltung mit launchctl ..................................... 378
14.3.7 Dienste ab- und anschalten mit service ............ 379
14.3.8 Fortgeschrittene Konzepte und weitere
Optionen ................................................................. 380
14.4 Der SystemStarter und die StartupItems ............................ 381

10

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 10 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Inhalt

TEIL III: VERNETZTES ARBEITEN


15 Netzwerke konfigurieren .................................................. 385

15.1 Einführung und Grundlagen .................................................. 385


15.1.1 Protokolle und Verfahren im Hintergrund:
TCP/IP ...................................................................... 386
15.1.2 Domain-Namen und DNS .................................... 394
15.1.3 Ports und Server ..................................................... 395
15.1.4 Die Aufgaben von Bonjour .................................. 396
15.2 Netzwerke konfigurieren ....................................................... 397
15.2.1 Umgebungen wählen ............................................ 398
15.2.2 Schnittstellen mit networksetup konfigurieren 400
15.2.3 Weitere Konfigurationen mit systemsetup ....... 403
15.2.4 AirPort konfigurieren ............................................ 403
15.3 Hilfsmittel im Netzwerk ......................................................... 405
15.3.1 Einen Rechner anpingen ...................................... 405
15.3.2 Daten mit whois abfragen .................................... 406
15.3.3 Den Weg mit traceroute verfolgen ..................... 407
15.3.4 Aktuelle Verbindungen einsehen ........................ 408
15.3.5 Verkehr mit tcpdump anzeigen ........................... 410
15.3.6 Portscan mit stroke ................................................ 411
15.3.7 Bonjour mit dns-sd ................................................ 412

16 Anwendungen im Netzwerk ............................................. 415

16.1 Die Secure Shell SSH .............................................................. 415


16.1.1 Rechner fernsteuern .............................................. 416
16.1.2 Mit Schlüsseln arbeiten ........................................ 418
16.1.3 Verbindungen tunneln .......................................... 423
16.2 Dateien übertragen ................................................................ 424
16.2.1 Downloads mit curl ............................................... 424
16.2.2 Dateien über das Netzwerk kopieren ................ 427
16.2.3 Verzeichnisse im Netzwerk synchronisieren ..... 428
16.2.4 ftp und sftp am Terminal ...................................... 430
16.3 Mit Freigaben arbeiten .......................................................... 432
16.3.1 Freigaben über das Apple Filing Protocol ......... 433
16.3.2 Windows-Freigaben über SMB ........................... 434
16.3.3 Freigaben über WebDAV ..................................... 434
16.3.4 Freigaben mit dem Network File System .......... 435
16.3.5 Dateisysteme automatisch einbinden ................ 438
16.3.6 Erweiterte Dateiattribute und dot_clean .......... 443

11

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 11 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Inhalt

16.4 Zwei Firewalls .......................................................................... 443


16.4.1 Die Application-Level-Firewall ............................ 444
16.4.2 Der Paketfilter ipfw ............................................... 447

17 Server konfigurieren ........................................................... 451

17.1 Feste IP-Nummern .................................................................. 451


17.2 Der eigene Mailserver mit Postfix ........................................ 452
17.2.1 Postfix mit einem SMTP-Relay einrichten ......... 453
17.2.2 Postfix mit einer Domain einrichten .................. 457
17.3 Der Apache Webserver .......................................................... 457
17.3.1 Grundlegende Konfiguration und Protokolle ... 457
17.3.2 Die Seiten der einzelnen Benutzer ..................... 460
17.3.3 Bonjour einsetzen und konfigurieren ................. 461
17.3.4 PHP aktivieren und konfigurieren ....................... 462
17.3.5 CGI-Skripten aktivieren ........................................ 464
17.4 Der MySQL-Datenbankserver ............................................... 465
17.4.1 MySQL installieren und einrichten ..................... 465
17.4.2 PHP und MySQL .................................................... 468
17.5 Eigene NFS-Freigaben erstellen ........................................... 469
17.6 Den FTP-Server eingrenzen ................................................... 471

TEIL IV: DAS COMMON UNIX PRINTING SYSTEM


18 CUPS produktiv nutzen ..................................................... 475

18.1 Konzepte von CUPS ............................................................... 475


18.2 CUPS einrichten und administrieren ................................... 477
18.2.1 Das Drucksystem konfigurieren .......................... 477
18.2.2 Angeschlossene Drucker verwalten .................... 481
18.2.3 Dateien ausgeben .................................................. 482
18.2.4 PDF-Dateien erzeugen .......................................... 484
18.2.5 Quartz-Filter an der Shell ..................................... 484

TEIL V: AUFGABEN AUTOMATISIEREN


19 Shell-Skripten ...................................................................... 489

19.1 Erste Schritte: Hallo Welt! ..................................................... 490


19.2 Shell-Skripten integrieren ...................................................... 491
19.3 Werte in Variablen .................................................................. 492

12

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 12 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Inhalt

19.3.1 Werte an ein Skript übergeben ........................... 493


19.3.2 Mit Pfadangaben arbeiten ................................... 494
19.3.3 Auf Umgebungsvariablen zugreifen ................... 495
19.4 Bedingungen und Schleifen .................................................. 496
19.4.1 Variablen und Dateien überprüfen ..................... 496
19.4.2 for-Schleifen verwenden ....................................... 500
19.4.3 Skript in Funktionen einteilen ............................. 502
19.5 Weitere nützliche Befehle ..................................................... 503
19.5.1 Auswahl mit select ................................................ 503
19.5.2 Pause mit sleep ...................................................... 504
19.5.3 Protokollieren mit logger ..................................... 504

20 Shell-Skripten integrieren ................................................ 505

20.1 Shell-Skripten und AppleScript ............................................ 505


20.1.1 Die Schnittstelle: do shell script ......................... 506
20.1.2 AppleScript an der Shell ....................................... 508
20.2 Shell-Skripten und der Automator ....................................... 508
20.3 Shell-Skripten und launchd ................................................... 510
20.4 Shell-Skripten beim An- und Abmelden ............................. 511

TEIL VI: EINE WELT DER OFFENEN QUELLEN


21 Mac OS X und Open Source ............................................. 517

21.1 Einführung ................................................................................ 517


21.2 Programme kompilieren und installieren ........................... 520
21.2.1 configure, make und make install ....................... 521
21.2.2 Pakete mit den MacPorts installieren ................ 522
21.3 Der X11-Server ........................................................................ 529
21.3.1 X11 nutzen ............................................................. 530
21.3.2 Fernzugriff über ssh ............................................... 531

Anhang .......................................................................................... 533

A Glossar ................................................................................................. 535

Index ............................................................................................................. 541

13

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 13 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Vorwort zur 4. Auflage

Als ich mit der Arbeit an der ersten Auflage dieses Buchs noch unter
Mac OS X 10.2 Jaguar begonnen habe, hätte ich nicht gedacht, dass es
einmal in einer vierten Auflage erscheinen würde. Aber eigentlich ist das
nicht erstaunlich. UNIX ist eines der wenigen zeitlosen Themen in der
Informationstechnik und doch immer wieder aktuell.

Für die vierte Auflage wurde das Buch vollständig überarbeitet, an vie-
len Stellen umgebaut und neu gegliedert. Geblieben ist in jedem Fall der
Anspruch, Ihnen die Arbeit mit dem UNIX-Kern von Mac OS X nahe-
zubringen, neue Möglichkeiten und Methoden zu eröffnen, und dies in
einer verständlichen Sprache, die auf Fachjargon verzichtet.

Die Arbeit mit dem Terminal und dem UNIX-Kern ist eigentlich gar nicht
so schwierig, wie es oft zu lesen ist. Die dahinterstehende Philosophie ist
lediglich etwas anders, aber eigentlich nicht komplizierter, gefährlicher
oder anspruchsvoller als die Arbeit unter der grafischen Benutzeroberflä-
che. Ich bin mir sicher, dass Sie sich nach der Lektüre des Buchs dieser
Meinung anschließen werden.

Kein Buch ohne Lektorat, und mein Lektor Stephan Mattescheck steht
mir seit mehr als einem halben Jahrzehnt hilfreich zur Seite und hat das
Entstehen dieses Textes mehrfach mit Professionalität, Souveränität und
Geduld begleitet. Er ist zu einem wesentlichen Teil für das Gelingen des
Projekts verantwortlich.

Michael Weikath muss ich an dieser Stelle für den Hinweis auf das Album
Serious Young Insects der Gruppe On the Virg danken. Beim Schreiben
dieses Buchs war diese Musik absolut unverzichtbar.

Aktualisierungen und die Möglichkeit zum Austausch stehen Ihnen im


Internet zur Verfügung. Meine Webseite zum Buch (http://mac.delta-c.de)
bietet Ihnen unter anderem ein Forum, in dem ich mich auf Ihre kon-
struktiven Anmerkungen und ebensolche Kritik freue. Darüber hinaus
finden Sie dort weitere Inhalte, die regelmäßig ergänzt und erweitert
werden.

Kai Surendorf
delta-c@gmx.net
http://mac.delta-c.de

15

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 15 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Einleitung

Wenn man ein Buch schreibt, steht man als Autor immer vor der großen Ein Problem
Frage, was man beim Leser an Wissen bereits voraussetzen kann und wo zu Beginn

man mit den Erklärungen am besten beginnt, was man weglässt und wo
Schwerpunkte gesetzt werden. Diese Frage ist nie ganz zu entscheiden,
hängt die Antwort doch viel zu sehr von der Person des Lesers ab.

Das Anliegen dieses Buches ist es, Ihnen die Arbeit mit dem Terminal von Ein Anliegen
Mac OS X nahezubringen, seine Funktionsweise zu erläutern und Ihnen
die vielen Befehle zu erklären, die Ihnen am Terminal zur Verfügung ste-
hen. Es geht in erster Linie darum, das Terminal als alltägliches Werkzeug
verstehen und nutzen zu lernen. Wenn Sie gerade beginnen, sich mit
dem Terminal zu beschäftigen, dann wird Ihnen die Arbeit wahrschein-
lich etwas kryptisch, vielleicht sogar mühselig vorkommen. Schließlich
hat Apple ja jede Menge Ressourcen in die Entwicklung einer leicht zu
bedienenden und optisch ansprechenden Benutzeroberfläche investiert.

Was dieses Buch soll und kann


Ein guter Grund, sich mit dem Terminal von Mac OS X zu befassen, ist sei- Effizienz
ne Effizienz. Am Terminal können Sie viele Aufgaben deutlich schneller
und präziser erledigen als mit dem Finder oder der grafischen Oberfläche.
Und wenn Sie Mac OS X noch weiter für Ihre ganz speziellen Anforde-
rungen konfigurieren und einrichten möchten, dann ist in vielen Fällen
der Einsatz des Terminals notwendig. Es geht auch darum, das System zu
beherrschen und es so zu nutzen, dass es sich den Anforderungen des
Anwenders anpasst und nicht der Anwender den Vorgaben des Systems.

Das Buch erhebt ganz gewiss nicht den Anspruch auf Vollständigkeit. Ein weites Feld . . .
Bei einem so umfangreichen Thema, das streng genommen das ganze
Betriebssystem umfasst, wäre ein solcher Anspruch niemals einzulösen.
Vielmehr möchte soll dieses Buch Ihnen die Arbeit mit dem Terminal in
einer Art und Weise erklären, dass Sie das Gelesene möglichst umgehend
in Ihren Arbeitsalltag integrieren können. Theorie wird in diesem Buch
relativ wenig behandelt. In den meisten Fällen wäre für eine gründliche
und vor allem vollständige Erklärung der zugrunde liegenden Technolo-
gien und Verfahren etwas umfassenderes Wissen in der Programmierspra-
che C, sowie in der Funktionsweise von Betriebssystemen und größeren
Softwareprojekten notwendig. Das kann und soll dieses Buch nicht leis-
ten.

17

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 17 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Einleitung

Was Sie schon Um die Erklärungen in diesem Buch nachvollziehen zu können, müssen
wissen sollten Sie also nicht Informatik studiert haben. Viel wichtiger ist eine Mischung
aus Neugier, die auch vor zunächst etwas abstrakt anmutenden Konzep-
ten nicht zurückschreckt, und Experimentierfreude, um neue Möglichkei-
ten und Methoden auszuprobieren und mit der Zeit zu verinnerlichen.
Ein wenig Erfahrung mit Mac OS X sollten Sie schon besitzen, also zum
Beispiel wissen, wo sich die Programme befinden, wie Sie in den System-
einstellungen Drucker einrichten oder ein Benutzerkonto hinzufügen.

Einsteiger . . . Das Buch richtet sich in erster Linie an Menschen, die gerade anfangen,
sich mit dem UNIX-Unterbau von Mac OS X zu beschäftigen. Aus diesem
Grund werden auch grundlegende Befehle wie cp und rm ausführlich
. . . und Umsteiger erklärt. Für Umsteiger, die schon mit Linux oder einem BSD-UNIX ge-
arbeitet haben, ist das Buch aber ebenfalls eine lohnenswerte Lektüre.
Zwischen Mac OS X und etwa Linux gibt es in vielen Punkten grundle-
gende Unterschiede. Dies betrifft zum Beispiel launchd anstelle von cron
zum Starten von Programmen nach Zeitplänen, die Arbeit mit Dateisys-
temen und die Verzahnung von AppleScript und dem Automator auf der
einen sowie Shell-Skripten auf der anderen Seite. Wenn Sie also schon
über Kenntnisse in der Arbeit mit einer Kommandozeile verfügen, dann
verhilft Ihnen die Lektüre dieses Buchs zu einem noch schnelleren Ein-
stieg in die Arbeit unter Mac OS X.

Zum Aufbau des Buches


Dieses Buch gliedert sich in sechs große Teile. Dabei ist der Text so auf-
gebaut, dass Sie das Buch von Anfang bis Ende durchlesen können. Die
Erklärungen bauen aufeinander auf. Dementsprechend setzen die späte-
ren Kapitel das Wissen, das in den vorhergehenden vermittelt wurde,
bereits voraus.

왘 Teil 1: Eine Welt unter dem Wasser


Der erste Teil macht Sie mit den Grundlagen der Arbeit am Terminal
vertraut. Es wird Ihnen erklärt, was Befehle am Terminal eigentlich
sind, welche Aufgabe die Shell wahrnimmt, und ich verrate Ihnen
darüber hinaus noch ein paar Tipps und Tricks, wie Sie das Dienstpro-
gramm Terminal geschickt nutzen.

왘 Teil 2: Arbeiten mit dem Terminal


Der zweite und umfangreichste Teil zeigt Ihnen unter anderem, wie
Sie Dateien am Terminal kopieren, verschieben, löschen, archivie-
ren, bearbeiten, konvertieren und finden können. Daneben geht es

18

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 18 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Zum Aufbau des Buches

auch um die Zugriffsrechte und die Benutzerverwaltung, den Start


von Programmen und Diensten, die Arbeit mit Dateisystemen und
der Administration von Mac OS X selbst.

왘 Teil 3: Vernetztes Arbeiten


Mac OS X ist als UNIX-System seit jeher für die Arbeit im Netzwerk
gut gerüstet. Das erste Kapitel dieses Teils zeigt Ihnen, wie Sie Mac
OS X am Terminal für das Netzwerk konfigurieren können und wel-
che Programme Ihnen dabei helfen. Im zweiten Kapitel geht es um
eine Reihe von Werkzeugen, mit denen Sie im Netzwerk Daten und
Dateien übertragen können. Einige, der in Mac OS X enthaltenen Ser-
ver, werden im dritten Kapitel konfiguriert und Ihren Anforderungen
angepasst.

왘 Teil 4: Das Common UNIX Printing System (CUPS)


Das Drucksystem von Mac OS X basiert in wesentlichen Teilen auf
CUPS. Dieser Teil zeigt Ihnen, wie Sie CUPS auf der Kommandozeile
nutzen.

왘 Teil 5: Aufgaben automatisieren


Die Erstellung von Shell-Skripten kann viel Zeit und Arbeit sparen. In
diesem Teil finden Sie zuerst eine grundlegende Einführung in die Pro-
grammierung von Shell-Skripten und erhalten dann einige Hinweise,
wie Sie die Shell-Skripten in Mac OS X integrieren können.

왘 Teil 6: Eine Welt der offenen Quellen


Mit Mac OS X können Sie eine Vielzahl von Open-Source-Program-
men nutzen. Wie Sie diese mit den MacPorts installieren und was
Sie bei der Anwendung des X11-Servers von Apple beachten müssen,
erfahren Sie in diesem Teil.

In diesem Buch finden Sie einige Abschnitte, die am Rand mit diesem
Zeichen hervorgehoben werden. Hierbei handelt es sich um Hinweise,
die über das eigentliche Thema hinausgehen, aber in dem jeweiligen
Zusammenhang wichtig sein können.

Neben Hinweisen finden Sie an einigen wenigen Stellen in diesem Buch


auch Warnungen, die mit diesem Zeichen markiert werden. Das Zeichen
wurde bewusst selten eingesetzt, aber wenn es erscheint, dann sollten Sie
die Informationen dieses Absatzes in jedem Fall zur Kenntnis nehmen.

Und schließlich gibt es noch einige Tipps und Hinweise, die Ihnen die
Arbeit erleichtern können. Auch dieses Zeichen finden Sie eher selten, da
es sich bei den Erklärungen in diesem Buch im weiteren Sinne ohnehin

19

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 19 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Einleitung

um Tipps handelt, aber die so markierten Absätze können Ihnen helfen,


noch etwas effizienter zu arbeiten.

Die Webseite zum Buch

Notizen, Unter http://mac.delta-c.de finden Sie die Webseite des Autors, die sich
Artikel, nicht nur, aber auch den in diesem Buch behandelten Themen widmet.
Forum
Sie finden dort regelmäßig aktualisierte Notizen, weiterführende Artikel,
ein Forum für Fragen und Anmerkungen, eine Linksammlung und weite-
re Inhalte.

Abbildung 0.1 Die Webseite des Autors finden Sie unter »http://mac.delta-c.de«.

20

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 20 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Das Terminal ist das Dienstprogramm, um unter Mac OS X Befehle
direkt einzugeben. Dabei bietet es neben der Ausführung von
Befehlen noch einige weitere Funktionen, die sich im Arbeitsalltag
als hilfreich erweisen.

2 Erste Schritte mit dem Terminal

Im normalen Arbeitsalltag kommt das Terminal selten zum Einsatz. Wenn Dienstprogramm
Sie jedoch Mac OS X detaillierter konfigurieren oder von den vielseitigen
Fähigkeiten der Befehle profitieren möchten, dann ist das Terminal das
unverzichtbare Dienstprogramm. Die Aufgabe des Terminals besteht dar-
in, Ihre Befehle entgegenzunehmen und Ihnen deren Ergebnisse anzuzei-
gen.

Der Name Terminal stammt aus den Urzeiten von UNIX in den 60er-
und 70er-Jahren. Damals verfügten die wenigsten Computer über eine
Festplatte und ein installiertes Betriebssystem. Stattdessen gab es einen
Zentralrechner für die eigentliche Rechenarbeit, oft in der Größe eines
Wohnzimmerschrankes, und eben mehrere Terminals, mit denen sich
die Benutzer an dem Zentralrechner anmelden, Befehle eingeben und
Programme ausführen konnten. Das Programm Terminal stellt in dieser
Hinsicht eine virtuelle Nachbildung der damaligen Hardware dar und
erfüllt auch die gleiche Aufgabe.

2.1 Die Shell und der Prompt

Das Terminal finden Sie im Ordner Dienstprogramme im Verzeichnis Pro- Terminal aufrufen
gramme. Sie können es wie jedes andere Programm mit einem Dop-
pelklick starten.

Abbildung 2.1 Das Terminal findet sich im Ordner »Dienstprogramme«.

29

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 29 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
2 Erste Schritte mit dem Terminal

Shell Die Aufgabe des Terminals besteht in erster Linie darin, Ihre Eingaben
über die Tastatur entgegenzunehmen und die Ausgaben der von Ihnen
eingegebenen Befehle auf dem Bildschirm darzustellen. Die eigentlich zu
verrichtende Arbeit – wie das Aufrufen der Befehle oder die Ermittlung
von Fehlern – ist Aufgabe der Shell. Die Shell (englisch Muschel, Schale) ist
selbst ein eigenständiges Programm. Sie nimmt die Eingaben des Benut-
zers am Terminal entgegen, ruft die passenden Befehle auf, wertet deren
Ergebnisse aus und gibt diese an das Terminal zur Darstellung zurück.

Bourne Again Shell In der langen Geschichte von UNIX sind mehrere Shells entstanden, jede
mit ihren eigenen Vorzügen und Nachteilen. Welche man auswählt, ist in
erster Linie eine Frage des persönlichen Geschmacks. Apple verwendet
in den Standardeinstellungen von Mac OS X seit Version 10.3 die Bourne
Again Shell, die abgekürzt bash genannt wird.

Abbildung 2.2 Nach dem Start des Terminals wartet der Prompt auf die
Eingaben des Benutzers.

Der Prompt Ein fast leeres Fenster wartet nach dem Start des Terminals auf die Eingabe
von Befehlen. In der ersten Zeile werden Sie über den Zeitpunkt der
letzten Anmeldung am Terminal informiert. Bei der zweiten Zeile handelt
es sich um den Prompt. Der Prompt ist die Aufforderung der Shell an den
Benutzer, Befehle einzugeben. Er könnte folgendermaßen aussehen:

Mini:~ kai$

Darüber hinaus bietet der Prompt auch einige für die Arbeit nützliche
Informationen. Die Angabe Mini gibt den Namen Ihres Rechners wieder,
unter dem er im Netzwerk angesprochen werden kann. Abhängig von
der Konfiguration Ihres Netzwerkes finden Sie hier möglicherweise auch
Die Tilde ˜ die Angabe localhost. Die Tilde (~) zeigt an, dass Sie sich derzeit in
Ihrem persönlichen Verzeichnis, zum Beispiel /Users/kai befinden. Im
Finder wäre dies der Unterordner kai im Ordner Benutzer. Und zu guter
Letzt erfahren Sie, unter welchem Kurznamen Sie gerade arbeiten. In
diesem Beispiel ist es kai. Die Anzeige des aktuellen Benutzers hat nichts
damit zu tun, dass die Shell den Anwender für latent schizophren hält.
Es ist unter Mac OS X möglich, den Benutzer schnell mit einem Befehl zu

30

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 30 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Der erste Befehl 2.2

wechseln. Die Angabe des Kurznamens ist daher als eine Gedächtnisstütze
zu verstehen.

2.2 Der erste Befehl

Nun ist es an der Zeit, den ersten Befehl einzugeben. Tippen Sie einfach Befehlseingabe
ls ein, und drücken Sie anschließend Return. Der Befehl ls dient dazu,
den Inhalt von Verzeichnissen anzuzeigen. Je nachdem, was sich in Ih-
rem Benutzer-Verzeichnis befindet, könnte die Ausgabe wie in Abbildung
2.3 aussehen. Vielleicht verwundert es, wenn die Ordner, die im Finder Englische Namen
Dokumente oder Filme heißen, auf einmal Englisch als Documents oder
Movies bezeichnet werden. Die Ordner hatten eigentlich schon immer
diese Bezeichnungen, denn die Übersetzung ins Deutsche wird vom Fin-
der vorgenommen. Mit der Ausgabe des Verzeichnisinhalts hat die Shell
die ihr gestellte Aufgabe erfüllt und wartet nun mit einem neuen Prompt
auf weitere Instruktionen.

Abbildung 2.3 Nach der Eingabe des ersten Befehls erscheint der Prompt erneut.

Befehle werden an der Shell immer mit der Eingabe von Return beendet.
Daher gilt für den Rest des Buches, dass immer, wenn von der Eingabe
von Befehlen die Rede ist, am Ende einer Zeile Return eingegeben wird.

Mit der Eingabe von cd Documents wechseln Sie in das Verzeichnis Docu- Ein zweiter Befehl
ments. Nun müsste sich auch der Prompt verändert haben. Er könnte nun
Mini:Documents kai$ lauten. Mit der erneuten Eingabe von ls können
Sie sich jetzt den Inhalt des Verzeichnisses Documents anzeigen lassen.

2.3 Hintergründe zu UNIX-Befehlen

2.3.1 Was sind UNIX-Befehle?


Streng genommen sind Befehle wie ls ausführbare Programme genau Befehle sind
wie iTunes oder TextEdit. Allerdings verfügen sie selten über einen so Programme

31

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 31 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
2 Erste Schritte mit dem Terminal

großen Funktionsumfang und über eine grafische Oberfläche. Die meisten


Befehle, die Sie am Terminal eingeben können, sind kleine Programme,
die oft nur für einen bestimmten Zweck geschrieben wurden. Es gibt
zum Beispiel im Verzeichnis /bin, das im Finder normalerweise nicht
sichtbar ist, tatsächlich eine Datei ls, die ausgeführt wird, wenn ls als
Befehl eingegeben wird. Nach der Eingabe von ls fängt die Shell an zu
suchen, ob es in einem der vorgegebenen Verzeichnisse eine Datei gibt,
die dem eingegebenen Befehl entspricht. Wenn die Shell fündig wird,
dann wird diese Datei ausgeführt. Die Shell nimmt dann gegebenenfalls
die Ausgaben des Programms – bei ls wäre es der Verzeichnisinhalt –
entgegen und zeigt sie im Terminal an.

Abbildung 2.4 Befehle werden im Finder als »Ausführbare UNIX-Datei« bezeichnet.

Umgebungs- Die Ordner, in denen die Shell nach passenden Programmen sucht, wer-
variablen den in der Umgebungsvariable PATH (siehe Abschnitt 8.7.3) gespeichert.
Bei diesen Umgebungsvariablen handelt es sich um Werte, die sich im
Arbeitsspeicher des Rechners befinden und die beim Start des Systems
gesetzt werden. Die Umgebungsvariablen und ihre Bedeutung werden in
Abschnitt 8.7 erläutert.

Die Variable PATH hat normalerweise den Wert /usr/bin:/bin:/usr/


sbin:/sbin:/usr/local/bin. Damit durchsucht die Shell nacheinander
die Verzeichnisse /usr/bin, /bin, /usr/sbin, /sbin und /usr/local/bin nach
einem Programm, dessen Name dem eingegebenen Befehl entspricht.

Eingebaute Schließlich gibt es noch einige in die Shell eingebaute Befehle. Diese Be-
Befehle fehle beziehen sich weniger auf die Arbeit mit Dateien und Verzeichnis-
sen wie ls, sondern dienen dazu, Shell-Skripte zu entwickeln. Sie werden
in Kapitel 19, Shell-Skripten, besprochen.

32

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 32 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Hintergründe zu UNIX-Befehlen 2.3

2.3.2 Grundlegender Befehlsaufbau: Synopsis


Es gibt einen Grundaufbau, auch Synopsis genannt, der fast allen Befeh- Synopsis
len gemeinsam ist. Geben Sie am Terminal den Befehl ls -l /usr/bin
ein, und Ihnen wird eine lange Liste der Dateien präsentiert, die sich im
Verzeichnis /usr/bin befinden. Anders als bei den vorhergehenden Bei-
spielen mit ls stehen jetzt alle Einträge untereinander, und es wird nicht
das gerade aktuelle Verzeichnis angezeigt, sondern gezielt /usr/bin. Dem
Befehl wurden zwei Anweisungen übergeben.

Abbildung 2.5 Mit der Eingabe von »ls -l /usr/bin« wurde der Inhalt des Verzeichnis-
ses »/usr/bin« in einer detaillierten Form ausgegeben.

Die erste Anweisung, -l ist eine Option des Befehls. Optionen geben Optionen
dem Befehl nähere Instruktionen, wie er seine Aufgabe zu bewältigen
hat. Das l steht in diesem Fall für Long Format, also eine detailliertere
Liste des Verzeichnisinhalts.

Die meisten Befehle haben mögliche Optionen, die zum Teil die Funkti-
onsweise sehr erheblich modifizieren können. Sie werden meistens mit
einem Minuszeichen (-) und einem Buchstaben angegeben, der direkt
auf das Minus folgt. Es ist auch möglich, mehrere Optionen direkt hinter-
einander zu schreiben. ls -al zeigt den Verzeichnisinhalt in Listenform
an und führt dabei auch unsichtbare Dateien auf, wird also mit zwei
Optionen ausgeführt. Es gibt aber auch die Schreibweise mit zwei Minus-
zeichen (--) und der Option als ganzes Wort. Welche Optionen ein Befehl

33

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 33 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
2 Erste Schritte mit dem Terminal

zulässt, können Sie in der Regel der Dokumentation (siehe Abschnitt 3.2)
entnehmen.

Argumente Die Angabe des Verzeichnisses ist ein Argument und sagt dem Befehl hier,
mit welchem Verzeichnis er seine Aufgabe erledigen soll. Die meisten Be-
fehle benötigen für ihre Arbeit mindestens ein oder mehrere Argumente,
zum Beispiel die Ausgangs- und die Ziel-Datei für einen Kopiervorgang.
Auch hier ist es erforderlich, im Zweifelsfall in der Dokumentation nach-
zuschlagen.

Der Befehl und seine Optionen und Argumente werden immer durch
ein Leerzeichen voneinander getrennt. Andernfalls kann die Shell nicht
unterscheiden, was Befehl, was Option und was Argument ist.

Operatoren Zum Abschluss noch ein etwas komplizierteres Beispiel. Geben Sie den
Befehl ls -l /usr/bin > Verzeichnis.txt ein. Die erste Hälfte besagt
das Gleiche wie im vorigen Beispiel. Aber wenn Sie diesen Befehl aus-
führen, bekommen Sie den Inhalt des Verzeichnisses nicht angezeigt.
Stattdessen befindet sich im aktuellen Verzeichnis auf einmal eine Datei
Verzeichnis.txt, die, wenn Sie sie in TextEdit öffnen, die oben angezeigten
Einträge als Text enthält. Die Ausgabe ist also nicht auf dem Bildschirm
erfolgt, sondern sie wurde in eine Datei umgeleitet.

Die Klammer > hat hier die Funktion, die Ausgabe vom Bildschirm in
eine Datei umzuleiten. Verzeichnis.txt ist nun wiederum ein Argument,
das als Ziel des Operators dient. Solche Operatoren eigenen sich dazu,
festzulegen, wie mit den Ergebnissen eines Befehls umgegangen werden
soll.

Endgültiger Der mehr oder weniger endgültige Aufbau der Befehle stellt sich nun in
Befehlsaufbau dieser Form dar:

Befehl Optionen Argumente Operator Argumente

Befehle sind oft Bei den Namen sehr vieler Befehle handelt es sich um Akronyme. So
Akronyme dient der Befehl cp zum Kopieren von Dateien, also eigentlich copy. Zum
Verschieben wird der Befehl mv (move) verwendet, zum Löschen rm (re-
move), zum Erstellen eines Verzeichnisses mkdir (make directory), und für
die Benutzerverwaltung am Terminal gibt es den Befehl dscl (Directory
Service Command Line). Diese Akronyme sind oft hilfreich, um sich die
Bedeutung eines neuen Befehls einzuprägen.

Diese Akronyme werden, sofern es sinnvoll ist, zusammen mit dem Be-
fehl und seinem Aufbau aufgeführt. Die Synopsis eines Befehls wird im
Rest des Buchs in dieser Form angegeben:

34

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 34 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Effizient mit dem Terminal arbeiten 2.4

Name des Befehls – Merkhilfe/Akronym

Befehl [Optionen] [Argumente] [Operator] [Argumente]

Die eckigen Klammern enthalten Angaben, die Sie vorgeben können, aber
nicht müssen. Dem Befehl ls können Sie eine Option wie -l übergeben,
Sie müssen es aber nicht tun. Es gibt eine Reihe von Befehlen, die für
ihre Arbeit eine Option und Argumente zwingend benötigen.

Ab und zu gibt es Befehle, bei denen es nicht möglich ist, eine sinnvolle
Merkhilfe oder ein Akronym anzugeben. In solchen Fällen ist dann nur
der Name des Befehls aufgeführt.

2.4 Effizient mit dem Terminal arbeiten

Das Dienstprogramm Terminal und die Shell bieten Ihnen Funktionen,


die über die bloße Ein- und Ausgabe hinausgehen. Bevor in den nächs-
ten Kapiteln die Befehle und ihre Funktionen im Detail erklärt werden,
möchte ich Ihnen in diesem Abschnitt noch einige der Funktionen des
Terminals vorstellen. Diese Funktionen beziehen sich zum Beispiel auf
die Zwischenablage, die Handhabung mehrerer Terminal-Fenster oder
den vorzeitigen Abbruch von Befehlen. Es lohnt sich, diese Funktionen
zu lernen, weil sie Ihnen die Arbeit am Terminal erleichtern und viele
Eingaben und Mausklicks ersparen können.

2.4.1 Sonderzeichen maskieren


Wenn Sie intensiver mit dem Terminal und der Shell arbeiten, dann wer- Der Backslash \
den Sie sich an eine Besonderheit gewöhnen müssen: an das Maskieren
von Sonderzeichen. Diese Maskierung ist notwendig, weil es eine Reihe
von Zeichen gibt, die am Terminal eine festgeschriebene Bedeutung ha-
ben. So wird das Leerzeichen genutzt, um Optionen und Argumente von-
einander zu trennen. Möchten Sie mit dem Befehl cd in ein Verzeichnis
wechseln, in dessen Namen ein Leerzeichen vorkommt, dann erhalten
Sie nach der Eingabe von cd Neuer Ordner die Fehlermeldung -bash:
cd: Neuer: No such file or directory. Die Meldung besagt, dass ein
Verzeichnis mit dem Namen Neuer nicht gefunden wurde. Der Grund
besteht darin, dass das Leerzeichen zwischen Neuer und Ordner von der
Shell als Trennzeichen zwischen verschiedenen Argumenten angesehen
wird. Um der Shell zu signalisieren, dass es sich bei dem Leerzeichen nicht
um das Trennzeichen zwischen den Optionen und Argumenten handelt,

35

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 35 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
2 Erste Schritte mit dem Terminal

sondern dass es zum Ordnernamen gehört, müssen Sie ihm einen Back-
slash \ voranstellen. Dementsprechend führt die Eingabe von cd Neuer\
Ordner dann zum Erfolg.

Das Zeichen \ können Sie mit der Tastenkombination alt + Shift + 7


erzeugen.

Weitere Neben dem Leerzeichen gibt es noch einige weitere Zeichen, denen Sie \
Sonderzeichen voranstellen müssen, um sie als Bestandteil eines Dateinamens zu maskie-
ren. Dazu gehören wenigstens die Zeichen $, – (wenn das Minuszeichen
am Anfang eines Dateinamens steht), =, alle Klammern, Anführungs- und
Ausrufungszeichen. Das scheint zunächst eine ganze Menge an Zeichen
zu sein, aber Sie werden in den nächsten Kapiteln sehen, dass diese Zei-
chen in der Tat alle eine Aufgabe erfüllen.

Es ist generell empfehlenswert, bei den Namen von Ordnern und Dateien
nach Möglichkeit auf die zuvor erwähnten Sonderzeichen zu verzichten.
Anstelle eines Bindestrichs oder eines Leerzeichens können Sie sich mit
einem Unterstrich _ behelfen.

2.4.2 Das Terminal und die Zwischenablage


Auswahl einsetzen Selbstverständlich unterstützt das Terminal auch die Zwischenablage von
Mac OS X. Sie können Text wie gewohnt mit der Maus markieren und
in die Zwischenablage kopieren. Daneben gibt es noch zwei Funktionen,
die sich im Alltag als recht praktisch erweisen. Haben Sie eine Textstelle
mit der Maus markiert, beispielsweise bei einer im Terminal angezeig-
ten Textdatei, dann können Sie diese über den Menüpunkt Bearbeiten •
Auswahl einsetzen direkt an der Position des Cursors einfügen. Damit
sparen Sie sich die Arbeitsschritte Kopieren und Einfügen.

Text mit Haben Sie einen Text in die Zwischenablage kopiert, der Sonderzeichen
Steuerzeichen enthält, dann können Sie den Menübefehl Bearbeiten • Text mit Steu-
einsetzen
erzeichen einsetzen verwenden. Mit diesem Befehl fügt das Terminal
automatisch vor allen Zeichen, die bei der Befehlseingabe als Sonderzei-
chen interpretiert werden könnten, einen Backslash ein.

Zeilenumbrüche Wenn Sie eine mehrzeilige Textstelle markeiren, dann werden die Zeile-
beachten numbrüche auch in die Zwischenablage kopiert. Setzen Sie den Text am
Cursor wieder ein, dann wird der Zeilenumbruch als Druck auf die Taste
Return interpretiert. Dies lässt sich umgehen, indem Sie mit der Maus
die Auswahl nur bis kurz vor Ende der Zeile treffen. Solange der ausge-
wählte Bereich nicht bis zum rechten Rand des Fensters reicht, gehört der
Zeilenumbruch noch nicht zur Auswahl.

36

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 36 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Effizient mit dem Terminal arbeiten 2.4

2.4.3 Drag & Drop


Die Fenster des Terminals bieten auch eine Unterstützung für Drag & Vollständiger Pfad
Drop. Text im Fenster können Sie markieren und mit der Maus auf den
Schreibtisch ziehen. Er wird dann als Textclip gespeichert.

Abbildung 2.6 Dateien und Ordner können auch per Drag & Drop in das Fenster des
Terminals gezogen werden.

Umgekehrt können Sie auch Dateien und Ordner in das Fenster des
Terminals ziehen. Dann wird der vollständige Pfad der Datei oder des
Ordners automatisch an der Position des Cursors eingefügt. Praktisch ist
diese Möglichkeit dann, wenn Sie im Finder einen Ordner, der sich in
den Untiefen des Systems befindet, geöffnet haben und auch im Terminal
in diesen wechseln möchten. Oder Sie haben im Finder eine Datei zur
Hand, auf die Sie im Terminal einen Befehl anwenden möchten. Auch
wenn die automatische Vervollständigung (siehe Abschnitt 2.4.5) schon
recht praktisch ist, geht es manchmal per Drag & Drop noch schneller.

2.4.4 Fenstergruppen und Tabs


Ähnlich wie Safari unterstützt auch das Terminal die Arbeit mit sogenann- Tabs
ten Tabs. Hierbei werden mehrere Fenster in einem zusammengefasst und
können unterhalb der Titelleiste über die Reiter angeklickt werden. Im
Terminal können Sie einen solchen Tab mit dem Kurzbefehl cmd + T er-
stellen. Der Name des Tabs in der Titelleiste resultiert aus dem Namen
des Prozesses, der im Vordergrund läuft. In Abbildung 2.7 wurden zwei
Tabs geöffnet. Im zweiten Tab, der sich im Vordergrund befindet, ist das
Programm top aktiv. Dementsprechend lautet der Name in Abbildung
2.7 auch top. Im ersten Tab, der sich im Hintergrund befindet, wartet die
Shell auf eine Eingabe. Der aktive Prozess ist also die bash.

37

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 37 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
2 Erste Schritte mit dem Terminal

Abbildung 2.7 Bei den Tabs wird der aktive Prozess in der Titelzeile angezeigt.

Zum Tab links des aktiven können Sie mit dem Kurzbefehl cmd + alt +
Ö wechseln, zum Tab rechts mit cmd + alt + Ä. Die Tabs lassen sich wie
auch in Safari mit der Maus verschieben und umgruppieren. Mit dem
Menübefehl Fenster • Alle Fenster zusammenführen können Sie alle
geöffneten Fenster des Terminals in einem zusammenführen, wobei aus
jedem zuvor eigenständigen Fenster ein Tab wird.

Abbildung 2.8 Die gesicherte Fenstergruppe kann direkt nach dem


Start des Terminals geöffnet werden.

Fenstergruppen Mit der Zeit werden Sie sich an ein bestimmtes Arrangement der Fens-
ter im Terminal gewöhnt haben. Es wäre zum Beispiel möglich, dass Sie
bevorzugt mit zwei offenen Fenstern arbeiten. Im ersten Fenster lassen
Sie sich die Dokumentation eines Befehls anzeigen, um ihn im zweiten
Fenster direkt auszuprobieren. Das Terminal ermöglicht es Ihnen, die
Anzahl der Fenster und deren Position in einer Fenstergruppe zu spei-
chern. Rufen Sie hierzu den Menübefehl Fenster • Fenster als Gruppe
sichern auf. Neben dem Namen können Sie hier auch festlegen, ob die zu
sichernde Fenstergruppe beim Start des Terminals automatisch verwen-

38

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 38 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Effizient mit dem Terminal arbeiten 2.4

det werden soll. Wenn Sie diese Option aktiveren, dann werden beim
nächsten Start des Programms die gesicherten Fenster geöffnet und an
die gesicherte Position verschoben.

Abbildung 2.9 Die gesicherten Fenstergruppen werden in den


Einstellungen des Terminals verwaltet.

Die gesicherten Fenstergruppen können Sie über den Menüpunkt Fens-


ter • Fenstergruppe öffnen aufrufen. Sie finden in diesem Unterme-
nü alle Fenstergruppen, die Sie zuvor gesichert haben. Die Verwaltung
der Fenstergruppen findet in den Einstellungen des Programms Terminal
statt. Sie finden hier eine Ansicht Fenstergruppen. Wählen Sie die zu
entfernende Gruppe aus, und löschen Sie diese über das Minuszeichen
unten links. Über das Ausklappmenü mit dem Zahnrad können Sie die
gesicherten Gruppen auch in eine separate Datei exportieren oder eine
solche Datei importieren.

Das Terminal nummeriert die ersten neun Fenster durch. Mit den Kurzbe- Tastenkürzel
fehlen cmd + 1 bis 9 können Sie gezielt das jeweilige Fenster aktivieren. In für Fenster

den Voreinstellungen (siehe Abschnitt 2.4.10) können Sie auch festlegen,


dass Ihnen das Tastenkürzel des Fensters in dessen Titelleiste angezeigt
wird.

2.4.5 Automatische Vervollständigung


Die Bourne Again Shell bietet eine Reihe von Funktionen, mit denen Sie Vervollständigung
sich unnötige Eingaben ersparen können. Diese Funktionen werden in durch Tabulator

Kapitel 8, Effizient mit der Shell arbeiten, erklärt. Die automatische Ver-
vollständigung Ihrer Eingaben ist aber auch schon nützlich, wenn Sie
gerade erst beginnen, sich mit dem Terminal auseinanderzusetzen. Zur

39

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 39 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
2 Erste Schritte mit dem Terminal

automatischen Vervollständigung dient ein Druck auf die Taste Tabula-


tor.

Befehle Dabei gibt es zwei Methoden, wie Ihre Eingaben automatisch vervollstän-
vervollständigen digt werden können. Wenn Sie Zeichen zu Beginn einer Zeile eingeben,
was ja in der Regel bedeutet, dass Sie den Namen eines Befehls eingeben,
dann können Sie mit einem Druck auf die Taste Tabulator den eingegebe-
nen Befehl vervollständigen. Geben Sie zum Beispiel rmd ein und drücken
dann Tabulator, so wird Ihre Eingabe zu rmdir vervollständigt. Es verhält
sich hierbei so, dass die Shell im Hintergrund eine Suche nach Befehlen
startet, deren Namen mit dem eingegebenen Zeichen beginnen. Trifft die
Shell auf ein eindeutiges Resultat, dann erfolgt die Vervollständigung.

Abbildung 2.10 Bei uneindeutigen Vervollständigungen führt eine zweifache Eingabe


von »Tabulator« zur Auflistung der Möglichkeiten.

Anders verhält es sich, wenn die Shell auf mehrere Möglichkeiten trifft,
das Suchergebnis also nicht eindeutig ausfällt. In diesem Fall erklingt
der Warnton des Systems. Drücken Sie noch ein zweites Mal die Taste
Tabulator, dann zeigt Ihnen die Shell die möglichen Vervollständigungen
an.

Dateien und Die Vervollständigung können Sie auch bei Datei- und Verzeichnisna-
Verzeichnisse men verwenden. Wenn Sie zunächst den auszuführenden Befehl einge-
ben und dann den Beginn des Namens einer Datei oder Verzeichnisses,
dann vervollständigt die Shell den Namen. So führt die Eingabe von cd
Doc, gefolgt von Tabulator, zu cd Documents. Auch hier muss die Vervoll-
ständigung eindeutig sein. Gäben Sie nur cd Do ein, dann würde wieder
der Warnton erklingen, weil es in Ihrem persönlichen Ordner sowohl
ein Verzeichnis Documents als auch ein Verzeichnis namens Downloads
gibt. Ein zweiter Druck auf Tabulator führt auch hier zur Ausgabe der
gefundenen Möglichkeiten.

2.4.6 Zeilenpuffer und Befehlsverlauf


Zeilenpuffer Wenn Sie mehrere Befehle hintereinander eingeben, so erscheinen die
löschen jeweiligen Ausgaben untereinander. Hierbei werden die Ausgaben vor-

40

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 40 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Effizient mit dem Terminal arbeiten 2.4

angegangener Befehle nach oben hin weggescrollt. Im Menü Ansicht


finden Sie einige Befehle, wie Sie durch die oben stehenden Ausgaben
blättern können. An und für sich unterscheiden sich die Kurzbefehle mit
einer Ausnahme nicht von denen, die unter Mac OS X sonst gebräuchlich
sind. Die Ausnahme besteht in der Löschung des Zeilenpuffers. Wenn
Sie den Zeilenpuffer mit dem Kurzbefehl cmd + K löschen, dann wird
der Inhalt des Fensters gelöscht und der Prompt der Shell erscheint am
oberen Rand des Fensters. Die Löschung des Zeilenpuffers kann dann
nützlich sein, wenn Sie sich zum Beispiel eine lange Liste anzeigen lassen
möchten, die Sie von oben nach unten durchsehen wollen. Löschen Sie
zunächst mit cmd + K den Zeilenpuffer und geben dann einen Befehl wie
ls -l /usr/bin ein, dann können Sie mit dem Menübefehl Ansicht •
um Anfang an den Beginn der Liste springen und dann mit dem Kurzbe-
fehl cmd + Pfeil unten die Liste Zeile für Zeile durchgehen.

Während Sie mit dem Zeilenpuffer des Terminals vorhergehende Aus- Vorige Befehle
gaben einsehen können, bietet Ihnen die Shell die Möglichkeit, bereits aufrufen

eingegebene Befehle schnell wieder aufzurufen. Im Hintergrund führt


die Shell Buch über die von Ihnen eingegebenen Befehle, ähnlich wie ein
Browser Buch über die von Ihnen besuchten Webseiten führt. Mit den
Tasten Pfeil oben und Pfeil unten können Sie durch diesen Verlauf navi-
gieren. Öffnen Sie ein neues Fenster, und lassen Sie sich den Inhalt Ihres
persönlichen Ordners mit dem Befehl ls anzeigen. Wechseln Sie dann
das Verzeichnis mit der Eingabe von cd Documents, dann können Sie auf
den Verlauf zurückgreifen. Wenn Sie zum ersten Mal die Taste Pfeil oben
drücken, erscheint cd Documents am Prompt, ein nochmaliges Betätigen
von Pfeil oben greift auf die vorige Eingabe von ls zurück. Würden Sie
nun Pfeil unten drücken, so würde wieder cd Documents aufgerufen.

2.4.7 Mit Servern verbinden


Am Terminal ist es zum Beispiel mit den Befehlen ssh und ftp möglich, Neue entfernte
eine Verbindung zu einem anderen Rechner herzustellen. Arbeiten Sie Verbindung

mit mehreren Rechnern in Ihrem lokalen Netzwerk, dann werden aktive


SSH- und FTP-Server über Bonjour automatisch kommuniziert. Sie kön-
nen mit dem Menübefehl Shell • Neue entfernte Verbindung. . . oder
mit dem Kurzbefehl cmd + Shift + K das Fenster aus Abbildung 2.11 auf-
rufen. Hier finden Sie links die Protokolle wie SSH und FTP und, wenn
Sie ein Protokoll auswählen, rechts die in Ihrem lokalen Netzwerk akti-
ven und bekannten Server. Wählen Sie einen Server aus, dann können
Sie direkt die Verbindung aufnehmen. Über die beiden Pluszeichen kön-
nen Sie sowohl neue Protokolle (sofern Sie deren Bonjour-Spezifikationen

41

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 41 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
2 Erste Schritte mit dem Terminal

kennen) als auch Server hinzufügen. Im Feld Benutzer können Sie den
Namen des Kontos angeben, mit dem die Anmeldung erfolgen soll.

Abbildung 2.11 Mit Servern, die über Bonjour kommuniziert wurden,


kann direkt eine Verbindung aufgenommen werden.

2.4.8 Befehle abbrechen


Break Manchmal kommt es vor, dass irgendetwas aus dem Ruder läuft. Ein
Befehl beendet sich nicht korrekt und verhindert weitere Eingaben. Ein
Tippfehler führt dazu, dass statt eines Verzeichnisses die gesamte Festplat-
te nach einer Datei durchsucht wird, was sehr lange dauern kann. Wie
auch in anderen Programmen dient die Tastenkombination cmd+. dazu,
den gerade laufenden Prozess sofort abzubrechen (break). In der Regel
führt dies zum Erfolg, d. h. zu einem Abbruch. Alternativ können Sie das
gleiche Signal mit ctrl + C senden.

End of File Es gibt aber einige Situationen, die sich in dieser Form nicht beenden
lassen. Wenn Sie beispielsweise python als Befehl eingeben, so startet
Python – eine Programmiersprache. Der Prompt verändert sich in >>>,
und Python wartet auf Befehle. Etwaige Angaben nimmt nun nicht mehr
die Shell entgegen, sondern die Programmierumgebung von Python.
cmd + . führt aus dieser Situation nicht heraus. Python erwartet zum Been-
den keinen Break, sondern ein End of File-Ereignis (EOF). Dieses wird mit

42

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 42 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Effizient mit dem Terminal arbeiten 2.4

ctrl + D gesendet. Der Name deutet es bereits an: EOF steht für das Ende
einer Datei. Oftmals tritt dies auf, ohne dass man etwas davon bemerkt.
Eine Textdatei ist abgearbeitet, ein Verzeichnis komplett eingelesen, und
das Programm springt zum nächsten Eintrag und präsentiert die Ergeb-
nisse. Manchmal kommen Sie aber in Situationen, in denen ein solches
Ereignis explizit erwartet wird.

Das letzte Mittel besteht darin, das Fenster einfach zu schließen. Damit Fenster schließen
werden alle von diesem Fenster aus gestarteten Programme beendet. Ele-
ganter können Sie dies mit den in Kapitel 6, Prozesse und ihr Management,
beschriebenen Befehlen tun.

2.4.9 Terminal zurücksetzen


In seltenen Fällen kann es notwendig sein, dass Sie das Terminal in den Reset
ursprünglichen Zustand zurückversetzen müssen. Dies kann zum Beispiel
dann erforderlich sein, wenn ein aus dem Ruder gelaufener Befehl die
Anzeige des Terminals mithilfe von diversen Sonder- und Steuerzeichen
deformiert hat. Über den Menüpunkt Shell • Reset senden signalisieren
Sie dem Terminal, dass es das aktuelle Fenster neu starten soll. Mit dem
Befehl Hard Reset senden können Sie das Terminal in jedem Fall in den
Ausgangszustand zurückversetzen. Er entspricht ungefähr der Wirkung,
als würden Sie bei einem Rechner ohne Akku den Stecker ziehen.

2.4.10 Einstellungen vornehmen und speichern


Das Terminal bietet Ihnen einige Möglichkeiten, wie Sie die Anzeige in- Arbeitsumgebung
nerhalb der Fenster und ihr Verhalten in Bezug auf aktive Programme gestalten

konfigurieren können. Mithilfe dieser Einstellungen können Sie das Aus-


sehen und zum Teil auch das Verhalten der Fenster des Terminals nach
Ihren eigenen Vorstellungen und gemäß Ihrer persönlichen Arbeitsweise
anpassen.

Die Voreinstellungen, die Sie über den Menüpunkt Terminal • Einstel- Start festlegen
lungen aufrufen können, gliedern sich in vier Ansichten. In der Ansicht
Start legen Sie fest, was direkt nach dem Start des Terminals geschehen
soll. Hier können Sie entweder eine zuvor gesicherte Fenstergruppe aus-
wählen oder einfach nur ein neues Fenster mit einer der nachfolgend be-
schriebenen Einstellungen öffnen. Neben diesen Einstellungen, die sich
auf die Handhabung der Fenster beziehen, können Sie auch eine andere
Shell auswählen. In den Standardeinstellungen wird die Shell verwendet,
die in Ihrem Benutzerkonto eingetragen wurde. Hierbei handelt es sich

43

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 43 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
2 Erste Schritte mit dem Terminal

unter Mac OS X um die zu Beginn dieses Kapitels erläuterte Bourne Again


Shell, die bash. Unter UNIX-Systemen haben sich im Laufe der Zeit einige
andere Shells etabliert, die in Bezug auf die Eingabe von Befehlen mehr
oder weniger viele Funktionen bieten. Wenn Sie bereits mit einem ande-
ren UNIX- oder Linux-System gearbeitet haben und sich etwa an die Shell
tcsh gewöhnt haben, dann können Sie diese hier auswählen. Beginnen
Sie gerade erst, sich mit dem Terminal unter Mac OS X zu befassen, dann
sollten Sie diese Einstellung erst einmal nicht ändern.

Abbildung 2.12 In der Ansicht »Start« kann festgelegt werden, was nach dem Start
des Dienstprogramms geschieht.

Fenstergruppen Die Ansicht Fenstergruppen wurde in Abschnitt 2.4.4 besprochen. In


und Codierungen der Ansicht Codierungen finden Sie eine Liste aller Textcodierungen, die
auf Ihrem System verfügbar sind. Diese Codierungen dienen kurz gesagt
dazu, die Zeichen auf dem Bildschirm bei der Verwendung unterschied-
licher Sprachen darzustellen. Sofern Sie nicht mit irgendwelchen eher
wenig gebräuchlichen Sprachen wie Chinesisch arbeiten, müssen Sie in
diesen Einstellungen keine Änderungen vornehmen.

Verschiedene Wenn Sie die Ansicht Einstellungen auswählen, dann gliedert sich diese
Einstellungen in mehrere Reiter. In der Spalte links finden Sie die gespeicherten Einstel-
lungen (Basic, Grass, Homebrew, . . . ) und jeweils eine kleine Vorschau
des Stils. Die Aufgabe dieser Einstellungen entspricht in etwa der Aufga-
be von Stilvorlagen in einer Textverarbeitung: Sie fassen die von Ihnen in
den Reitern vorgenommenen Konfigurationen zusammen und speichern
diese. Wenn Sie also gern zwischen einer grünen und schwarzen Ansicht

44

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 44 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Effizient mit dem Terminal arbeiten 2.4

des Terminals wechseln möchten, dann können Sie einfach eine passende
Einstellung wie Homebrew oder Grass auswählen. Ob Sie die standard-
mäßig vorhandenen Einstellungen ändern oder über das Plus-Zeichen
unten links eine neue Einstellung nach Ihren Vorstellungen treffen, ist ei-
gentlich nicht wichtig. Mit der Schaltfläche Standard legen Sie fest, dass
die gerade ausgewählte Einstellung für alle neuen Fenster gelten soll,
während Sie über das Ausklappmenü mit dem Zahnrad Ihre Einstellun-
gen exportieren und importieren sowie den Standard wiederherstellen
können.

Abbildung 2.13 Die Einstellungen gliedern sich in mehrere Ansichten,


in denen unter »Text« unter anderem die Schriftart ausgewählt
werden kann.

In der Ansicht Text können Sie Einstellungen für die Darstellung des Text vorgeben
Textes im Terminal festlegen. Bei der Schriftart sollten Sie eine Schrift
mit fester Zeichenbreite wie Monaco oder Courier auswählen. Auf die
Möglichkeit, den Text zu glätten, sollten Sie bei der Arbeit am Terminal
eher verzichten. Schriften wie die Monaco lassen sich am einfachsten
ohne Schriftglättung entziffern. Welche Farben Sie für den Text festlegen,
welche Form des Cursors Sie auswählen und ob Sie diesen blinken lassen,
ist eigentlich nur eine Geschmacksfrage. Die Option ANSI-Farben anzei-
gen sorgt dafür, dass bei Befehlen wie ls (siehe Abschnitt 8.8.4), die Text
farbig ausgeben können, dieser auch farbig dargestellt wird.

In der Ansicht Fenster können Sie sowohl die Hintergrundfarbe als auch Fenster
die Größe des Fensters festlegen. Bei der Größe des Fensters sollten Sie konfigurieren

45

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 45 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
2 Erste Schritte mit dem Terminal

eine Breite von wenigstens 80 Spalten verwenden, da die Anzeige von


Befehlen wie top auf diese Mindestbreite ausgelegt ist. Den Text im Titel
können Sie ebenfalls nach eigenem Gutdünken festlegen oder gegebe-
nenfalls auch ganz löschen. Den Namen des aktiven Prozesses sollten Sie
sich anzeigen lassen. Wenn Sie später mit einem Editor wie nano Texte
im Terminal bearbeiten, dann können Sie mit der Anzeige des aktiven
Prozesses leichter ersehen, wo vielleicht noch ungesicherte Änderungen
vorhanden sind. Praktisch ist es auch, sich den Tastaturbefehl in der
Titelleiste anzeigen zu lassen. Damit wird Ihnen der Kurzbefehl, mit dem
Sie das Fenster direkt anwählen können (siehe Abschnitt 2.4.4), in seiner
Titelleiste angezeigt.

Abbildung 2.14 Der Hintergrund und die Größe der Fenster werden im
gleichnamigen Reiter festgelegt.

Ob Sie die Anzahl der Zeilen im Zeilenpuffer beschränken, hängt von


den Dateien ab, die Sie sich am Terminal anzeigen lassen. Wenn Sie sich
nur hin und wieder eine längere Textdatei am Terminal ausgeben las-
sen, dann ist eine Begrenzung des Zeilenpuffers nicht notwendig. Anders
verhält es sich hingegen, wenn Sie sich viele Protokolldateien anzeigen
lassen, die je nach Konfiguration des Systems mehrere Tausend Zeilen
beinhalten können. In diesem Fall kann die Begrenzung des Zeilenpuf-
fers sinnvoll sein, um nicht unnötig Arbeitsspeicher zu belegen.

Shell In der Ansicht Shell können Sie das Verhalten des Fensters in Bezug
auf die aktiven Programme vorgeben. Zunächst können Sie hier unter
Start einen Befehl eingeben, der beim Öffnen eines Fensters mit dieser
Einstellung ausgeführt wird. Dies kann dann nützlich sein, wenn Sie
zum Beispiel mit ssh direkt eine Verbindung mit einem anderen Server

46

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 46 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Effizient mit dem Terminal arbeiten 2.4

aufnehmen möchten, um sich so die Eingabe von ssh Benutzer@Rechner


(siehe Abschnitt 16.1) zu ersparen. Eine solche Einstellung könnten Sie
dann beispielsweise unter dem Namen Neue SSH-Verbindung speichern.

Abbildung 2.15 In der Ansicht »Shell« kann festgelegt werden, dass das Fenster nicht
versehentlich geschlossen wird.

Die Auswahl unter Beim Beenden der Shell bezieht sich auf die Situation, Beenden der Shell
dass alle aktiven Programme in dem Fenster beendet wurden, also auch
keine Shell mehr aktiv ist. Eine solche Situation können Sie ganz einfach
erzeugen, indem Sie im Terminal den Befehl exit eingeben. Dieser sorgt
dafür, dass die Shell sich beendet. Sie finden dann den Hinweis [Prozess
beendet] und können keine Befehle mehr eingeben. Die Option Fens-
ter nicht schließen sorgt dafür, dass das Fenster offen bleibt. Auf diese
Weise können Sie noch einen Blick auf die Ergebnisse der vorher abge-
arbeiteten Befehle werfen. Wenn Sie hier die Option Schließen, wenn
kein Fehler aufgetreten ist oder Fenster schließen auswählen, dann
kann es passieren, dass Ihnen wichtige Informationen verloren gehen.

Die Einstellung, die Sie unter Vor dem Schließen nachfragen festlegen Fenster schließen
können, regelt, was passiert, wenn Sie ein Fenster schließen. In den Stan-
dardeinstellungen erfolgt die Rückfrage dann, wenn ein anderer Prozess
aktiv ist als die unter dem Punkt Nur wenn es andere Prozesse gibt
als aufgeführten. Damit wird Datenverlusten vorgebeugt, wenn Sie zum
Beispiel mit dem Editor nano eine Datei bearbeiten und aus Versehen das
betreffende Fenster schließen möchten. Wenn Sie Immer eine Rückfra-
ge erfolgen lassen, dann kann sich dies bisweilen als störend auswirken.
Umgekehrt kann keine Rückfrage dazu führen, dass Sie ungewollt Ände-
rungen verlieren.

47

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 47 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
2 Erste Schritte mit dem Terminal

Abbildung 2.16 Wird ein Fenster geschlossen, in dem sich noch ein aktiver Prozess
befindet, dann erfolgt eine Rückfrage.

Tastatur In der Ansicht Tastatur können Sie einige Einstellungen in Bezug auf die
Auswertung von Tastenkombinationen festlegen. Die Definition dieser
Steuerzeichen ist in der Regel heutzutage kaum noch notwendig. Wenn
Sie jedoch einen Editor wie emacs, der sehr exzessiv von diesen Steuer-
zeichen Gebrauch macht, im Detail konfigurieren möchten oder müssen,
dann finden Sie die entsprechenden Funktionen an dieser Stelle.

Abbildung 2.17 Sofern dies überhaupt notwendig ist, können Steuerzeichen


und Escape-Sequenzen definiert werden.

Erweitert Die Ansicht Erweitert stellt einige Optionen bereit, die, der Name deutet
es bereits an, für die fortgeschrittene Konfiguration des Terminals in Aus-
nahmefällen von Relevanz sein können. Optionen wie die Angabe des
Terminals, das Senden von Steuerzeichen bei Nicht-ASCII-Eingabe so-
wie die Strikte VT-100-Ziffernblock-Emulation sind eigentlich nur dann
von Relevanz, wenn Sie über das Netzwerk eine Verbindung zu einem
UNIX-System herstellen, bei dem für die Übertragung von Ein- und Aus-
gaben veraltete Verfahren verwendet werden. Beim Warnton steht Ih-
nen als Alternative oder Ergänzung ein Visueller Effekt zur Verfügung.

48

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 48 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Effizient mit dem Terminal arbeiten 2.4

Er führt dazu, dass der Inhalt des Fensters blinkt, wenn der Warnton
erklingt. Die Landeseinstellungen beziehen sich sowohl auf die Zei-
chen-Codierung (Unicode (UTF-8) ist im europäischen Sprachraum in
der Regel die beste Lösung) als auch auf die LANG-Umgebungsvariable.
Letztere ermöglicht es zum Beispiel, dass Programme am Terminal in ei-
ner übersetzten Variante erscheinen könne. Im weiteren Sinne handelt es
sich bei dieser Einstellung um das Pendant zu den Landeseinstellungen
in den Systemeinstellungen.

Abbildung 2.18 In der Ansicht »Erweitert« kann auch ein »Visueller Effekt«
als »Warnton« verwendet werden.

Haben Sie eine oder mehrere Einstellungen nach Ihren Vorstellungen Einstellungen
vorgenommen und gesichert, dann können Sie zunächst mit einem Klick verwenden

auf die Schaltfläche Standard die aktuell ausgewählte Einstellung für alle
neuen Fenster des Terminals festlegen.

Die gespeicherten Einstellungen stehen Ihnen auch im Menü Shell •


Neues Fenster zur Verfügung. Hier können Sie ein neues Fenster mit den
entsprechenden Einstellungen öffnen. Dies ist besonders dann praktisch,
wenn Sie in den Einstellungen in der Ansicht Shell einen Befehl ausfüh-
ren lassen. Somit können Sie direkt aus dem Menü heraus zum Beispiel
eine SSH-Sitzung (siehe Abschnitt 16.1) starten oder mit nano eine Datei
bearbeiten.

Einem bereits geöffneten Fenster können Sie nachträglich eine andere Informationen
Einstellung zuweisen, indem Sie über den Menüpunkt Shell • Infor- eines Fensters

49

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 49 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
2 Erste Schritte mit dem Terminal

mationen einblenden oder den Kurzbefehl cmd + I die Palette aus Ab-
bildung 2.19 einblenden. Dort können Sie für das aktive Fenster unter
Einstellungen eine andere auswählen. Ferner können Sie im Reiter In-
formationen den Titel des Fensters und seine Dimensionen direkt vor-
geben.

Abbildung 2.19 In der Palette »Informationen« kann nachträglich


eine andere Einstellung festgelegt werden.

50

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 50 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Die Suche nach Dateien mit Spotlight geht leicht und vor allem
präzise von der Hand. Der Einsatz von Spotlight am Terminal ist
vielleicht etwas gewöhnungsbedürftig, aber ebenfalls effizient und
flexibel.

10 Suchen und Finden mit Spotlight

Die Einführung von Spotlight mit Mac OS X 10.4 hat die Suche nach Da-
teien vielleicht nicht revolutioniert, aber doch sehr viel komfortabler und
vor allem flexibler gemacht. Und auch am Terminal bietet Spotlight eini-
ge leistungsfähige Funktionen, mit denen Sie Ihren verloren geglaubten
Dateien auf die Spur kommen können.

10.1 Funktionsweise von Spotlight


Die Aufgabe und das Ziel von Spotlight bestehen darin, Ihnen die Suche Metadaten
nach Informationen zu erleichtern. Dabei berücksichtigt Spotlight nicht
nur den Dateinamen, sondern auch Metadaten. Zu diesen Metadaten
einer Datei gehören neben dem Namen auch das Erstellungs- und Ände-
rungsdatum, der Titel, der Autor und noch vieles mehr. Abhängig vom
Dateityp kann auch im Inhalt einer Datei, etwa einer PDF-Datei, gesucht
werden.

Die Suche nach diesen Metadaten erfolgt nicht direkt im Dateisystem. Index
Spotlight erstellt und aktualisiert im Hintergrund einen Index, der bei
der Suche abgefragt wird. Dieser Index enthält die Pfade und Metadaten
aller Dateien, die in dem Dateisystem vorhanden sind. Aufgrund die-
ses Index ist die Suche mit Spotlight ausreichend schnell, um Ihnen die
Suchergebnisse in akzeptabler Geschwindigkeit präsentieren zu können.
Der Index wird von Spotlight laufend aktualisiert. Zuständig hierfür sind
unter anderem die Prozesse mdimporter und mdworker. Nehmen Sie nun
Änderungen an dem Dateisystem vor, indem Sie eine Datei verschieben,
Änderungen speichern oder neu erstellen, dann bringt Spotlight den In-
dex automatisch auf den aktuellen Stand. Hierbei greift Spotlight auf die
Arbeit des Daemons fseventsd zurück. Dessen Aufgabe besteht darin,

237

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 237 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

Ereignisse im Dateisystem (File System Events) in einer kleinen Datenbank


unter /.fseventsd zu speichern.

Einen Index für Spotlight finden Sie auf jedem Volume, das Sie auf
Ihrem System aktivieren. Der Index wird in einem Verzeichnis .Spot-
light-V100 erstellt und befindet sich auf der obersten Ebene des je-
weiligen Dateisystems. Beim Startvolume finden Sie ihn unter /.Spot-
light-V100, bei einer aktivierten Partition mit dem Namen Daten unter
/Volumes/Daten/.Spotlight-V100. Die Zugriffsrechte für den Index sind je-
weils restriktiv vergeben. Lediglich der Superuser root darf auf den Index
selbst zugreifen. Bei Ordnern, die Sie über das Netzwerk eingebunden ha-
ben, ist die Verwendung von Spotlight eingeschränkt. Wird der Ordner
auf einem System mit Mac OS X 10.5 freigegeben, dann können Sie auf
den dort ebenfalls vorhandenen Index zurückgreifen. Bei Ordnern, die
auf einem Windows-Rechner liegen, ist natürlich kein Index vorhanden.
In diesem Fall können Sie aber nach Dateinamen suchen, indem Sie die
Option -onlyin (siehe Abschnitt 10.2.1) und den Pfad zum eingebunde-
nen Ordner verwenden.

Importer Um die Metadaten einer Datei auslesen zu können, verwendet Spotlight


Importer. Solche Importer ermöglichen Spotlight für ein bestimmtes Da-
teiformat, zum Beispiel PDF-Dateien, den Zugriff und definieren, wie und
welche Metadaten aus dem Dokument ausgelesen und in den Index über-
nommen werden sollen. Diese Importer können an folgenden Stellen im
Dateisystem abgelegt werden:

왘 /System/Library/Spotlight

왘 /Library/Spotlight

왘 ~/Library/Spotlight

Ferner können Importer auch Teil eines Programm-Bundles (zu den Bund-
les siehe Abschnitt 11.1.3) sein und vom System dann aktiviert werden,
wenn Sie das Programm zum ersten Mal starten. Bei einigen Importern
ist es auch möglich, dass diese nicht nur die Metadaten, sondern auch
den Inhalt einer Datei indizieren. Zum Beispiel werden PDF-Dateien im
Volltext in den Index aufgenommen.

10.2 Suchen mit mdfind


mdfind Am Terminal steht Ihnen die Suchfunktion von Spotlight über den Be-
fehl mdfind zur Verfügung. Eine einfache Suche können Sie zum Beispiel

238

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 238 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Suchen mit mdfind 10.2

durch die Eingabe von mdfind Apple ausführen. In diesem Fall durch-
sucht mdfind den gesamten Index nach dem Begriff "Apple" und gibt
Ihnen die absoluten Pfade und Namen zu den Dateien aus, in denen der
Suchbegriff in irgendeiner Form im Inhalt oder den Metadaten enthalten
ist.

mdfind – Metadaten find

mdfind [Optionen] Suchbegriff

10.2.1 Optionen von mdfind


Mit der Option -live können Sie veranlassen, dass Ihnen die Treffer Live-Suche
unmittelbar während des Suchvorgangs angezeigt werden. Mit dieser
Option bleibt der Befehl mdfind aktiv. Nach dem ersten Suchvorgang
erhalten Sie zunächst die Meldung [Type ctrl-C to exit]. Sie können
den Befehl nun mit der Tastenkombination ctrl + C abbrechen. Solange
Sie ihn nicht abbrechen, kontrolliert mdfind kontinuierlich den Index
von Spotlight daraufhin, ob sich Änderungen am Index ergeben haben,
die Ihre Suche betreffen. Wenn Sie zum Beispiel Dateien erstellen oder
löschen und somit die Anzahl der Fundstellen verändern, dann erhalten
Sie eine Nachricht Query update: 68 matches. Die Zahl gibt Ihnen die
nun aktuelle Anzahl der Fundstellen (matches) zu Ihrer Suche (Query) an.
Die Aktualisierung wird aktualisiert, wenn sich die Zahl der Fundstellen
ändert.

Mit der Option -onlyin und einem Verzeichnis können Sie mdfind anwei- Verzeichnis
sen, nur das angegebene Verzeichnis zu durchsuchen. Die Anfrage mdfind vorgeben

-onlyin ~/Documents Apple beschränkt die Suche nach dem Begriff "Ap-
ple" auf Ihren persönlichen Ordner Dokumente. Das aktuelle Arbeitsver-
zeichnis könnten Sie mit mdfind -onlyin ./ Apple durchsuchen.

Die Option -onlyin ist auch von Relevanz, wenn Sie in einem über Suche auf
das Netzwerk eingebundenen Ordner suchen möchten. Das Fenster von Freigaben

Spotlight stellt Ihnen hierzu den Eintrag Freigaben zur Verfügung. Am


Terminal müssen Sie die Option -onlyin in Verbindung mit dem Pfad
zur Freigabe verwenden, um den über das Netzwerk eingebundenen
Ordner zu durchsuchen. Haben Sie also zum Beispiel von einem anderen
System einen freigegebenen Ordner mit dem Namen Daten eingebunden,
dann wird dieser im Pfad /Volumes/Daten aktiviert. Führen Sie eine Suche
mit mdfind Apple durch, dann wird die Freigabe bei der Suche nicht
berücksichtigt. Mit mdfind -onlyin /Volumes/Daten Apple können Sie
gezielt den freigegebenen Ordner des anderen Rechners durchsuchen.

239

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 239 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

Beachten Sie, dass diese Möglichkeit den Einsatz von Mac OS X 10.5 auf
beiden Seiten voraussetzt.

Führen Sie mit mdfind -onlyin /Volumes/Dosendateien Apple eine Su-


che in einem Ordner aus, der auf einem Windows-Server liegt, dann
durchsucht mdfind lediglich die Namen der Dateien und Ordner. Eine
Suche im Inhalt der Dateien steht Ihnen hier nicht zur Verfügung.

10.2.2 Suchergebnisse weiterverarbeiten


Pipe Die einzelnen Fundstellen von mdfind werden in den Standardeinstellun-
gen von mdfind durch Zeilenumbrüche getrennt. Sie können die Ausgabe
natürlich mit Hilfe einer Pipe | weiterverarbeiten. So führt die Eingabe
von mdfind Apple | sort dazu, dass die Fundstellen von dem Programm
sort (siehe Abschnitt 9.1.7) alphabetisch sortiert werden und ihre Rei-
henfolge nicht willkürlich ist. Sie könnten zur bequemeren Navigation in
den Suchergebnissen auch zusätzlich noch das Programm less durch die
Eingabe von mdfind Apple | sort | less verwenden.

Verschachtelung Auch die Verschachtelung von Befehlen ist in Verbindung mit mdfind
durchaus nützlich, birgt jedoch eine Tücke: Leerzeichen im Namen. Sie
könnten zum Beispiel alle PDF-Dateien, die in Verbindung mit dem Be-
griff "Apple" gefunden werden, in ein Verzeichnis kopieren. Führen Sie
den Befehl cp -v $(mdfind "Apple kind:pdf" Verzeichnis aus. Die
von mdfind gefundenen Dateien werden cp als Parameter übergeben,
und nach Abschluss der Suche werden alle Dateien in das angegebene
Verzeichnis kopiert. Über die Option -v erhalten Sie eine Übersicht der
gefundenen und kopierten Dateien. Indes stößt diese Verschachtelung in
dem Moment an ihre Grenzen, wenn der Name einer Datei oder eines
Verzeichnisses ein Leerzeichen enthält. Dieses wird ja von cp nicht als
Teil des Namens, sondern als Trennzeichen zwischen zwei Argumenten
interpretiert.

xargs Behelfen können Sie sich mit dem Befehl xargs. Dessen Aufgabe besteht
unter anderem darin, solche problematischen Argumente zu korrigie-
ren. Normalerweise trennt xargs die einzelnen Argumente durch ein
Leerzeichen oder einem Zeilenumbruch, was in diesem Zusammenhang
natürlich nicht gewünscht ist. Es ist aber möglich, als Trennzeichen ein
Null-Zeichen zu verwenden. Dieses Null-Zeichen ist am Terminal nicht
sichtbar, kann aber von Befehlen wie eben xargs ausgewertet werden.
Mit der Option -0 weisen Sie mdfind an, anstelle eines Zeilenumbruchs
dieses Null-Zeichen einzufügen. Führen Sie eine Suche mit mdfind -0

240

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 240 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Suchen mit mdfind 10.2

Apple aus, dann werden Ihnen die Suchergebnisse in einem Textblock


ausgegeben.

Wenn Sie die Ausgabe von mdfind -0 mit einer Pipe an xargs weiter-
leiten, dann ist xargs ebenfalls mit der Option -0 in der Lage, das Null-
Zeichen als Trennzeichen zwischen den einzelnen Suchergebnissen zu
identifizieren. Zusätzlich benötigt xargs allerdings noch eine Angabe, an
welcher Stelle des Befehlsaufrufs die von mdfind übergebenen Sucher-
gebnisse eingesetzt werden sollen. Hierzu können Sie über die Option -J
einen Platzhalter definieren, an dessen Stelle xargs im Befehlsaufruf die
Suchergebnisse nacheinander einsetzt. Somit lautet der Aufruf von xargs
für diesen Zweck zunächst xargs -0 -J Ergebnisse. An diesen Aufruf
fügen Sie direkt, ohne eine Pipe zu verwenden, den Befehlsaufruf an,
der von xargs ausgeführt werden soll. Dieser könnte cp -v Ergebnisse
~/Documents lauten. Dies führt dazu, dass bei dem Aufruf von cp an der
Stelle von Begriff die Suchergebnisse eingefügt werden. Der endgültige
Aufbau lautet:

mdfind -0 "Apple kind:pdf" | xargs -0 -J Ergebnisse cp -v


Ergebnisse ~/Documents

Mit dieser Eingabe führen Sie zunächst eine Suche nach allen PDF-Datei-
en aus, die den Suchbegriff Apple enthalten. Die Suchergebnisse werden
aufgrund von -0 nicht durch einen Zeilenumbruch, sondern durch das
Null-Zeichen getrennt. Mit der Pipe | werden die Ergebnisse an xargs
übergeben, wobei dieser Befehl mit -0 angewiesen wird, als Trennzei-
chen das Null-Zeichen zu verwenden. Mit -J Ergebnisse wird Begriff
als Platzhalter definiert. In dem dann folgenden Aufruf von cp werden die
Suchergebnisse an der Stelle von Ergebnisse eingefügt. Um den Kopier-
vorgang am Terminal angezeigt zu bekommen, wurde cp mit der Option
-v aufgerufen.

10.2.3 Suchkriterien definieren


Im letzten Beispiel ist Ihnen bestimmt aufgefallen, dass kein einzelnes Suchausdrücke
Wort, sondern in Anführungszeichen ein Suchausdruck verwendet wur-
de. Bei der Suche mit mdfind können Sie einen Suchausdruck in Anfüh-
rungszeichen definieren, der anstelle eines einfachen Suchbegriffs ver-
wendet wird. Auf diese Weise können Sie zum Beispiel mit mdfind "Ap-
ple Microsoft" nach Dateien suchen, die sowohl den Begriff Apple als
auch den Begriff Microsoft beinhalten. Das Leerzeichen zwischen den
beiden Wörtern hat die Funktion von AND und wird in diesem Fall von

241

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 241 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

mdfind implizit vorausgesetzt. Sie hätten auch mdfind "Apple AND Mi-
crosoft" eingeben können.

AND, OR, NOT Unter Mac OS X 10.5 müssen die logischen Verknüpfungsoperatoren AND,
OR und NOT auch bei Verwendung mit mdfind ausgeschrieben werden. Mit
der Eingabe von mdfind "OpenOffice NOT Microsoft" suchen Sie nach
allen Dateien, die OpenOffice enthalten und in denen Microsoft nicht
vorkommt. Alle Dateien, in denen entweder OpenOffice oder Microsoft
vorkommt, werden mit mdfind "OpenOffice OR Microsoft" gefunden.

Kriterien Mithilfe von Klammern können Sie die Suchkriterien noch weiter verfei-
verknüpfen nern. Fassen Sie ein Kriterium wie OpenOffice NOT Microsoft in Klam-
mern zusammen, dann wird zunächst dieses Kriterium überprüft, und
seine Ergebnisse oder sein Wahrheitsgehalt mit einem anderen anzuge-
benden Kriterium verglichen. Nach allen PDF-Dateien, die OpenOffice,
aber nicht Microsoft enthalten, können Sie mit mdfind "(OpenOffice
NOT Microsoft) AND kind:pdf" suchen. Hierbei werden zunächst alle
Dateien gesucht, die OpenOffice und nicht Microsoft beinhalten. Dies
ist der Ausdruck in Klammern. Durch die Verknüpfung mit AND tritt jetzt
das zweite Kriterium hinzu. Es besagt, dass es sich zusätzlich um eine
PDF-Datei handeln muss.

Mit den Klammern können Sie die Suche noch weiter eingrenzen. Alle
PDF-Dateien, die heute geändert wurden und bei denen OpenOffice ent-
halten und Microsoft nicht enthalten ist, können Sie mit mdfind "(Open-
Office NOT Microsoft) AND (kind:pdf AND date:today)" finden.

Kürzel Dateityp
kind:app Programme
kind:contact Kontakte
kind:folder Ordner und Verzeichnisse
kind:email E-Mails
kind:event Ereignisse, die Sie in iCal eingetragen haben
kind:image Bilder
kind:movie Filme
kind:music Musikdateien
kind:pdf Portable Document Format
kind:preferences Bereiche der Systemeinstellungen
kind:bookmark Lesezeichen, unter anderem von Safari
kind:font Schriftarten
kind:presentation Präsentationen, die mit Keynote von Apple erstellt wurden.

Tabelle 10.1 Dateitypen für »mdfind«

242

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 242 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Suchen mit mdfind 10.2

Die Suche nach einem bestimmten Dateityp können Sie mit kind:, gefolgt Dateitypen
von der Bezeichnung eines Dateityps, begrenzen. So können Sie mit md-
find -onlyin ~/Documents "Apple kind:pdf" nach allen PDF-Dateien
in Ihrem Ordner Dokumente suchen, die den Begriff Apple an irgendeiner
Stelle enthalten. In Tabelle 10.1 finden Sie eine Übersicht über die Kürzel,
mit denen Sie die Suche eingrenzen können.

Sie können den Zeitraum mit date:today und date:yesterday eingren- Zeitraum
zen. Unter Mac OS X 10.4 war es auch möglich, mit date:this week eingrenzen

zu arbeiten, was unter Mac OS X 10.5 in dieser Form nicht mehr funk-
tioniert. Sie können sich allerdings mit einer Eigenschaft wie kMDItem-
ContentCreationDate und einer Angabe aus Tabelle 10.4, beispielsweise
$time.this_month, behelfen.

10.2.4 Metadaten gezielt durchsuchen


Geben Sie einen Suchausdruck vor, dann werden alle Dokumente ge- Eigenschaften
funden, die die gesuchten Begriffe an irgendeiner Stelle innerhalb der abfragen

Metadaten enthalten. Es ist auf diese Weise also nicht möglich, dass Sie
sich nur die Dateien anzeigen lassen, in denen sich der Suchbegriff unter
Spotlight-Kommentare, die Sie über den Finder zuweisen können, be-
findet. Der Befehl mdfind ist aber auch in der Lage, gezielt die Metadaten
einer Datei zu durchsuchen. Hierbei müssen Sie das Suchkriterium etwas
anders formulieren.

Auf diese Weise können Sie zum Beispiel in einem Ordner alle Bilddateien
finden, deren Farbraum RGB umfasst, die 1024 Pixel breit sind und die
über einen Alpha-Kanal verfügen. Die Metadaten einer Datei können Sie
sich mit dem nachfolgend beschriebenen Befehl mdls anzeigen lassen. Die
Bezeichnungen der einzelnen Metadaten, wie der Kommentar, die Breite
des Bildes in Pixeln oder der Farbraum, beginnen alle mit den Buchstaben
kMDItem. Welche Metadaten von Spotlight auf Ihrem System indiziert
werden und Ihnen damit bei der Suche zur Verfügung stehen, hängt auch
von den Importern ab, die Sie installiert haben. Wenn Sie zum Beispiel
einen Importer installieren, der die Dateien von OpenOffice.org indiziert,
dann stehen Ihnen weitere Metadaten bei der Suche zur Verfügung. Die
Metadaten, die von Apple standardmäßig indiziert werden, umfassen
ungefähr 100 Eigenschaften. Entwicklern wird von Apple empfohlen,
vor der Definition von eigenen Metadaten zunächst zu prüfen, ob bereits
eine passende Eigenschaft von Apple definiert wurde.

Um nun nach einer Eigenschaft zu suchen, müssen Sie sowohl die Ei- Suche nach
genschaft als auch den Wert, den diese haben soll, in Anführungszeichen Kommentar

243

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 243 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

als Suchausdruck vorgeben. Mit der Eingabe mdfind "kMDItemFinder-


Comment == 'Galileo'" werden alle Dateien gefunden, bei denen Sie im
Spotlight-Kommentar im Finder (siehe Abbildung 10.1) das Wort Galileo
an irgendeiner Stelle eingetragen haben.

Abbildung 10.1 Der Spotlight-Kommentar kann mit »mdfind« abgefragt werden.

Bei der Formulierung solcher Suchausdrücke müssen Sie darauf achten,


dass Sie zwischen dem Namen der Eigenschaft und seinem Wert zwei
Gleichheitszeichen (==) verwenden. Der Grund dafür besteht darin, dass
sich dieser Aufbau an den Gepflogenheiten der Programmiersprache C
orientiert.

Die Suche nach einer Eigenschaft wie kMDItemFinderComment kann zu ei-


ner recht mühsamen Tipparbeit führen. Es gibt einige Metadaten, bei de-
nen Synonyme Verwendung finden. So wäre es beispielsweise auch mög-
lich, anstelle von "kMDItemFinderComment == 'Galileo'" das Synonym
comment zu verwenden und die Suche mit mdfind "comment:Galileo"
auszuführen, da comment ein Synonym für die Eigenschaft kMDItemFin-
derComment ist. Ob und, wenn ja, welche Synonyme für eine Eigenschaft
zur Verfügung stehen, können Sie mit dem Befehl mdimport (siehe Ab-
schnitt 10.4.2) und der Option -A ermitteln. Da nicht für alle Eigenschaf-
ten Synonyme vorhanden sind, lohnt sich die Kenntnis der eigentlichen
Bezeichnungen wie kMDItemFinderComment aber in jedem Fall.

Eigenschaften Um die Suche auf zwei Eigenschaften auszuweiten, können Sie die Zei-
kombinieren chen && verwenden, um die Kriterien miteinander zu verketten. Die Su-
che nach

244

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 244 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Suchen mit mdfind 10.2

mdfind "kMDItemFinderComment == 'Galileo*' &&


kMDItemDisplayName == 'Beispieltext'"

zeigt Ihnen alle Dateien an, deren Spotlight-Kommentare im Finder mit


Galileo beginnt und deren Name, wie er im Finder angezeigt wird, Bei-
spieltext lautet. Haben Sie bei einer Datei die Option Suffix ausblen-
den aktiviert, dann lautet der Wert der Eigenschaft kMDItemDisplayName
"Beispieltext" und nicht "Beispieltext.rtfd". Umgekehrt können Sie mit
den Zeichen || vorgeben, dass nur eine der so verketteten Eigenschaften
zutreffen muss. Dementsprechend würde mdfind "kMDItemFinderCom-
ment == 'Galileo' || kMDItemDisplayName == 'Beispieltext'" alle Da-
teien finden, deren Spotlight-Kommentar mit Galileo beginnt oder de-
ren angezeigter Name Beispieltext lautet.

Auch in diesem Fall können Sie die Kriterien mit Klammern kombinieren Klammern
und weiter verfeinern. So findet die Suche

mdfind "(kMDItemFinderComment == 'Galileo' &&


kMDItemColorSpace == 'RGB') || kMDItemDisplayName
== 'Galileobild'"

alle Dateien, deren angezeigter Name Galileobild lautet oder bei denen
sowohl der Kommentar das Wort Galileo enthält als auch der RGB-Far-
braum verwendet wird.

Zeichen Funktion
&& . . . und . . .
|| . . . oder . . .
() Die eingeklammerten Ausdrücke werden als ein Kriterium betrachtet.

Tabelle 10.2 Verkettung von Suchausdrücken

Neben den beiden Gleichheitszeichen, mit denen Sie eine Übereinstim- Vergleiche
mung zwischen dem Wert der Eigenschaft und der Suchabfrage defi-
nieren, können Sie auch andere Vergleiche vornehmen. Zunächst kön-
nen Sie mit != definieren, dass keine Übereinstimmung vorliegen darf.
Die Suche mit mdfind -onlyin ~/Documents "kMDItemFinderComment
!= 'Galileo'" führt dazu, dass alle Dateien im Ordner Dokumente aus-
gegeben werden, deren Spotlight-Kommentare das Wort Galileo nicht
enthalten. Es ist auch möglich, bei numerischen Werten Vergleiche an-
zustellen. Hierzu dienen die Zeichen < für kleiner, > für größer, <= für
kleiner-gleich sowie >= für größer-gleich. Mit diesen Operatoren können
Sie beispielsweise nach Bildern suchen, deren Breite mehr als 1024 Pixel
beträgt. Die entsprechende Eingabe könnte mdfind "kMDItemPixelWidth
>= '1024'" lauten und alle Dateien finden, bei denen der Wert von kM-

245

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 245 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

DItemPixelWidth größer oder gleich 1024 ist. Sie können dies natürlich
auch mit anderen Kriterien kombinieren. Die Suche mit

mdfind "kMDItemPixelWidth >= '1024' &&


kMDItemPixelHeight >= '768' && kMDItemDisplayName
== '*jpg*' "

findet alle Dateien, deren Breite 1024 oder mehr Pixel beträgt, deren
Höhe 768 oder mehr Pixel beträgt und deren Name, wie er im Finder
angezeigt wird, an irgendeiner Stelle die Zeichen jpg enthält.

Operator Funktion
== Exakte Übereinstimmung zwischen Kriterium und Wert
!= Kriterium und Wert dürfen nicht übereinstimmen.
> Der Wert ist größer als das Kriterium.
< Der Wert ist kleiner als das Kriterium.
<= Der Wert ist kleiner als oder gleich dem Kriterium.
>= Der Wert ist größer als oder gleich dem Kriterium.

Tabelle 10.3 Operatoren

Groß- und Suchen Sie nach Wörtern oder Zeichenketten, beispielsweise im Spot-
Kleinschreibung light-Kommentar, dann berücksichtigt mdfind die Groß- und Kleinschrei-
bung. So wird bei der Suche mit mdfind "kMDItemFinderComment ==
'Galileo'" eine Datei gefunden, bei der im Kommentar die Zeichen Ga-
lileo enthalten sind. Würde im Kommentar hingegen galileo oder GA-
LILEO vorhanden sein, dann würde die Datei nicht zu den Treffern ge-
hören. Hängen Sie an den Suchbegriff den Buchstaben c an, dann wird
die Groß- und Kleinschreibung nicht berücksichtigt. Der Befehl könnte
mdfind "kMDItemFinderComment == 'Galileo'c" lauten.

Zeitvorgaben In den Metadaten werden auch diverse Zeitangaben gespeichert. So bein-


haltet die Eigenschaft kMDItemContentModificationDate den Zeitpunkt,
zu dem der Inhalt der Datei zum letzten Mal geändert wurde. Die Suche
nach solchen Zeitpunkten erfolgt mit der Angabe $time., gefolgt von
einem Zeitpunkt. Bei der Arbeit an der Shell müssen Sie ferner beach-
ten, dass Sie dem Dollar-Zeichen einen Backslash voranstellen und der
Shell so signalisieren, dass es sich wirklich um das Zeichen und nicht um
eine Variable handelt. Sie finden in Tabelle 10.4 eine Übersicht der mög-
lichen Zeitangaben. Die Suche mit mdfind "kMDItemFSCreationDate >
\$time.this_week" zeigt Ihnen alle Dateien, die in dieser Woche erstellt
wurden.

246

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 246 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Suchen mit mdfind 10.2

Kürzel Zeitraum
$time.now Der aktuelle Zeitpunkt
$time.today Heute
$time.yesterday Gestern
$time.this_week Die aktuelle Woche
$time.this_month Der aktuelle Monat
$time.this_year Das aktuelle Jahr
$time.now(Zahl) Mit einer positiven oder negativen Zahl können Sie vom
jetzigen Zeitpunkt aus eine abweichende Anzahl von Se-
kunden vorgeben. Die Angabe $time.now(-120) würde
die letzten zwei Minuten umfassen.
$time.today(Zahl) Mit der positiven oder negativen Zahl können Sie ei-
ne Anzahl von Tagen vorgeben. Die Angabe $time
.today(-5) würde die letzten fünf Tage umfassen.
$time.this_week(Zahl) Mit der negativen oder positiven Zahl können Sie die
Zahl der abweichenden Wochen vorgeben.
$time.this_month(Zahl) Mit der negativen oder positiven Zahl können Sie die
Zahl der abweichenden Monate vorgeben.
$time.this_year(Zahl) Mit der negativen oder positiven Zahl können Sie die
Zahl der abweichenden Monate vorgeben.
$time.iso(Zeichen) Hier kann als Zeichen eine exakte Zeitangabe gemäß
ISO 8601 vorgegeben werden. Die Angabe hat den Auf-
bau Jahr-Monat-Tag Stunde:Minute:Sekunde. Bei-
spielsweise würde 2005-08-04 19:30:01 den 4. Au-
gust 2005 19:30 Uhr und eine Sekunde bezeichnen.

Tabelle 10.4 Zeitangaben für mdfind

Eine mdfind-Suche können Sie mit allen der zuvor beschriebenen Kriteri- Ein umfangreiches
en durchführen und auf diese Weise eine ähnlich komplexe Suchanfrage Beispiel

erstellen, wie sie auch im Finder bei der Erstellung intelligenter Ordner
vorkommt. Zum Beispiel würde die Eingabe von

mdfind -onylin ~/Pictures "kMDItemFSCreationDate


> \$time.this_week(-1) && kMDItemResolutionHeightDPI
== '300' && (kMDItemFinderComment == 'Galileo'c
|| kMDItemFinderComment == 'SAP')"

alle Dateien im Ordner Bilder zurückgeben, die in der letzten Woche


erstellt wurden, mit einer vertikalen Auflösung von 300 dpi versehen
wurden und in deren Spotlight-Kommentaren im Finder entweder das
Wort Galileo oder SAP vorkommt. Bei Galileo wird mittels c die Unter-
scheidung zwischen Groß- und Kleinschreibung unterbunden.

247

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 247 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

10.2.5 Intelligente Ordner und mdfind


Saved Searches Im Finder können Sie Suchen über Spotlight als Intelligente Ordner
sichern und sich diese in der Seitenleiste anzeigen lassen, um schnell auf
die Ergebnisse zugreifen zu können. Eigentlich handelt es sich bei diesen
intelligenten Ordnern um Property-Listen, innerhalb derer die Suchkrite-
rien gesichert werden. In den Standardeinstellungen werden diese Pro-
perty-Listen im Verzeichnis ~/Library/Saved Searches gespeichert. Mit der
Option -s können Sie mdfind anweisen, eine der in diesem Ordner ge-
speicherten Abfragen auszuführen und Ihnen die Ergebnisse am Terminal
zu präsentieren. Hierbei müssen Sie den Namen in Anführungszeichen
angeben. Haben Sie eine Suche mit dem Namen PDF Heute gespeichert,
dann können Sie diese mit mdfind -s "PDF Heute" am Terminal ausfüh-
ren.

Der Rückgriff auf eine als intelligenten Ordner gespeicherte Suche kann
sich in vielen Fällen als effizienter erweisen als die Zusammenstellung
der Kriterien mithilfe von kMDItemFSCreationDate, && und $time.this_
month. In vielen Fällen bietet es sich an, eine Suche, bei der vier oder mehr
Kriterien verwendet werden, zunächst über die grafische Oberfläche von
Spotlight zusammenzustellen und dann mit mdfind -s "Name" direkt am
Terminal auszuführen.

10.3 Metadaten mit mdls anzeigen

Attribute Um zu ermitteln, welche Metadaten zu einer Datei gespeichert wurden,


können Sie den Befehl mdls verwenden. Wenn Sie keine Eigenschaft
vorgeben, dann zeigt Ihnen mdls alle Metadaten, die zu einer Datei im
Index von Spotlight vorhanden sind.

mdls – Metadata list

mdls [Eigenschaft] Datei

Die Ausgabe ist auch bei einer Bilddatei bereits recht umfangreich (sie-
he Abbildung 10.2). Welche Eigenschaften in den Metadaten zu einer
Datei gespeichert werden, hängt neben dem Dateityp auch von den auf
Ihrem System installierten Spotlight-Importern ab. Wenn über die Im-
porter neue Eigenschaften definiert wurden, die die Vorgabe von Apple
ergänzen und erweitern, dann stehen Ihnen diese Eigenschaften auch zur
Verfügung.

248

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 248 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Metadaten mit mdls anzeigen 10.3

Abbildung 10.2 Die Metadaten können mit »mdls« angezeigt werden.

Wenn Sie nur den Wert einer bestimmten Eigenschaft ausgeben möchten, Anzeige
dann können Sie die Option -name, gefolgt vom Namen der Eigenschaft, eingrenzen

verwenden. Selbstverständlich können Sie mdls auch mehrere Dateien


anzeigen lassen. So erhalten Sie mit mdls -name kMDItemFSCreationDa-
te *.jpg das Erstellungsdatum aller .jpg-Dateien im aktuellen Verzeich-
nis, wobei Ihnen jedoch in diesem Fall der Dateiname nicht angezeigt
wird. Es ist auch möglich, die Option -name mehrmals zu verwenden und
beispielsweise durch mdls -name kMDItemFSCreationDate -name kMDI-
temPixelHeight Bild.jpg sowohl das Erstellungsdatum als auch die Hö-
he in Pixeln der Datei Bild.jpg anzuzeigen.

Abbildung 10.3 Die Ausgabe kann auch auf eine Eigenschaft beschränkt werden.

Mit Spotlight werden eine ganze Reihe von Eigenschaften katalogisiert. In Metadaten
den Standardvorgaben von Apple sind es an die hundert Eigenschaften,
die Sie für die Suche mit mdfind und die Anzeige mit mdls verwenden
können. Hinzu kommen noch die, die über die von Ihnen installierten

249

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 249 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

Importer erstellt werden. Sie finden nachfolgend eine Auflistung eini-


ger gängiger Eigenschaften, die nicht den Anspruch auf Vollständigkeit
erhebt. Eine gute Möglichkeit, neue Eigenschaften von Dateien bei neu
installierten Importern in Erfahrung zu bringen, ist die Anzeige der Ei-
genschaften einer Datei, für die ein neu installierter Importer zuständig
ist.

Allgemeine Für Dateien allgemein stehen unter anderem folgende Eigenschaften für
Metadaten die Suche mit Spotlight zur Verfügung:

왘 kMDItemAttributeChangeDate
Der Zeitpunkt der letzten Änderungen, die an den Metadaten selbst
vorgenommen wurden.

왘 kMDItemAudiences
Die Zielgruppe der Datei.

왘 kMDItemAuthors
Die Autoren der Datei.

왘 kMDItemComment
Ein beliebiger Kommentar, der nicht dem Spotlight-Kommentar im
Finder entspricht.

왘 kMDItemContactKeywords
Kann eine Liste der Kontakte enthalten, die mit der Datei in Verbin-
dung stehen.

왘 kMDItemContentCreationDate
Der Zeitpunkt, zu dem der Inhalt der Datei erstellt wurde.

왘 kMDItemContentModificationDate
Der Zeitpunkt, zu dem der Inhalt der Datei zuletzt geändert wurde.

왘 kMDItemCopyright
Der Urheber der Datei.

왘 kMDItemCoverage
Das Thema der Datei.

왘 kMDItemCreator
Das Programm, mit dem die Datei erstellt wurde.

왘 kMDItemDescription
Eine Beschreibung der Datei.

왘 kMDItemDisplayName
Der Name der Datei, wie er auch im Finder angezeigt wird.

250

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 250 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Metadaten mit mdls anzeigen 10.3

왘 kMDItemDueDate
Das Fälligkeitsdatum der Datei, zum Beispiel bei Terminen.

왘 kMDItemDurationSeconds
Die Dauer der Datei in Minuten, zum Beispiel bei Filmen oder Mu-
sikstücken.

왘 kMDItemEmailAddresses
Eine E-Mail-Adresse, die zu der Datei gehört.

왘 kMDItemEncodingApplications
Das Programm, mit dem die Datei codiert wurde. Dies kann zum
Beispiel ein Musikprogramm sein, das eine mp3-Datei erstellt hat.

왘 kMDItemFinderComment
Der Kommentar, wie Sie ihn im Fenster Information im Finder ver-
geben können.

왘 kMDItemFonts
Schriftarten, die von der Datei verwendet werden.

왘 kMDItemHeadline
Die Überschrift der Datei.

왘 kMDItemKeywords
Beliebige Schlüsselwörter der Datei.

왘 kMDItemKind
Die Art der Datei, wie sie auch im Fenster Information im Finder als
Art angezeigt wird.

왘 kMDItemLanguages
Die in der Datei verwendeten Sprachen.

왘 kMDItemLastUsedDate
Der Zeitpunkt, zu dem die Datei zum letzten Mal genutzt wurde. Der
Zeitpunkt bezieht sich primär auf einen Doppelklick im Finder.

왘 kMDItemNumberOfPages
Die Anzahl der Seiten innerhalb der Datei.

왘 kMDItemOrganizations
Die Firmen oder Organisationen, die mit der Datei in Verbindung
stehen.

왘 kMDItemProjects
Die Projekte, mit denen die Datei in Verbindung steht.

251

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 251 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

왘 kMDItemStarRating
Die Bewertung einer Datei. Beispielsweise wird hier die Bewertung
eines Titels in iTunes gespeichert.

왘 kMDItemTextContent
Kann eine Zusammenfassung des Inhalts der Datei enthalten.

왘 kMDItemTitle
Der Titel der Datei.

왘 kMDItemVersion
Die Versionsnummer der Datei.

Eigenschaften der Neben diesen eher allgemeinen Informationen zum Inhalt einer Datei
Datei werden auch detaillierte Informationen über die Datei an sich indiziert.
Hierbei verwendet Apple unter anderem folgende Eigenschaften:

왘 kMDItemFSContentChangeDate
Der Zeitpunkt, zu dem der Inhalt der Datei zuletzt geändert wurde.

왘 kMDItemFSCreationDate
Der Zeitpunkt, zu dem die Datei erstellt wurde.

왘 kMDItemFSInvisible
Gibt an, ob die Datei als im Finder unsichtbar markiert wurde.

왘 kMDItemFSIsExtensionHidden
Gibt an, ob die Dateiendung im Finder versteckt wird.

왘 kMDItemFSIsReadable
Gibt an, ob der Inhalt der Datei gelesen werden kann.

왘 kMDItemFSIsWriteable
Gibt an, ob in den Inhalt der Datei geschrieben werden kann.

왘 kMDItemFSLabel
Das Etikett, das Sie im Finder der Datei zugewiesen haben. Der Wert
wird numerisch von 0 bis 7 angegeben.

왘 kMDItemFSName
Der Name der Datei.

왘 kMDItemFSNodeCount
Die Anzahl der Dateien, die in einem Verzeichnis vorhanden sind.

왘 kMDItemFSOwnerGroupID
Die GID (siehe Abschnitt 7.3.1) der Gruppe, der die Datei zugewiesen
wurde.

252

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 252 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index verwalten 10.4

왘 kMDItemFSOwnerUserID
Die eindeutige Kennung (UID) des Benutzers, dem die Datei gehört.

왘 kMDItemFSSize
Die Größe der Datei in Bytes.

왘 kMDItemPath
Der absolute Pfad der Datei.

Schließlich gibt es noch einige weitere Eigenschaften, die von Apple in Bilder, Filme,
den Standardeinstellungen verwendet werden. So werden bei Musik-Da- Musik

teien automatisch die Interpreten und der Titel der CD in den Metadaten
gespeichert. Bei Bildern werden die Auflösung, die Höhe, die Breite und
auch der Farbraum katalogisiert. Wenn Sie Ihre Suchabfragen auf solchen
Metadaten aufbauen möchten, dann können Sie sich mithilfe von mdls
und einer Beispieldatei schnell einen Überblick über die vorhandenen
Eigenschaften verschaffen. Die englischen Bezeichnungen dieser Dateien
sind oft selbsterklärend.

10.4 Index verwalten

Der Index von Spotlight wird auf allen Dateisystemen, die Sie direkt Katalog
an Ihren Rechner angeschlossen haben, auf der höchsten Ebene im un-
sichtbaren Verzeichnis .Spotlight-V100 gespeichert. Für jedes Dateisystem
wird dabei ein eigener Index verwendet. So befindet sich der Index Ihres
Startvolumes im Verzeichnis /.Spotlight-V100, und der Index der Partition
Daten wird im Verzeichnis /Volumes/Daten/.Spotlight-V100 gespeichert.

Das Verzeichnis ist nur für den Superuser root zugänglich, und eigent- Verwaltung
lich besteht unter Mac OS X 10.5 keine Notwendigkeit, direkt auf die in
diesem Verzeichnis vorhandenen Dateien und Datenbanken zuzugreifen.
Zur Verwaltung des Index von Spotlight steht Ihnen der Befehl mdutil
zur Verfügung. Ferner ist es mit mdimporter möglich, ein Verzeichnis in
den Index von Spotlight neu aufzunehmen und dabei die Indexierung
auch am Terminal zu verfolgen. Der Befehl dient auch dazu, einen neu
installierten Importer zur Indexierung von Dateien zu verwenden und
ferner alle über die Importer verfügbaren Eigenschaften aufzulisten.

10.4.1 Index löschen und Indexierung unterbinden


Mit dem Befehl mdutil können Sie einen vorhandenen Index löschen
oder die weitere Indexierung eines Volumes unterbinden.

253

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 253 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

mdutil – Metadata Utility

mdutil Aktion Volume

Index neu anlegen Zunächst können Sie über die Option -E den Index eines Volumes voll-
ständig löschen. Die Eingabe von sudo mdutil -E /Volumes/Daten löscht
den Katalog von Spotlight auf der Partition mit der Bezeichnung Daten.
Den Index Ihres Startvolumes können Sie mit sudo mdutil -E / ent-
fernen. Sie erhalten dann von mdutil die Nachricht /Volumes/Daten:
Indexing enabled. Nach kurzer Zeit fängt das System, genauer gesagt,
der Prozess mds unterstützt von mdimporter, an, den Index für die Parti-
tion erneut zu erstellen. Über diesen Vorgang werden Sie auch über die
Lupe rechts oben in der Menüleiste informiert. Das Erstellen eines neuen
Index kann dann notwendig sein, wenn Sie den Eindruck haben, dass der
Index fehlerhaft oder beschädigt ist.

Indexierung Wenn Sie ein Volume von der Indexierung komplett ausschließen, es
unterbinden also nicht durchsuchen möchten, dann steht Ihnen die Option -i zur
Verfügung. Hierbei können Sie mit dem Parameter off die Indexierung
unterbinden, mit on wieder aktivieren. So schließen Sie mit der Eingabe
sudo mdutil -i off /Volumes/Daten das Volume mit der Bezeichnung
Daten von der Indexierung aus. Am Terminal erhalten Sie die Nachricht
/Volumes/Daten: Indexing disabled. Schalten Sie die Indexierung ab,
dann wird auch der Index in /Volumes/Daten/.Spotlight-V100 gelöscht,
wobei das Verzeichnis erhalten bleibt. Mit sudo mdutil -i on /Volu-
mes/Daten können Sie die Suche wieder aktivieren. Das System legt dann
umgehend einen neuen Index an. Die Aktivierung wird Ihnen mit /Vo-
lumes/Daten: Indexing enabled. bestätigt.

.metadata_ Wenn Sie auf diese Weise die Indexierung unterbinden und die Daten-
never_index bank löschen, dann bleibt das Verzeichnis dennoch erhalten. Insbeson-
dere bei einem USB-Stick oder MP3-Player kann die Existenz dieses Ver-
zeichnisses stören. Eine Alternative besteht darin, eine leere, unsichtbare
Datei .metadata_never_index auf der obersten Ebene des Dateisystems an-
zulegen. Existiert eine solche Datei, dann wird das Volume von Spotlight
vollständig ignoriert, unabhängig von der Existenz des Verzeichnisses
.Spotlight-V100. Mit touch /Volumes/Daten/.metadata_never_index le-
gen Sie eine solche Datei an. Das Verzeichnis löschen Sie dann mit sudo
rm -r /Volumes/Daten/.Spotlight-V100, wobei Sie bei der Kombinati-
on von sudo und rm -r genau auf Tippfehler achten sollten.

Status anzeigen Mit der Option -s und der Angabe des Pfades zum Dateisystem lassen
Sie sich den aktuellen Status der Indexierung anzeigen. Mit mdutil -s /

254

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 254 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index verwalten 10.4

ermitteln Sie den Status des Startvolumes. Wenn Spotlight einen funkti-
onsfähigen Index vorfindet, dann lautet die Angabe indexing enabled.
Haben Sie mit mdutil -i off /Volumes/Daten die Indexierung abge-
schaltet, dann entspricht der Status indexing disabled. Und wenn Sie
die Indexierung mithilfe der Datei .metadata_never_index gänzlich unter-
drückt haben, dann erhalten Sie folgerichtig No index.

10.4.2 Die Importer mit mdimport überblicken


Der Befehl mdimport ermöglicht es Ihnen, die von Spotlight genutzten
Importer zu überblicken, zu ermitteln, welcher Importer welche Meta-
daten bereitstellt, neue Importer umgehend zu aktivieren und den Inhalt
von Verzeichnissen zu importieren.

mdimport

mdimport Option Datei

Wenn Sie einen neuen Importer zum Beispiel aus dem World Wide Web Importer ergänzen
heruntergeladen und beispielsweise im Ordner /Library/Spotlight gespei-
chert haben, dann können Sie mithilfe von mdimport die mit diesem
Importer erreichbaren Metadaten sofort indizieren. Einige Importer wur-
den von den Entwicklern mit einem Installationsprogramm versehen,
das sowohl den Importer in das richtige Verzeichnis kopiert als auch den
Aufruf von mdimport selbstständig vornimmt. In diesem Fall müssen Sie
mdimport nicht selbst aufrufen.

Abbildung 10.4 Weitere Importer können im Ordner »/Library/Spotlight« gespeichert


werden.

Haben Sie aber den Importer als selbstständige .mdimporter-Datei erhal-


ten, dann können Sie ihn von Hand in das Verzeichnis /Library/Spotlight

255

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 255 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

kopieren. Damit der Importer bei der Suche und Indexierung von Spot-
light aktiv wird, müssen Sie mdimport mit der Option -r aufrufen. Diese
Option bewirkt, dass von Spotlight ein erneuter Import der durch den
Importer behandelten Dateien vorgenommen wird. Da in diesem Fall
noch kein Import stattgefunden hat, werden die Metadaten zum ersten
Mal in den Index aufgenommen.

Sie müssen bei der Option -r den Pfad zur Datei des Importers an-
geben. So können Sie beispielsweise mit sudo mdimport -r /Libra-
ry/Spotlight/Ziplight.mdimporter veranlassen, dass mithilfe des Im-
porters Ziplight.mdimporter auch die in ZIP-Archiven enthaltenen Dateien
bei der Suche berücksichtigt werden. Es kann einen Moment dauern,
bis die so veranlasste Aktualisierung des Katalogs von Spotlight wirksam
wird.

Verzeichnis Sie können mit der Option -r den Befehl mdimport auch anweisen, ein
importieren Verzeichnis erneut in den Katalog zu importieren. Die Eingabe könn-
te mdimport -r /Absoluter/Pfad lauten. Der eigenhändige (Re-)Import
kann notwendig sein, wenn Sie in Verbindung mit der Option -d ermit-
teln möchten, welche Informationen der in dem Verzeichnis enthaltenen
Dateien in den Index von Spotlight aufgenommen werden.

Abbildung 10.5 Die Eingabe von »mdimport -L« zeigt die aktiven Importer von
Spotlight.

Installierte Mit der Option -L können Sie sich die aktiven Importer anzeigen lassen
Importer (siehe Abbildung 10.5). In der Liste werden Ihnen die aktiven Importer

256

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 256 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index verwalten 10.4

mit den absoluten Pfaden zu den jeweiligen Dateien angezeigt. Sie finden
dort in der ersten Zeile einen Eintrag id(501). Dieser zeigt an, dass die
Ausgabe für das Benutzerkonto mit der UID 501 erfolgt. Sie können ja
Importer auch im Verzeichnis ~/Library/Spotlight installieren, und daher
stellt sich die Zusammensetzung der aktiven Importer für die einzel-
nen Benutzerkonten immer etwas anders dar. Ein weiterer Unterschied
zwischen den Benutzerkonten besteht auch darin, dass die Importer in-
nerhalb von Programmen abgelegt werden können und es auch möglich
ist, dass Sie Programme für einen bestimmten Benutzer im Verzeichnis
~/Applications installieren. Programme, die im persönlichen Ordner eines
Benutzers abgelegt wurden, stehen den anderen natürlich nicht zur Ver-
fügung. Gleichwohl werden sie bei der Arbeit als dieser Benutzer auch
für die Indexierung mit Spotlight herangezogen.

Wenn Sie sich alle Eigenschaften der Metadaten anzeigen lassen möchten, Verfügbare
die Spotlight bekannt sind, dann können Sie mdimport mit der Option -A Eigenschaften

aufrufen. Sie erhalten dann eine sehr lange Liste (siehe Abbildung 10.6)
aller Eigenschaften, die Sie mit mdfind und mdls abrufen können. Die
Liste gliedert sich in Spalten. Zunächst erhalten Sie den Namen der Eigen-
schaft, wie Sie ihn auch bei der Arbeit mit mdfind und mdls verwenden
können. Darauf folgen der ausgeschriebene Name der Eigenschaft und
schließlich eine kurze Erklärung.

Abbildung 10.6 Mit der Option »-A« erhalten Sie eine Liste aller Eigenschaften, die
in den Metadaten katalogisiert werden.

Wenn für die Eigenschaft Synonyme vorhanden sind, die Sie in Verbin- Synonyme
dung mit mdfind nutzen könnten, dann werden Ihnen diese in der vier-
ten Spalte angezeigt. Lautet der Eintrag hier (null), dann wurden keine
Synonyme vorgegeben und Sie müssten den Namen voll ausschreiben,
beispielsweise als kMDItemAlternateNames. Finden Sie ein oder mehrere
Synonyme, dann können Sie dies auch in Verbindung mit mdfind ver-
wenden und zum Beispiel mit mdfind album:Keeper nach Musikdateien

257

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 257 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

suchen, bei denen in der Eigenschaft kMDItemAlbum die Zeichenkette Kee-


per vorhanden ist.

Details mit -d Mehr Details über die Arbeit der Importer erhalten Sie mit der Option
-d. Diese ist zwar in erster Linie für Programmierer gedacht, die einen
Importer für Spotlight entwickeln, sie ist aber auch gut geeignet, um sich
über die Arbeitsweise der Importers zu informieren. Sie müssen -d eine
Zahl von 1 bis 4 übergeben, womit die Anzahl der anzuzeigenden Details
bestimmt wird. Mit -d 4 rufen Sie die detaillierteste Anzeige auf. Wenn
Sie mit mdimport -d 4 Verzeichnis den Inhalt eines Ordners erneut
importieren, dann werden Sie detailliert über die Metadaten informiert,
die dem Index von Spotlight hinzugefügt werden. Hierbei werden die
ersten Zeilen von den geladenen Importern eingenommen. Sobald dies
abgeschlossen ist, werden die einzelnen Dateien analysiert und ihre Me-
tadaten in den Index aufgenommen und am Terminal ausgegeben.

Wichtig ist die hierbei verwendete Klammernstruktur. In Abbildung 10.7


finden Sie einen kleinen Auszug. Hier wird in der ersten Zeile mit
(Info) der für die nachfolgend extrahierten Daten zuständige Impor-
ter angegeben. Es handelt sich um den für PDF-Dateien zuständigen
PDF.mdimporter. Darauf folgen, mit (Debug) eingeleitet, die aus der Da-
tei extrahierten Daten, also zum Beispiel kMDItemAuthors mit dem Wert
Surendorf.

Abbildung 10.7 Mit der Option »-d 4« kann »mdimport« angewiesen werden, detail-
lierte Informationen über die importieren Informationen auszugeben.

10.5 Dateien mit find suchen

Alt, aber rüstig Der Befehl find ist auf UNIX-Systemen schon recht lange im Einsatz. Auch
wenn Spotlight vielleicht etwas schneller ist und nach mehr Daten und
Eigenschaften suchen kann, so hat find auch unter Mac OS X noch seine

258

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 258 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Dateien mit find suchen 10.5

Berechtigung. Der Befehl eignet sich sehr gut, um gezielt nach Dateien
mit einem bestimmten Namen – und dabei nur dem Namen – zu suchen.
Anders als Spotlight verfügt find über keinen Index und durchsucht das
angegebene Verzeichnis, indem die einzelnen Dateien und Verzeichnisse
nacheinander eingelesen werden.

find

find Verzeichnis Suchbegriff [-print]

Zunächst müssen Sie find das zu durchsuchende Verzeichnis vorgeben.


Mit / werden alle Dateisysteme durchsucht. Alternativ könnten Sie auch
mit ~/Documents den Ordner Dokumente vorgeben. Beachten Sie bei der
Suche, dass Sie über die Berechtigung zum Lesen des Verzeichnisses ver-
fügen müssen. Bei einem Verzeichnis, bei dem Ihnen die Zugriffsrechte
fehlen, erhalten Sie sonst den Hinweis Permission denied. Stellen Sie
find sudo voran, dann können Sie auch diese Verzeichnisse durchsuchen.

Mit der Option -name weisen find an, nach dem Namen der Datei oder
des Verzeichnisses zu suchen. Die zu suchende Zeichenkette müssen Sie
nach der Option angeben. Die abschließende Option -print sorgt da-
für, dass Ihnen die Ergebnisse am Terminal ausgegeben werden. Um
also in Ihrem persönlichen Verzeichnis alle Dateien zu finden, deren Na-
me Brief.rtf entspricht, würde der Befehl find ~/ -name "brief.txt"
-print lauten.

Sie können bei der Angabe des Namens auch Joker-Zeichen (siehe Ab- Platzhalter erlaubt
schnitt 5.5.1) verwenden. Alle Dateien, die auf .txt enden, können Sie
mit sudo find / -name "*.txt" -print auffinden. Um nur Hypertexte
im Verzeichnis /usr/local aufzuspüren (etwa um eine in diesem Verzeich-
nis vermutete Dokumentation eines Programms zu finden) würden Sie
den Befehl find /usr/local -name "*.htm*" -print verwenden.

Neben der Option -name kennt find noch einige weitere, die die Kriteri- Suche verfeinern
en für Ihre Suche spezifizieren. Sie können die Optionen beliebig kom-
binieren, indem Sie mehrere angeben. Zum Bespiel wird mit der Option
-type, gefolgt von einem Buchstaben, die Suche auf bestimmte Typen
eingegrenzt. Hierbei steht f für eine normale Datei und d für ein Ver-
zeichnis. Alle Verzeichnisse, deren Namen das Muster *text* enthalten,
können Sie mit sudo find / -name "*text*" -type d -print finden.

Die Option -newer findet alle Dateien, deren Änderungsdatum aktueller Aktuellste Datei
ist als das der angegebenen Datei. Sie können die Option -newer mit ermitteln

der Option -name kombinieren. Um die aktuellste Version von Brief.rtf

259

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 259 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
10 Suchen und Finden mit Spotlight

zu finden, würde der Befehl sudo find / -newer "Brief.rtf" -name


"Brief.rtf" -print den gewünschten Erfolg bringen. Die Option -mmin
ermöglicht es Ihnen, Dateien zu finden, die innerhalb der angegebenen
Minuten geändert wurden. Ausgangspunkt für diese Berechnung ist der
Zeitpunkt, zu dem Sie find ausführen. sudo find / -mmin 5 findet also
alle Dateien, die in den letzten fünf Minuten verändert wurden.

Die Suche können Sie mit der Option -user auf Dateien eines Benutzers
beschränken. Mit sudo find / -user kai -name "Brief.rtf" -print
würden alle Dateien mit dem Namen Brief.rtf gefunden, die dem Be-
nutzer kai gehören. Statt einer Benutzerkennung können Sie natürlich
auch eine numerische UID wie etwa 502 angeben.

Fundstellen sofort Die Option -delete kann nützlich sein, um alle gefundenen Dateien
löschen umgehend zu löschen. Um alle Dateien mit dem Namen Brief.rtf zu
löschen, würde der Befehl find / -name "Brief.rtf" -delete -print
lauten. Die Option -print informiert Sie in diesem Fall, auf welcher
Partition die Datei gelöscht wurde. Wird diese Option nicht angegeben,
so erhalten Sie keinen Überblick über die gelöschten Dateien.

Beachten Sie unbedingt, dass das automatische Löschen von Fundstellen


ohne Rückfrage erfolgt. Gerade in Verbindung mit Joker-Zeichen wie
*.txt sind Datenverluste so gut wie vorprogrammiert. Der Einsatz der
Option -delete sollte, wenn überhaupt, sehr gut überlegt sein.

Abbildung 10.8 Die Verbindung von »find« und »rm -i« kann für das zielgerichtete
Löschen von mehreren Dateien gleichen Namens verwendet werden.

Fundstellen Mit der Option -exec können die gefundenen Dateien umgehend an den
weiterverarbeiten angegebenen Befehl übergeben werden. Zum Beispiel können Sie mit
find ~/ -name "Datei.txt" -exec less \{\}";" sich von dem Pro-
gramm less alle Dateien namens Datei.txt anzeigen lassen, die in Ihrem
persönlichen Verzeichnis gefunden wurden. Haben Sie die jeweilige Da-
tei gelesen, so beenden Sie less mit Q. Dadurch wird der Suchvorgang
fortgesetzt und die nächste gefundene Datei angezeigt. Bei der Überga-
be der Fundstellen wird der absolute Pfad der gefundenen Datei an der
Stelle von \{\} eingefügt. Es wird also, wäre die erste gefundene Datei
/Users/kai/Datei.txt, der Befehl less /Users/kai/Datei.txt ausgeführt.

260

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 260 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Dateien mit find suchen 10.5

Grundsätzlich muss jeder Befehl mit ";" abgeschlossen werden. Damit


wird find signalisiert, dass hier die Befehlskette zu Ende ist, mit der die
Suchergebnisse weiterverarbeitet werden sollen.

Dem angegebenen Befehl können Sie wiederum Optionen übergeben.


Durch die Übergabe der Fundstellen an den Befehl rm in Kombination
mit der Option -i (siehe Abschnitt 5.3.4) können Sie erreichen, dass
gefundene Dateien angezeigt und erst nach Rückfrage gelöscht werden.
Der entsprechende Befehl, um alle Dateien namens Datei.txt auf diese
Weise löschen zu können, würde find / -name "Datei.txt" -exec rm
-i \{\}";" lauten. Bei jeder gefundenen Datei würde rm zum Beispiel mit
remove /Users/kai/Datei.txt? um eine Bestätigung des Löschvorgangs
bitten. Anschließend wird die Suche fortgesetzt.

261

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 261 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

/usr/X11/bin 530
/usr/share/file/ 99
* 95, 210 /var 66
./ 72 /var/db/dslocal 341
.DS_Store 70 /var/log 303
.MacOSX 182 /var/log/cups 478
.Spotlight-V100 238, 253 /var/run 114
.Trash 75 /var/spool/postfix/maildrop 453
._-Datei 89 ; 170
.bash_history 170 < 165
.bash_logout 184 > 164
.bash_profile 182, 184, 188 >& 166
.bashrc 184, 531 >console 336
.htaccess 461 ? 95
.metadata_never_index 254 [0-9abc] 98
.quotas 298 # 307
.tgz 106 $time. 243
/.fseventsd 118 ˆ 211
/.vol 268 \ 36
/Library/Logs 304 ˜ 30, 72
/Library/Spotlight 238 127.0.0.1 393, 458
/Library/Updates 325
/System/Library/Spotlight 238 A
/bin 64
/cores 64 AAC 235
/dev 64 Access Control Entity 144
/dev/disk 264 Access Control List 134, 142, 535
/dev/null 166 Vererbung 145
/dev/rdisk 264 ACE 144
/etc 64, 307 ACL 134, 535
/etc/cups 477 Active Directory 305, 341, 359, 361,
/etc/exports 469 436, 535
/etc/fstab 276, 295, 441 acwake 334
/etc/passwd 341 add_file 150
/etc/path.d 180 add_subdirectory 150
/etc/paths 180 Address Resolution Protocol 388
/etc/profile 180, 183 admin 141
/etc/services 395 Adobe 538
/etc/sudoers 158 afconvert 234
/home 64, 437 afinfo 234
/net 64, 436 AFP 423, 433, 441, 535
/opt 181, 524 afplay 235
/private 64 AFPUserAliases 343
/sbin 64 AIF 235
/tmp 65 AIFF 192
/usr 65 AirPort 403

541

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 541 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

AirPort-Basisstation-Agent 116 asr 288


Aktivierungen 438 at 363
Aktivierungsort 438 AT & T 56
Aktivitätsanzeige 114, 121 ATSServer 116
Alias (Benutzer) 343, 348 Ausführbare UNIX-Datei 32
alias (Benutzer) 189 Ausgaben umleiten 164
Alias definieren 188 AuthenticationAuthority 344
American Standard Code for Informa- AuthenticationHint 345
tion Interchange 218, 535 auto_master 440
Amerikanische Tastaturbelegung 335 autofs 27, 436, 438, 535
AND 242 autofsd 116
Anmelde-Shell 348 Automator 508
Anmeldefenster 118, 511 autorestart 334
Anwendungsschicht 386
Apache 61, 118, 457 B
/Library/WebServer/Documents 459
/var/log/apache2 460 B-Tree-catalogue 85
Bonjour 461 Backslash 36, 536
httpd-userdir.conf 458 backupd 116
httpd.conf 458 basename 494
Status Code 460 bash 27, 30, 489
apachectl 459 Befehl
API 535 Abbrechen 42
APIPA 396 Im Hintergrund ausführen 168
APMFormat 280 Verketten 170
append 149 Verschachteln 167
Apple Filing Protocol 433, 535 Vervollständigen 39
Apple Remote Desktop 116 Befehlsaufbau 34
Apple Software Restore 288 Befehlsverlauf 41, 170
Apple System Log 305 Benutzer
Apple-Partitionstabelle 267 Anmeldung simulieren 156
AppleFileServer 116 Wechseln 133, 156
AppleMetaNodeLocation 344 Berkeley Internet Name Daemon 395
AppleScript 223, 403, 505 Berkeley Software Distribution 535
AppleSpell.service 116 bg 169
AppleTalk 535 Bildschirmfoto 228
AppleVNCServer 116 bill of materials 327
Application Programming Inter- BIND 395
face 535 blued 116
Application-Level-Firewall 444 bluetooth:// 476
apropos 59 Bonjour 41, 119, 380, 396, 412, 461,
Aqua 23, 26, 535 535
Arbeitsverzeichnis 70 Boolean 310
Archive extrahieren 105 bootpd 116, 118
Archive.bom 327 Bourne Again Shell 30, 60
Argumente 34 Break 42
ARP 388 Broadcast 392
Array 310, 535 BSD 535
ASCII 218, 535 BSD-Subsystem 63
asl 305 bulkerase 293

542

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 542 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

Bundle 267, 535 CUPS 475


button returned: 506 cupsctl 477
cupsd 117, 475
C cupsd.conf 477
cupsdisable 482
C++ 26 cupsenable 482
cancel 483 cupsfilter 484
Carbon 26, 268, 535 curl 424
cat 110 cut 222
CCacheServer 117 CVS 519
cd 31, 71
CD Audio 269 D
CGI 464, 535
change directory 71 Daemon 115
chflags 86 daily.out 304
chgrp 140 Darwin 24, 56, 536
chmod 133, 136, 146, 154, 155, 490 Darwin Streaming Server 323
choose file 507 DarwinPorts 537
chown 140, 149 DashboardClient 117
clear 192 Data 310
CLI 535 Data Rescue 294
Cocoa 25, 535 date 167, 193
codesign 446 date: 243
Codierung 218, 536 Datei
ColorSync 223, 227 Änderungsdatum 102
com.apple.metadata 90 Öffnen mit 99
com.apple.nfsd 470 Überschreiben 82
com.apple.quarantine 90 Überschreiben auf Nachfrage 78
com.apple.ResourceFork 94 Alias 83
com.apple.sharepoint.group. 354 Attribute beibehalten 78
Comma Separated Values 233 Ausführbar 138, 490
Command Line Interface 535 Eigentümer 140
Common Gateway Interface 535 Erweiterte Attribute 88, 268, 429,
Common UNIX Printing System 475 443
Compiler 536 Gruppe 140
Computername 403 Komprimieren 103
Concurrent Versions System 519 Kopieren 76
configd 117, 445 Kopiervorgang anzeigen 78
configure 521 Löschen 79
Console 336 Leere Datei erstellen 102
CoreAnimation 25 Prüfsumme 102
CoreAudio 25, 234 Resource Fork 94
coreaudiod 117 Schützen 86
coreservicesd 117 Suffix ausblenden 92
cp 76 Teilen 110
CrashReporter 304 Typ 98
createhomedir 354 Umbenennen 79
creator-Code 92 Unsichtbar 69, 75, 88
cron 363, 536 Verschieben 79
CSV 233 Zusammenführen 110

543

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 543 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

Datum 331 dsenableroot 358


Debian 523 dserr 361
defaults 315 dsexport 357
delete 149 dsimport 357
delete_child 150 DSLocal 26, 341, 438, 451
DENIC 395 DTrace 536
Dependency 518 du 271
Derivat 536 Dynamic Host Configuration
df 270 Protocol 391, 536
DHCP 391 dynamic_pager 117
Dictionary 310 DynDNS 452
diff 199
directory_inherit 150 E
DirectoryService 26, 117, 304, 341
dirname 494 echo 192
Disc quota exceeded 300 EDITOR 178
DiscRecording framework 292 edquota 205, 298
Disk and Execution Monitor 115 EFI 268
Disk Warrior 294 Eingabeaufforderung 30
Disk-Image 286 else 498
diskarbitrationd 117, 265, 295 emacs 48, 60
Diskquota 297 en0 387
disksleep 334 End of File 42, 455
diskutil 275, 294 Energie sparen 332
DISPLAY 531 Entfernte Anmeldung 403, 415
display dialog 505 Entfernte Apple-Events 403
displaysleep 334 env 175
distnoted 117 environment.plist 182
ditto 107 Erweiterte Aktivierungsparame-
dmg 286 ter 438
DNS 394, 452, 536 Erweiterte Dateiattribute 88
dns-sd 412 Escape-Sequenzen 187
do 500 Escape-Zeichen 185
do shell script 506 Escapen 536
doc 214 Ethernet 386
docx 214 everyone 135
Domain Name Server 395 ExecCGI 464
Domain Name Service 536 execute 149
done 500 export 177, 182, 184
DOS_FAT_32 265 Extended Attributes 89
dot_clean 443 Extensible Markup Language 540
dps 334
Drag & Drop 37 F
Drucker-Pool 476
drutil 292 Farbprofil 227
DSA 419 FAT 536
dsAttrTypeNative 343 FAT (16/32) 269
dscl 351 FDisk_partition_scheme 267
dsconfigad 361 Fehlerkanal 164
dseditgroup 355 Festplatten-Abbildung 286

544

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 544 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

Festplatten-Dienstprogramm 266 Graphical User Interface 536


fg 169 grep 207
file 98 GroupMembership 349
File Allocation Table 269 Groups 343
File System Events 238 groups 354
File-Flag 78, 86 Gruppen 348
file_inherit 150 GUID-Partitionstabelle 267
find 259 gzip 106
Finder 30, 83, 134, 267, 315
Infos zu 91, 139 H
Fink 523, 536
Firefox 532 halfdim 334
Firewall 27, 120, 443 HangReporter 304
Tarn-Modus 405 HASHLIST:<SALTED-SHA1,SMB-NT> 345
Fluxbox 531 hdiutil 287
fold 222 head 199
for 500 HFS 536
Forking 518 hidd 118
Framework 26 hidden 88
FreeBSD 24, 523 Hierarchical File System (HFS) 269
Front Row 120 HISTSIZE 170
fs_usage 274 HOME 175, 178
fsck 294, 335 host 394
fsck_hfs 293 Host-ID 389
fseventsd 117, 237 HOSTNAME 178
FTP 41, 426 HTTP 393, 434
ftp 430 HTTP Statuscode 460
FTP-Modus 402 httpd 118
FTP-Server 471 Hypertext 213
ftpchroot 471 Hypertext Preprocessor 538
ftpusers 471 Hypertext Transfer Protocol 393
fully qualified domain name 394
fw0 388 I
G iCal 121
icc 227
gcc 518, 520 ICMP 405
GeneratedUID 345 IDENTIFIER 265
Gerätedateien 263 idle 123
Gerätename 178, 403 if 496
get 431 Image Events 223
GetFileInfo 91 IMAP 423, 536
GID 252 inherited 151
gif 226 install.log 304, 329
Git 519 Installationsprogramm 322
Glob Pattern 96 installer 322
GNU 536 Integer 536
GNU-Info-System 59 Intelligente Ordner 248
GPTFormat 280 International Color Consortium 227
grace period 299

545

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 545 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

Internet Control Message Proto- krb5kdc 118


col 405 Kurzname 347
Internet Message Access Proto-
col 536 L
Internet Printing Protocol 475, 537
Internet Protocol 388, 539 LANG 178
Internet-Sharing 116 LaunchAgent 363, 422, 510
Internetschicht 386 launchctl 364, 378
InternetSharing 118 launchd 114, 363, 396, 510, 530
Interpreter 491, 536 Disabled 369
IP 388, 539 EnableGlobbing 377
IP-Nummer 389, 451 EnvironmentVariables 378
ipfw 27, 444, 447 KeepAlive 370
IPP 475, 537 PathState 371
ipp:// 476 Program 368
IPv6 392 ProgramArguments 368
ISO 9660 269 QueueDirectories 374
RunAtLoad 369
J StandardOutPath 376
StartCalendarInterval 373
Java 26, 537 StartInterval 372
jEdit 490 StartOnMount 376
Joker-Zeichen 94, 378 SuccessfulExit 370
Journaling 268 ThrottleInterval 376
JPEGPhoto 347 WatchPaths 375
jpg 226 launchd.conf 381
launchd.plist 370
K LaunchDaemon 363
LaunchServices 99
kdcmond 118 LDAP 359, 537
KDE 517 less 111, 196, 260
Kerberos 117 lessbright 334
Kerberosv5 345 lidwake 334
Kernel 24, 113, 537 Lightweight Directory Access
Kernel-Extension 118, 336 Protocol 359, 537
Kernel-Panic 304 limit_inherit 150
kernel_task 118 Line Printer Daemon 476
KernelEventAgent 118 Link
kextd 118 Fester 83
kextload 339 Symbolischer 83
kextstat 337, 339 Linux 436, 532
kextunload 339 list 72, 150
Keynote 242 LKDCHelper 118
kill 127, 169 ln 83
killall 128 localhost 393, 458
kind: 243 logger 504
Klammernexpansion 172 LoginHook 511
kMDItem 250 loginwindow 118, 182
Kompilieren 520 LOGNAME 179
Konsole (Dienstprogramm) 306 logout 184

546

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 546 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

LogoutHook 511 Mount-Point 265, 285, 295, 438,


Lokale BSD-Konfigurationsdateien 537
und NIS 341 mount_afp 433
Loopback 393 mount_nfs 436
lp 483 mount_smbfs 434
lpadmin 481 mount_webdav 434
lpd:// 476 Mounts 343
lpstat 483 MP3 235
ls 31, 72, 87, 94, 135, 144, 190 MP4 235
lsbom 327 mpkg 322
lsof 272, 409 MS-DOS-Dateisystem 265
MTA 537
M mv 79
MX-Records 457
MAC-Adresse 388, 537 MySQL 465
Mac OS 9-Treiber installieren 280 mysql 466
Mac OS Forge 519 mysql.default_socket 469
Mac OS X Extended 269 mysqladmin 466
MacBook Air 120
MacFUSE 268, 269 N
MacPorts 181, 522, 537
Mail Exchanger 457 named 118, 119, 395
Mail Transfer Agent 537 nano 201
mailq 455 NestedGroups 350
Mailserver 452 NetBios 537
make 521, 522 NetInfo 26, 342, 537
make install 522 netstat 408
makefile 521 Network File System 119, 435, 537
man 53 networksetup 309, 400
Manpage 53, 537 Netzwerk
Drucken 58 Umgebung 398
Kategorien 56 Netzwerk-Klassen 391
Master Boot Record 267 Netzwerkdienstprogramm 411
MBRFormat 280 Netzwerkschnittstelle 387
MCXSettings 347 Netzzugangsschicht 386
md5 102 New Technology File System 269
mdfind 238 NEXTSTEP 342, 537
mdimport 255 NFS 119, 120, 435, 469, 537
mdimporter 237 nfs.conf 437
mdls 248 nfsd 119, 470
mDNSResponder 119, 408, 445 NFSHomeDirectory 345
mdutil 253 nice 130
mdworker 119, 237 nicl 342
Media Access Control 388 Nightly Build 519
Meta-Package 322 NIS 359
metadata server 119 niutil 342
Metadaten 237 nl 221
Microsoft Basic Data 264 nmbd 119
mkdir 75 nohup 131, 169
mount 285, 335 NOT 242

547

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 547 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

notifyd 119 path_helper 180, 183


NSGolbalDomain 314 pbcopy 167, 168
NTFS 269, 537 pboard 120
ntpd 119 pbpaste 167
Number 310 pbs 168
Numbers 233 PDF 482
periodic 304
O Perl 65
Persönliches Verzeichnis 30, 345,
Objective-C 25 354
ocspd 119 Pfade 71
ODSAgent 120 Photoshop 227
odt 214 PHP 462, 469, 538
OLDPWD 174, 179 php.ini 463
only_inherit 150 phpinfo() 463
open 99 pict 226
Open Directory 305, 341, 359, 436, Picture 346
537 PID 113, 538
Open Document Text 214 PID-Dateien 114
Open Relay 452 ping 405
Open Scripting Architecture 537 Pipe 164, 207, 241, 538
Open Source 517 pkg 322
OpenBSD 416 pkgutil 328
OpenDarwin 24 PlistBuddy 318
OpenGL 25 plutil 313
OpenOffice.org 214, 219 pmset 332
OpenSSH 416 POP3 423, 538
Operatoren 34, 164, 538 Port 395
Optionen 33, 538 port 526
OR 242 Port forwarding 423
org.openbsd.ssh-agent.plist 419 Portscan 411
org.postfix.master.plist 453 POSIX 25, 134, 538
OS9Drivers 280 POSIX path of 507
osascript 508 POSIX-Rechte 135
OSTYPE 179 Post Office Protocol 538
Postfix 374, 452
P main.cf 453
postfix 454
Package 322, 538 postflight 329
pageouts 126 PostScript 476, 482, 538
Paketfilter 444 PPID 179
panic.log 304 ppp0 388
Papierkorb 70, 75 prebinding 324
Parameter 538 Preferences 308
Partition 265, 538 preflight 329
Partitionsschema 266 present working directory 70
Password 345 PreserveJobFiles 480
Paste Board 538 PreserveJobHistory 480
PATH-Variable 32, 179, 491, 509, PrimaryGroupID 346
524 Printer-Sharing 478

548

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 548 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

printers.conf 477 renice 130


Prompt 30, 185, 538 Request for Comments 385, 538
Farbe 187 Resource-Fork 268, 538
Property List 309, 538 resvport 436, 439
Property List Editor 182, 309 RFBRegisterMDNS 120
Proxy-Server 401, 426 RFC 385, 538
Prozess 113, 538 Rich Text Format 213
Anzeigen 121 ring 334
Beenden 127 RIPE 391, 539
Priorität setzen 130 rm 80, 261
Signale ignorieren 131 rmdir 80
Status 123 root 140, 157, 358, 539
Prozess-ID 113 Root-Shell 160
ps 121, 209 Router 389
PS1 185 rpc.lockd 120
pstree 526 rpc.quotad 120
put 431 RSA 419
PWD 175, 179 rsync 418, 428
pwd 70 RTF 168, 213, 219
Python 65, 491 RTFM 53
Ruby 65
Q Ruhezustand 330, 331

qfilter 485 S
Quartz 25, 538
Quartz-Filter 484 Safari 26, 214, 517
quartz-wm 531 SAMBA 451
quartzfilter 485 Sandbox 446
Quellcode 518 sandbox-exec 447
Queue 476, 538 Saved Searches 248
QueueDirectories 453 say 192
QuickTime 25 schg 87
Quota 538 Schlüsselbund 120
quotacheck 298 scp 418, 427
Screen-Sharing 116, 423
R screencapture 131, 228
Scriptable Image Processing Sys-
Réseaux IP Européens 539 tems 223
racoon 445 scselect 399
RANDOM 179 sdiff 199
rcd 120 SDK 539
read 149, 193 search 150
readattr 149 SECONDS 179
readextattr 149 Secure Shell 415
readsecurity 149 secure.log 304
RealName 346 securityd 120
Receipt 327 select 185, 503
RecordType 346 Self-Monitoring, Analysis and Repor-
Reguläre Ausdrücke 210, 538 ting Technology 276
Relay 453 sendmail 452, 455

549

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 549 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

Server Message Block 434, 539 Spam 453


service 379 Sparse Bundle 288
Service Discovery 397 Sparse Image 288
Set Group ID 154 split 110
Set User ID 154 Spotlight 118–120, 237
SetFile 91 ( ) 245
sftp 418, 432 Importer 255
SGID 154 Index 253
ShadowHash 344 Spotlight-Kommentar 244
SharePoints 343, 451 Sprachausgabe 192
Sharing & Zugriffsrechte 134 spx 302
Shebang 491, 539 SQL 539
SHELL 179 SQLite 229
Shell 30, 346 sqlite3 230
Alias 188 srm 82
Funktionen 190 SSH 41, 46, 403, 415, 427, 429, 539
Konfigurieren 183 authorized_keys 419, 420
Shell-Skript ausführen 508 Fingerprint 417
showmount 436 known_hosts 417
Sicherer Start 336 Schlüssel 418
SIGHUP 128 Tunnel 423
Signierung 445 X11 531
Simple Mail Transfer Protocol 454, ssh 416
539 ssh-add 421
Single User Modus 294, 335 ssh-agent 419, 421
sips 223 ssh-keygen 417, 419
Skript sshd 416, 532
Ausführbar 490 sshd_config 532
Bedingung 496 SSID 404
Funktion 502 staff 135, 141, 346, 349
Schleife 500 Standard-Ausgabe 164, 539
Variable 492 Standard-Eingabe 164, 539
Skripteditor 505 Standardausgabe 209, 376
sleep 131, 334, 504 Startmodus 335
slice 265 StartupItem 381, 465
SMART Status 276 Startvolume 330
SMB 434, 441, 451, 539 STDERR 164
smb:// 476 STDIN 164, 539
smbd 120 STDOUT 164, 539
SMTP 453, 454, 539 Sticky Bit 155
SMTP-Relay 453 strftime 186, 194
Socket 73 String 310, 539
socketfilterfw 120 stroke 411
Software Development Kit 539 Structured Query Language 230, 539
Software Update.log 304 su 133, 156
Softwareaktualisierung 324 Subnetz 392
softwareupdate 324 Subversion 519
Sonderzeichen sudo 133, 157
Maskieren 35 SUID 154
sort 220 SUN 270, 537

550

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 550 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

Superuser 157, 358, 539 Time-to-live 407


SWAP 539 top 125
SWAT 451 touch 102, 149, 298
Synopsis 33, 55 traceroute 407
Syntax 539 Transmission Controll Protocol 539
Syntax Highlighting 490 Transportschicht 386
syslog 307 type-Code 92
syslogd 120, 305
System Administrator 358 U
System-Profiler 301
system.log 303 uchg 86
system_profiler 301 UDF 270
Systemeinstellungen 329 UDIF 288
systemsetup 309, 330, 403 UDP 393
SystemStarter 121, 381 UID 179, 253, 346, 539
SystemUIServer 121 Umgebungsvariable 32, 56, 174,
378, 495, 539
T Exportieren 177
unalias 189
tail 198 Unicode 218, 539
tar 106 Uniform Resource Locator 539, 540
TCP 539 UniqueID 346
tcpdump 410 UNIX File System (UFS) 270
tcsh 44 UNIX-Befehlen 31
tee 165 UNIX-Derivat 25
Terminal 29, 44 UNIX3 25
ANSI-Farben anzeigen 45 unzip 105
Codierungen 44 update 121
Einstellungen speichern 43 URL öffnen 101
Fenster als Gruppe sichern 38 usage 52
Fenster Informationen 49 usb:// 476
Fenster löschen 192 usbmuxd 121
Fenstergruppen 37 USER 175
Mit Servern verbinden 41 User Datagram Protocol 393
Neue entfernte Verbindung 41 User Template 354
Reset 43 UserEventAgent 121
Tabs 37 UserShell 346
Tastatur 48
Text mit Steuerzeichen einsetzen 36 V
Textdarstellung 45
Zeilenpuffer 40 Verzeichnisdienst 359, 438
test 496 Verzeichnisse
Text 213 Anzeigen 72
TextEdit 100, 213, 218 Erstellen 75
TextMate 490 Kopieren 76
textutil 190, 212 Löschen 79
The GIMP 528 Pfadangaben 71
tiff 226 Schützen 86
Tilde 30, 72 Umbenennen 79
Time Machine 116, 118 Unsichtbar 88

551

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 551 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit
Index

Verschieben 79 writeextattr 149


Wechseln 71 writesecurity 149
vi(m) 204
vifs 295, 441 X
vimtutor 207
Virtual Network Computing 116 X11 65, 540
Virtual Private Network 445 X11-Server 184, 529
visudo 159, 205 X11Forwarding 532
VNC 116 X11R7 530
VNCPrivilegeProx 121 Xar 322, 327, 540
Volume 265, 538 xargs 240
Volume UUID 276 xattr 89
Vorherigen Befehl aufrufen 41 Xcode 518, 540
VPN 445 Installation 27
xeyes 530
W Xgrid 121
xgridagentd 121
wc 220 xinetd 363, 396
Web-based Distributed Authoring xinitrc 531
and Versioning 434 XML 540
webarchive 214 Xquartz 530
WebDAV 434, 540 xterm 184, 531
WebKit 26, 519
Webserver 457 Z
Websites 458
weekly.out 304 Zeilenumbruch 36
whatis 51 Zeitserver 119, 331
wheel 142 Zeroconf 396
which 52 ZFS 270
whoami 156 zip 103
whois 406 Zombie 123
winbindd 121 Zugriff für bestimmte Dienste und
Window-Manager 530 Programme festlegen 445
Windows 451 Zugriffsrechte 73, 78, 133
WindowServer 121 Netzwerk 152
with administrator privileges 508 Vererben 150
womp 334 Vergeben 136
Word 214, 219 Zwischenablage 36, 120, 167, 228,
wordml 214 538
write 149
writeattr 149

552

K. Surendorf, UNIX für Mac OS X-Anwender Vierte Auflage, 2008 Galileo Press, ISBN: 978-3-8362-1016-4
Layout: gp.cls, Version 3.1.009 (24th June 2008), (C) Daniel Lauer, Bonn Mit TEX bearbeitet am 9. September 2008, 11:05 Uhr Umlaut-Check: äöüÄÖÜ.
S. 552 Einstellungen: mit Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit