Kai Surendorf
Mac OS X Leopard und UNIX Mac OS X 10.5 Leopard professionell nutzen
Auf einen Blick Vorwort zur 4. Auflage ................................................................. Einleitung ....................................................................................
15 17
TEIL 1 2 3 4
I: Eine Welt unter dem Wasser Die Grundlagen .................................................................... Erste Schritte mit dem Terminal ............................................ Die Dokumentationen .......................................................... Das BSD-Subsystem .............................................................
23 29 51 63
TEIL 5 6 7 8 9 10 11 12 13 14
II: Arbeiten mit dem Terminal Dateien und Verzeichnisse ................................................... Prozesse und ihr Management .............................................. Benutzer und ihre Rechte ..................................................... Effizient mit der Shell arbeiten ............................................. Produktiv am Terminal arbeiten ............................................ Suchen und Finden mit Spotlight .......................................... Dateisysteme ....................................................................... Mac OS X administrieren ...................................................... Die Benutzerverwaltung von Mac OS X 10.5 ........................ Der Super-Dämon: launchd ..................................................
69 113 133 163 195 237 263 301 341 363
TEIL 15 16 17
III: Vernetztes Arbeiten Netzwerke konfigurieren ...................................................... 385 Anwendungen im Netzwerk ................................................. 415 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 .............................................................................. Einleitung ..................................................................................................... Was dieses Buch soll und kann ............................................ Zum Aufbau des Buches ........................................................ Die Webseite zum Buch ........................................................
15 17 17 18 20
TEIL I: EINE WELT UNTER DEM WASSER 1
Die Grundlagen .................................................................... 23 1.1 1.2 1.3
2
Der Aufbau von Mac OS X ................................................... Neuerungen in Mac OS X 10.5 ............................................. Nicht nur für Programmierer: Xcode ...................................
23 26 27
Erste Schritte mit dem Terminal .....................................
29
2.1 2.2 2.3
Die Shell und der Prompt ...................................................... Der erste Befehl ...................................................................... Hintergründe zu UNIX-Befehlen .......................................... 2.3.1 Was sind UNIX-Befehle? ...................................... 2.3.2 Grundlegender Befehlsaufbau: Synopsis ........... Effizient mit dem Terminal arbeiten .................................... 2.4.1 Sonderzeichen maskieren ..................................... 2.4.2 Das Terminal und die Zwischenablage ............... 2.4.3 Drag & Drop ........................................................... 2.4.4 Fenstergruppen und Tabs ..................................... 2.4.5 Automatische Vervollständigung ........................ 2.4.6 Zeilenpuffer und Befehlsverlauf .......................... 2.4.7 Mit Servern verbinden .......................................... 2.4.8 Befehle abbrechen ................................................. 2.4.9 Terminal zurücksetzen .......................................... 2.4.10 Einstellungen vornehmen und speichern ..........
29 31 31 31 33 35 35 36 37 37 39 40 41 42 43 43
Die Dokumentationen .......................................................
51
3.1
51 51 52
2.4
3
Kurze Informationen .............................................................. 3.1.1 Für Eilige: whatis ................................................... 3.1.2 Pfad ermitteln: which ...........................................
5
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 ....... Im Detail: die Manpages ....................................................... 3.2.1 Gliederung und Themen ....................................... 3.2.2 Manpages drucken ................................................ 3.2.3 Zusammenhänge mit apropos ............................. Das GNU-Info-System ............................................................ Manchmal vorhanden: HTML-Dokumentation .................
52 53 55 58 59 59 61
Das BSD-Subsystem ..........................................................
63
4.1
64
3.2
3.3 3.4
4
Die Verzeichnisstruktur ..........................................................
TEIL II: ARBEITEN MIT DEM TERMINAL 5
Dateien und Verzeichnisse ................................................ 69 5.1 5.2
5.3
5.4
5.5
5.6
5.7
Einige Dinge vorab ................................................................. Navigation im Dateisystem ................................................... 5.2.1 Ortsbestimmung mit pwd .................................... 5.2.2 Verzeichnisse wechseln mit cd ............................ 5.2.3 Verzeichnisse mit ls anzeigen .............................. Grundlegende Befehle ........................................................... 5.3.1 Verzeichnisse erzeugen mit mkdir ...................... 5.3.2 Kopieren mit cp ..................................................... 5.3.3 Verschieben und Umbenennen mit mv ............. 5.3.4 Löschen mit rm, srm und rmdir .......................... Weitere Konzepte ................................................................... 5.4.1 Symbolische und feste Links ................................ 5.4.2 Schützen und Verstecken mit File-Flags ............ 5.4.3 Erweiterte Dateiattribute ..................................... Tipps und Tricks ...................................................................... 5.5.1 Schneller mit Joker-Zeichen ................................. 5.5.2 Mit file den Dateityp herausfinden .................... 5.5.3 Statt Doppelklick: open ........................................ 5.5.4 Änderungsdatum mit touch manipulieren ........ 5.5.5 Prüfsummen mit md5 erstellen ........................... Dateien und Ordner komprimieren ..................................... 5.6.1 Komprimieren mit zip ........................................... 5.6.2 Bündeln und Komprimieren mit tar ................... 5.6.3 Kopieren und Komprimieren mit ditto .............. Dateien teilen und zusammenfügen ....................................
69 70 70 71 72 75 75 76 79 79 83 83 86 88 94 94 98 99 102 102 103 103 106 107 110
6
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 5.7.2
6
Prozesse und ihr Management ........................................ 113 6.1 6.2 6.3 6.4 6.5 6.6 6.7
7
Grundlagen .............................................................................. Prozesse und Dienste im Hintergrund ................................ Aktive Prozesse anzeigen ...................................................... Systemauslastung überblicken .............................................. Prozesse beenden ................................................................... Prioritäten setzen .................................................................... Signale mit nohup ignorieren ...............................................
113 115 121 125 127 129 131
Benutzer und ihre Rechte ................................................. 133 7.1 7.2
7.3
7.4
8
Teilen mit split ........................................................ 110 Zusammenführen mit cat ..................................... 110
Einführung ................................................................................ Rechte verstehen und zuweisen ........................................... 7.2.1 POSIX-Rechte ......................................................... 7.2.2 Besitzer und Gruppe ändern ................................ 7.2.3 Besonderheiten im Finder .................................... 7.2.4 Access Control Lists ............................................... Weitere Verfahren und Methoden ...................................... 7.3.1 SUID und SGID ...................................................... 7.3.2 Das Sticky Bit .......................................................... Benutzer am Terminal wechseln ........................................... 7.4.1 Wer bin ich? ........................................................... 7.4.2 Dauerhafter Benutzerwechsel ............................. 7.4.3 Befehl als Superuser root ausführen ...................
133 134 135 140 141 142 154 154 155 156 156 156 157
Effizient mit der Shell arbeiten ....................................... 163 8.1
8.2 8.3 8.4 8.5 8.6
Ausgaben umleiten und speichern ...................................... 8.1.1 STDIN, STDOUT und STDERR ............................. 8.1.2 Befehle verschachteln ........................................... 8.1.3 Daten in und aus der Zwischenablage ............... Befehle im Hintergrund ausführen ....................................... Befehle verketten .................................................................... Die History der Shell .............................................................. Nützliche Tastenkombinationen ........................................... Klammernexpansion nutzen .................................................
164 164 167 167 168 170 170 172 172
7
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
8.8
8.9
9
Umgebungsvariablen .............................................................. 8.7.1 Aufgaben, Zweck und Einsatz ............................. 8.7.2 Gängige Umgebungsvariablen ............................. 8.7.3 Die PATH-Variable ändern ................................... 8.7.4 Umgebungsvariablen mit environment.plist definieren ................................................................ Die Shell konfigurieren .......................................................... 8.8.1 Die Konfigurationsdateien ................................... 8.8.2 Der maßgeschneiderte Prompt ........................... 8.8.3 Aliase definieren und Funktionen erklären ....... 8.8.4 Farbige Anzeige mit ls ........................................... 8.8.5 Eine beispielhafte Voreinstellungsdatei ............. Weitere nützliche Befehle ..................................................... 8.9.1 Fenster mit clear löschen ..................................... 8.9.2 Text mit echo ausgeben ........................................ 8.9.3 Sprachausgabe mit say .......................................... 8.9.4 Text mit read eingeben ......................................... 8.9.5 date ..........................................................................
174 174 178 179 182 183 183 185 188 190 191 191 192 192 192 193 193
Produktiv am Terminal arbeiten ...................................... 195 9.1
9.2
9.3 9.4
Texte bearbeiten, anzeigen und konvertieren ................... 9.1.1 Texte anzeigen ........................................................ 9.1.2 Der Editor nano ..................................................... 9.1.3 Der Editor vi(m) ..................................................... 9.1.4 Text mit grep finden .............................................. 9.1.5 Reguläre Ausdrücke .............................................. 9.1.6 Texte konvertieren mit textutil ............................ 9.1.7 Kleine Helfer im Alltag ......................................... Bildbearbeitung am Terminal ................................................ 9.2.1 Scriptable Image Processing System – SIPS ...... 9.2.2 Bildschirmfotos erstellen ...................................... Datenbanken mit SQLite ....................................................... Audio-Dateien abspielen und konvertieren .......................
195 196 201 204 207 210 212 220 223 223 228 229 234
10 Suchen und Finden mit Spotlight ................................... 237 10.1 Funktionsweise von Spotlight .............................................. 10.2 Suchen mit mdfind ................................................................. 10.2.1 Optionen von mdfind ........................................... 10.2.2 Suchergebnisse weiterverarbeiten ......................
237 238 239 240
8
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 ....................................... 10.2.4 Metadaten gezielt durchsuchen .......................... 10.2.5 Intelligente Ordner und mdfind .......................... 10.3 Metadaten mit mdls anzeigen .............................................. 10.4 Index verwalten ....................................................................... 10.4.1 Index löschen und Indexierung unterbinden ... 10.4.2 Die Importer mit mdimport überblicken .......... 10.5 Dateien mit find suchen ........................................................
241 243 248 248 253 253 255 258
11 Dateisysteme ....................................................................... 263 11.1 Einführung und Grundlagen .................................................. 11.1.1 Mount-Points und Gerätedateien ....................... 11.1.2 Partitionsschemata ................................................ 11.1.3 Einige Besonderheiten von Mac OS X ................ 11.1.4 Unterstützte Dateisysteme ................................... 11.2 Informationen über Dateisysteme ....................................... 11.2.1 Freie Kapazitäten und Platzbedarf ermitteln .... 11.2.2 Dateizugriffe verfolgen ......................................... 11.3 Mit Dateisystemen arbeiten ................................................. 11.3.1 Das Programm diskutil .......................................... 11.3.2 Veraltet: mount ...................................................... 11.3.3 Disk-Images und hdiutil ....................................... 11.3.4 Apple Software Restore (asr) ............................... 11.3.5 CDs und DVDs brennen ....................................... 11.3.6 Dateisysteme reparieren ....................................... 11.4 Dateisysteme konfigurieren .................................................. 11.4.1 Eigene Mount-Points mit /etc/fstab ................... 11.4.2 Speicherplatz mit quota begrenzen ....................
263 263 266 267 268 270 270 272 275 275 285 286 288 292 293 295 295 297
12 Mac OS X administrieren .................................................. 301 12.1 Informationen erhalten: System-Profiler ............................ 12.2 Problemen und Vorkommnissen auf der Spur ................... 12.2.1 Protokolle und syslogd ......................................... 12.2.2 Das Dienstprogramm Konsole und der Befehl syslog ....................................................................... 12.3 Programme und Applikationen im Griff .............................. 12.3.1 Preferences und /etc ............................................. 12.3.2 Property-Listen ....................................................... 12.3.3 Die Befehle defaults und PlistBuddy ..................
301 303 303 305 307 307 309 314 9
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 .......................... 12.4.1 Packages installieren ............................................. 12.4.2 Updates am Terminal vornehmen ....................... 12.4.3 Quittungen und Protokolle der Installationen . 12.5 Systemeinstellungen am Terminal vornehmen .................. 12.5.1 Der Befehl systemsetup ........................................ 12.5.2 Energie sparen mit pmset ..................................... 12.6 Startmodus festlegen .............................................................. 12.7 Exkurs: Kernel-Extensions .....................................................
322 322 324 327 329 330 332 335 336
13 Die Benutzerverwaltung von Mac OS X 10.5 ............... 341 13.1 Einführung und Überblick ..................................................... 13.1.1 Aufbau eines Benutzerkontos .............................. 13.1.2 Benutzergruppen ................................................... 13.2 DSLocal verwalten .................................................................. 13.2.1 Die Schnittstelle: dscl ........................................... 13.2.2 Gruppen überblicken und verwalten ................. 13.2.3 Datensätze exportieren und importieren .......... 13.2.4 Den Superuser root aktivieren ............................ 13.3 Anbindung an Verzeichnisdienste ........................................ 13.3.1 Das Dienstprogramm Verzeichnisdienste .......... 13.3.2 Einige weitere Anmerkungen ..............................
341 343 348 351 351 354 357 358 359 359 360
14 Der Super-Dämon: launchd .............................................. 363 14.1 Aufgaben und Konzepte von launchd ................................. 14.2 Fehlersuche und -vermeidung .............................................. 14.3 LaunchAgents und LaunchDaemons erstellen ................... 14.3.1 Programm immer aktiv halten ............................. 14.3.2 Programm in Intervallen starten ......................... 14.3.3 Programm zu einem Zeitpunkt starten .............. 14.3.4 Verzeichnisse überwachen ................................... 14.3.5 Weitere Konfigurationen ...................................... 14.3.6 Verwaltung mit launchctl ..................................... 14.3.7 Dienste ab- und anschalten mit service ............ 14.3.8 Fortgeschrittene Konzepte und weitere Optionen ................................................................. 14.4 Der SystemStarter und die StartupItems ............................
363 366 368 370 372 373 374 376 378 379 380 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 .................................................. 15.1.1 Protokolle und Verfahren im Hintergrund: TCP/IP ...................................................................... 15.1.2 Domain-Namen und DNS .................................... 15.1.3 Ports und Server ..................................................... 15.1.4 Die Aufgaben von Bonjour .................................. 15.2 Netzwerke konfigurieren ....................................................... 15.2.1 Umgebungen wählen ............................................ 15.2.2 Schnittstellen mit networksetup konfigurieren 15.2.3 Weitere Konfigurationen mit systemsetup ....... 15.2.4 AirPort konfigurieren ............................................ 15.3 Hilfsmittel im Netzwerk ......................................................... 15.3.1 Einen Rechner anpingen ...................................... 15.3.2 Daten mit whois abfragen .................................... 15.3.3 Den Weg mit traceroute verfolgen ..................... 15.3.4 Aktuelle Verbindungen einsehen ........................ 15.3.5 Verkehr mit tcpdump anzeigen ........................... 15.3.6 Portscan mit stroke ................................................ 15.3.7 Bonjour mit dns-sd ................................................
385 386 394 395 396 397 398 400 403 403 405 405 406 407 408 410 411 412
16 Anwendungen im Netzwerk ............................................. 415 16.1 Die Secure Shell SSH .............................................................. 16.1.1 Rechner fernsteuern .............................................. 16.1.2 Mit Schlüsseln arbeiten ........................................ 16.1.3 Verbindungen tunneln .......................................... 16.2 Dateien übertragen ................................................................ 16.2.1 Downloads mit curl ............................................... 16.2.2 Dateien über das Netzwerk kopieren ................ 16.2.3 Verzeichnisse im Netzwerk synchronisieren ..... 16.2.4 ftp und sftp am Terminal ...................................... 16.3 Mit Freigaben arbeiten .......................................................... 16.3.1 Freigaben über das Apple Filing Protocol ......... 16.3.2 Windows-Freigaben über SMB ........................... 16.3.3 Freigaben über WebDAV ..................................... 16.3.4 Freigaben mit dem Network File System .......... 16.3.5 Dateisysteme automatisch einbinden ................ 16.3.6 Erweiterte Dateiattribute und dot_clean ..........
415 416 418 423 424 424 427 428 430 432 433 434 434 435 438 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 .................................................................. 17.2 Der eigene Mailserver mit Postfix ........................................ 17.2.1 Postfix mit einem SMTP-Relay einrichten ......... 17.2.2 Postfix mit einer Domain einrichten .................. 17.3 Der Apache Webserver .......................................................... 17.3.1 Grundlegende Konfiguration und Protokolle ... 17.3.2 Die Seiten der einzelnen Benutzer ..................... 17.3.3 Bonjour einsetzen und konfigurieren ................. 17.3.4 PHP aktivieren und konfigurieren ....................... 17.3.5 CGI-Skripten aktivieren ........................................ 17.4 Der MySQL-Datenbankserver ............................................... 17.4.1 MySQL installieren und einrichten ..................... 17.4.2 PHP und MySQL .................................................... 17.5 Eigene NFS-Freigaben erstellen ........................................... 17.6 Den FTP-Server eingrenzen ...................................................
451 452 453 457 457 457 460 461 462 464 465 465 468 469 471
TEIL IV: DAS COMMON UNIX PRINTING SYSTEM 18 CUPS produktiv nutzen ..................................................... 475 18.1 Konzepte von CUPS ............................................................... 18.2 CUPS einrichten und administrieren ................................... 18.2.1 Das Drucksystem konfigurieren .......................... 18.2.2 Angeschlossene Drucker verwalten .................... 18.2.3 Dateien ausgeben .................................................. 18.2.4 PDF-Dateien erzeugen .......................................... 18.2.5 Quartz-Filter an der Shell .....................................
475 477 477 481 482 484 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 ........................... 19.3.2 Mit Pfadangaben arbeiten ................................... 19.3.3 Auf Umgebungsvariablen zugreifen ................... 19.4 Bedingungen und Schleifen .................................................. 19.4.1 Variablen und Dateien überprüfen ..................... 19.4.2 for-Schleifen verwenden ....................................... 19.4.3 Skript in Funktionen einteilen ............................. 19.5 Weitere nützliche Befehle ..................................................... 19.5.1 Auswahl mit select ................................................ 19.5.2 Pause mit sleep ...................................................... 19.5.3 Protokollieren mit logger .....................................
493 494 495 496 496 500 502 503 503 504 504
20 Shell-Skripten integrieren ................................................ 505 20.1 Shell-Skripten und AppleScript ............................................ 20.1.1 Die Schnittstelle: do shell script ......................... 20.1.2 AppleScript an der Shell ....................................... 20.2 Shell-Skripten und der Automator ....................................... 20.3 Shell-Skripten und launchd ................................................... 20.4 Shell-Skripten beim An- und Abmelden .............................
505 506 508 508 510 511
TEIL VI: EINE WELT DER OFFENEN QUELLEN 21 Mac OS X und Open Source ............................................. 517 21.1 Einführung ................................................................................ 21.2 Programme kompilieren und installieren ........................... 21.2.1 configure, make und make install ....................... 21.2.2 Pakete mit den MacPorts installieren ................ 21.3 Der X11-Server ........................................................................ 21.3.1 X11 nutzen ............................................................. 21.3.2 Fernzugriff über ssh ...............................................
517 520 521 522 529 530 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 vielen Stellen umgebaut und neu gegliedert. Geblieben ist in jedem Fall der Anspruch, Ihnen die Arbeit mit dem UNIX-Kern von Mac OS X nahezubringen, 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 konstruktiven Anmerkungen und ebensolche Kritik freue. Darüber hinaus finden Sie dort weitere Inhalte, die regelmäßig ergänzt und erweitert werden. Kai Surendorf
[email protected] 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 Frage, was man beim Leser an Wissen bereits voraussetzen kann und wo 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.
Ein Problem zu Beginn
Das Anliegen dieses Buches ist es, Ihnen die Arbeit mit dem Terminal von Mac OS X nahezubringen, seine Funktionsweise zu erläutern und Ihnen die vielen Befehle zu erklären, die Ihnen am Terminal zur Verfügung stehen. 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 wahrscheinlich 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.
Ein Anliegen
Was dieses Buch soll und kann Ein guter Grund, sich mit dem Terminal von Mac OS X zu befassen, ist seine 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 Anforderungen 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.
Effizienz
Das Buch erhebt ganz gewiss nicht den Anspruch auf Vollständigkeit. 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 Technologien und Verfahren etwas umfassenderes Wissen in der Programmiersprache C, sowie in der Funktionsweise von Betriebssystemen und größeren Softwareprojekten notwendig. Das kann und soll dieses Buch nicht leisten.
Ein weites Feld . . .
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 wissen sollten
Um die Erklärungen in diesem Buch nachvollziehen zu können, müssen Sie also nicht Informatik studiert haben. Viel wichtiger ist eine Mischung aus Neugier, die auch vor zunächst etwas abstrakt anmutenden Konzepten nicht zurückschreckt, und Experimentierfreude, um neue Möglichkeiten 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 Systemeinstellungen 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 erklärt. Für Umsteiger, die schon mit Linux oder einem BSD-UNIX gearbeitet haben, ist das Buch aber ebenfalls eine lohnenswerte Lektüre. Zwischen Mac OS X und etwa Linux gibt es in vielen Punkten grundlegende Unterschiede. Dies betrifft zum Beispiel launchd anstelle von cron zum Starten von Programmen nach Zeitplänen, die Arbeit mit Dateisystemen 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 Einstieg in die Arbeit unter Mac OS X.
. . . und Umsteiger
Zum Aufbau des Buches Dieses Buch gliedert sich in sechs große Teile. Dabei ist der Text so aufgebaut, dass Sie das Buch von Anfang bis Ende durchlesen können. Die Erklärungen bauen aufeinander auf. Dementsprechend setzen die späteren 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 Dienstprogramm 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, archivieren, 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 welche 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 Server, 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 Programmierung 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-Programmen 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, Artikel, Forum
Unter http://mac.delta-c.de finden Sie die Webseite des Autors, die sich nicht nur, aber auch den in diesem Buch behandelten Themen widmet. Sie finden dort regelmäßig aktualisierte Notizen, weiterführende Artikel, ein Forum für Fragen und Anmerkungen, eine Linksammlung und weitere 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 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 darin, Ihre Befehle entgegenzunehmen und Ihnen deren Ergebnisse anzuzeigen.
Dienstprogramm
Der Name Terminal stammt aus den Urzeiten von UNIX in den 60erund 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 Programme. Sie können es wie jedes andere Programm mit einem Doppelklick starten.
Terminal aufrufen
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 Benutzers 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$
Die Tilde ˜
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 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 ls ein, und drücken Sie anschließend Return. Der Befehl ls dient dazu, den Inhalt von Verzeichnissen anzuzeigen. Je nachdem, was sich in Ihrem Benutzer-Verzeichnis befindet, könnte die Ausgabe wie in Abbildung 2.3 aussehen. Vielleicht verwundert es, wenn die Ordner, die im Finder 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 Finder 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.
Befehlseingabe
Englische Namen
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 Documents. 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 wie iTunes oder TextEdit. Allerdings verfügen sie selten über einen so
Ein zweiter Befehl
Befehle sind 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. Umgebungsvariablen
Die Ordner, in denen die Shell nach passenden Programmen sucht, werden 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 Befehle
Schließlich gibt es noch einige in die Shell eingebaute Befehle. Diese Befehle beziehen sich weniger auf die Arbeit mit Dateien und Verzeichnissen 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
2.3
Grundlegender Befehlsaufbau: Synopsis
Es gibt einen Grundaufbau, auch Synopsis genannt, der fast allen Befehlen 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 Beispielen 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.
Synopsis
Abbildung 2.5 Mit der Eingabe von »ls -l /usr/bin« wurde der Inhalt des Verzeichnisses »/usr/bin« in einer detaillierten Form ausgegeben.
Die erste Anweisung, -l ist eine Option des Befehls. Optionen geben 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.
Optionen
Die meisten Befehle haben mögliche Optionen, die zum Teil die Funktionsweise 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 hintereinander 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 Minuszeichen (--) 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 Befehle 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 nachzuschlagen. 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 ausfü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 Befehlsaufbau
Der mehr oder weniger endgültige Aufbau der Befehle stellt sich nun in dieser Form dar: Befehl Optionen Argumente Operator Argumente
Befehle sind oft Akronyme
Bei den Namen sehr vieler Befehle handelt es sich um Akronyme. So dient der Befehl cp zum Kopieren von Dateien, also eigentlich copy. Zum Verschieben wird der Befehl mv (move) verwendet, zum Löschen rm (remove), 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 Befehl 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ächsten 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 werden 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 haben. So wird das Leerzeichen genutzt, um Optionen und Argumente voneinander 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,
Der Backslash \
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 Backslash \ voranstellen. Dementsprechend führt die Eingabe von cd Neuer\ Ordner dann zum Erfolg. Das Zeichen \ erzeugen. Weitere Sonderzeichen
können Sie mit der Tastenkombination alt + Shift + 7
Neben dem Leerzeichen gibt es noch einige weitere Zeichen, denen Sie \ voranstellen müssen, um sie als Bestandteil eines Dateinamens zu maskieren. 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 Zeichen 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 angezeigten 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 Steuerzeichen einsetzen
Haben Sie einen Text in die Zwischenablage kopiert, der Sonderzeichen enthält, dann können Sie den Menübefehl Bearbeiten • Text mit Steuerzeichen einsetzen verwenden. Mit diesem Befehl fügt das Terminal automatisch vor allen Zeichen, die bei der Befehlseingabe als Sonderzeichen interpretiert werden könnten, einen Backslash ein.
Zeilenumbrüche beachten
Wenn Sie eine mehrzeilige Textstelle markeiren, dann werden die Zeilenumbrü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 ausgewä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.3
2.4
Drag & Drop
Die Fenster des Terminals bieten auch eine Unterstützung für Drag & Drop. Text im Fenster können Sie markieren und mit der Maus auf den Schreibtisch ziehen. Er wird dann als Textclip gespeichert.
Vollständiger Pfad
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 sogenannten 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 erstellen. 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.
Tabs
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 Fenster 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 speichern. 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 Fenster • Fenstergruppe öffnen aufrufen. Sie finden in diesem Untermenü 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 Kurzbefehlen cmd + 1 bis 9 können Sie gezielt das jeweilige Fenster aktivieren. In 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
Tastenkürzel für Fenster
Automatische Vervollständigung
Die Bourne Again Shell bietet eine Reihe von Funktionen, mit denen Sie sich unnötige Eingaben ersparen können. Diese Funktionen werden in Kapitel 8, Effizient mit der Shell arbeiten, erklärt. Die automatische Vervollständigung Ihrer Eingaben ist aber auch schon nützlich, wenn Sie gerade erst beginnen, sich mit dem Terminal auseinanderzusetzen. Zur
Vervollständigung durch Tabulator
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 Tabulator. Befehle vervollständigen
Dabei gibt es zwei Methoden, wie Ihre Eingaben automatisch vervollständigt 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 eingegebenen 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 Verzeichnisse
Die Vervollständigung können Sie auch bei Datei- und Verzeichnisnamen verwenden. Wenn Sie zunächst den auszuführenden Befehl eingeben 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 Vervollstä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 löschen
Zeilenpuffer und Befehlsverlauf
Wenn Sie mehrere Befehle hintereinander eingeben, so erscheinen die 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 Kurzbefehl cmd + Pfeil unten die Liste Zeile für Zeile durchgehen. Während Sie mit dem Zeilenpuffer des Terminals vorhergehende Ausgaben einsehen können, bietet Ihnen die Shell die Möglichkeit, bereits 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 navigieren. Ö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
Vorige Befehle aufrufen
Mit Servern verbinden
Am Terminal ist es zum Beispiel mit den Befehlen ssh und ftp möglich, eine Verbindung zu einem anderen Rechner herzustellen. Arbeiten Sie mit mehreren Rechnern in Ihrem lokalen Netzwerk, dann werden aktive SSH- und FTP-Server über Bonjour automatisch kommuniziert. Sie können mit dem Menübefehl Shell • Neue entfernte Verbindung. . . oder mit dem Kurzbefehl cmd + Shift + K das Fenster aus Abbildung 2.11 aufrufen. Hier finden Sie links die Protokolle wie SSH und FTP und, wenn Sie ein Protokoll auswählen, rechts die in Ihrem lokalen Netzwerk aktiven und bekannten Server. Wählen Sie einen Server aus, dann können Sie direkt die Verbindung aufnehmen. Über die beiden Pluszeichen können Sie sowohl neue Protokolle (sofern Sie deren Bonjour-Spezifikationen
Neue entfernte Verbindung
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 Festplatte 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 Beenden 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 Ergebnisse. 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 werden alle von diesem Fenster aus gestarteten Programme beendet. Eleganter können Sie dies mit den in Kapitel 6, Prozesse und ihr Management, beschriebenen Befehlen tun.
2.4.9
Fenster schließen
Terminal zurücksetzen
In seltenen Fällen kann es notwendig sein, dass Sie das Terminal in den 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.
Reset
2.4.10 Einstellungen vornehmen und speichern Das Terminal bietet Ihnen einige Möglichkeiten, wie Sie die Anzeige innerhalb der Fenster und ihr Verhalten in Bezug auf aktive Programme konfigurieren können. Mithilfe dieser Einstellungen können Sie das Aussehen und zum Teil auch das Verhalten der Fenster des Terminals nach Ihren eigenen Vorstellungen und gemäß Ihrer persönlichen Arbeitsweise anpassen.
Arbeitsumgebung gestalten
Die Voreinstellungen, die Sie über den Menüpunkt Terminal • Einstellungen 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 auswählen oder einfach nur ein neues Fenster mit einer der nachfolgend beschriebenen 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
Start festlegen
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 anderen 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 und Codierungen
Die Ansicht Fenstergruppen wurde in Abschnitt 2.4.4 besprochen. In 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 unterschiedlicher 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 Einstellungen
Wenn Sie die Ansicht Einstellungen auswählen, dann gliedert sich diese in mehrere Reiter. In der Spalte links finden Sie die gespeicherten Einstellungen (Basic, Grass, Homebrew, . . . ) und jeweils eine kleine Vorschau des Stils. Die Aufgabe dieser Einstellungen entspricht in etwa der Aufgabe 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 standardmäßig vorhandenen Einstellungen ändern oder über das Plus-Zeichen unten links eine neue Einstellung nach Ihren Vorstellungen treffen, ist eigentlich 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 Einstellungen 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 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 anzeigen sorgt dafür, dass bei Befehlen wie ls (siehe Abschnitt 8.8.4), die Text farbig ausgeben können, dieser auch farbig dargestellt wird.
Text vorgeben
In der Ansicht Fenster können Sie sowohl die Hintergrundfarbe als auch die Größe des Fensters festlegen. Bei der Größe des Fensters sollten Sie
Fenster 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 gegebenenfalls 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 lassen, 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 Zeilenpuffers 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, 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 Fenster 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 abgearbeiteten 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.
Beenden der Shell
Die Einstellung, die Sie unter Vor dem Schließen nachfragen festlegen können, regelt, was passiert, wenn Sie ein Fenster schließen. In den Standardeinstellungen 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ückfrage erfolgen lassen, dann kann sich dies bisweilen als störend auswirken. Umgekehrt kann keine Rückfrage dazu führen, dass Sie ungewollt Änderungen verlieren.
Fenster schließen
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 Steuerzeichen 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 Ausnahmefällen von Relevanz sein können. Optionen wie die Angabe des Terminals, das Senden von Steuerzeichen bei Nicht-ASCII-Eingabe sowie 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 Ausgaben veraltete Verfahren verwendet werden. Beim Warnton steht Ihnen 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 Zeichen-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 einer ü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 vorgenommen und gesichert, dann können Sie zunächst mit einem Klick auf die Schaltfläche Standard die aktuell ausgewählte Einstellung für alle neuen Fenster des Terminals festlegen.
Einstellungen verwenden
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ühren 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 Einstellung zuweisen, indem Sie über den Menüpunkt Shell • Infor-
Informationen 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 Abbildung 2.19 einblenden. Dort können Sie für das aktive Fenster unter Einstellungen eine andere auswählen. Ferner können Sie im Reiter Informationen den Titel des Fensters und seine Dimensionen direkt vorgeben.
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 Dateien vielleicht nicht revolutioniert, aber doch sehr viel komfortabler und vor allem flexibler gemacht. Und auch am Terminal bietet Spotlight einige 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 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 Änderungsdatum, der Titel, der Autor und noch vieles mehr. Abhängig vom Dateityp kann auch im Inhalt einer Datei, etwa einer PDF-Datei, gesucht werden.
Metadaten
Die Suche nach diesen Metadaten erfolgt nicht direkt im Dateisystem. 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 dieses 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 Index automatisch auf den aktuellen Stand. Hierbei greift Spotlight auf die Arbeit des Daemons fseventsd zurück. Dessen Aufgabe besteht darin,
Index
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 .Spotlight-V100 erstellt und befindet sich auf der obersten Ebene des jeweiligen Dateisystems. Beim Startvolume finden Sie ihn unter /.Spotlight-V100, bei einer aktivierten Partition mit dem Namen Daten unter /Volumes/Daten/.Spotlight-V100. Die Zugriffsrechte für den Index sind jeweils restriktiv vergeben. Lediglich der Superuser root darf auf den Index selbst zugreifen. Bei Ordnern, die Sie über das Netzwerk eingebunden haben, 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 eingebundenen Ordner verwenden. Importer
Um die Metadaten einer Datei auslesen zu können, verwendet Spotlight Importer. Solche Importer ermöglichen Spotlight für ein bestimmtes Dateiformat, zum Beispiel PDF-Dateien, den Zugriff und definieren, wie und welche Metadaten aus dem Dokument ausgelesen und in den Index übernommen 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 Bundles 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 mdfind
Suchen mit mdfind
Am Terminal steht Ihnen die Suchfunktion von Spotlight über den Befehl 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 durchsucht 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 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.
Live-Suche
Mit der Option -onlyin und einem Verzeichnis können Sie mdfind anweisen, nur das angegebene Verzeichnis zu durchsuchen. Die Anfrage mdfind -onlyin ~/Documents Apple beschränkt die Suche nach dem Begriff "Apple" auf Ihren persönlichen Ordner Dokumente. Das aktuelle Arbeitsverzeichnis könnten Sie mit mdfind -onlyin ./ Apple durchsuchen.
Verzeichnis vorgeben
Die Option -onlyin ist auch von Relevanz, wenn Sie in einem über das Netzwerk eingebundenen Ordner suchen möchten. Das Fenster von 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.
Suche auf Freigaben
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 Suche 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 Standardeinstellungen 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 Reihenfolge 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 Begriff "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 korrigieren. 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 weiterleiten, dann ist xargs ebenfalls mit der Option -0 in der Lage, das NullZeichen 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 Suchergebnisse 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-Dateien 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 Trennzeichen 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 Kopiervorgang 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 Wort, sondern in Anführungszeichen ein Suchausdruck verwendet wurde. Bei der Suche mit mdfind können Sie einen Suchausdruck in Anführungszeichen definieren, der anstelle eines einfachen Suchbegriffs verwendet wird. Auf diese Weise können Sie zum Beispiel mit mdfind "Apple 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
Suchausdrücke
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 Microsoft" 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 verknüpfen
Mithilfe von Klammern können Sie die Suchkriterien noch weiter verfeinern. Fassen Sie ein Kriterium wie OpenOffice NOT Microsoft in Klammern zusammen, dann wird zunächst dieses Kriterium überprüft, und seine Ergebnisse oder sein Wahrheitsgehalt mit einem anderen anzugebenden 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 enthalten und Microsoft nicht enthalten ist, können Sie mit mdfind "(OpenOffice 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 von der Bezeichnung eines Dateityps, begrenzen. So können Sie mit mdfind -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.
Dateitypen
Sie können den Zeitraum mit date:today und date:yesterday eingrenzen. Unter Mac OS X 10.4 war es auch möglich, mit date:this week zu arbeiten, was unter Mac OS X 10.5 in dieser Form nicht mehr funktioniert. Sie können sich allerdings mit einer Eigenschaft wie kMDItemContentCreationDate und einer Angabe aus Tabelle 10.4, beispielsweise $time.this_month, behelfen.
Zeitraum eingrenzen
10.2.4 Metadaten gezielt durchsuchen Geben Sie einen Suchausdruck vor, dann werden alle Dokumente gefunden, die die gesuchten Begriffe an irgendeiner Stelle innerhalb der 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, befindet. 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.
Eigenschaften abfragen
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 Eigenschaft als auch den Wert, den diese haben soll, in Anführungszeichen
Suche nach 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 "kMDItemFinderComment == '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 einer recht mühsamen Tipparbeit führen. Es gibt einige Metadaten, bei denen Synonyme Verwendung finden. So wäre es beispielsweise auch möglich, 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 kMDItemFinderComment ist. Ob und, wenn ja, welche Synonyme für eine Eigenschaft zur Verfügung stehen, können Sie mit dem Befehl mdimport (siehe Abschnitt 10.4.2) und der Option -A ermitteln. Da nicht für alle Eigenschaften Synonyme vorhanden sind, lohnt sich die Kenntnis der eigentlichen Bezeichnungen wie kMDItemFinderComment aber in jedem Fall. Eigenschaften kombinieren
Um die Suche auf zwei Eigenschaften auszuweiten, können Sie die Zeichen && verwenden, um die Kriterien miteinander zu verketten. Die Suche 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, Beispieltext lautet. Haben Sie bei einer Datei die Option Suffix ausblenden 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 "kMDItemFinderComment == 'Galileo' || kMDItemDisplayName == 'Beispieltext'" alle Dateien finden, deren Spotlight-Kommentar mit Galileo beginnt oder deren angezeigter Name Beispieltext lautet. Auch in diesem Fall können Sie die Kriterien mit Klammern kombinieren und weiter verfeinern. So findet die Suche
Klammern
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-Farbraum 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 Übereinstimmung zwischen dem Wert der Eigenschaft und der Suchabfrage definieren, können Sie auch andere Vergleiche vornehmen. Zunächst können 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 ausgegeben werden, deren Spotlight-Kommentare das Wort Galileo nicht enthalten. Es ist auch möglich, bei numerischen Werten Vergleiche anzustellen. 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-
Vergleiche
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 Kleinschreibung
Suchen Sie nach Wörtern oder Zeichenketten, beispielsweise im Spotlight-Kommentar, dann berücksichtigt mdfind die Groß- und Kleinschreibung. So wird bei der Suche mit mdfind "kMDItemFinderComment == 'Galileo'" eine Datei gefunden, bei der im Kommentar die Zeichen Galileo enthalten sind. Würde im Kommentar hingegen galileo oder GALILEO vorhanden sein, dann würde die Datei nicht zu den Treffern gehö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 beinhaltet 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 beachten, 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öglichen 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
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 Sekunden 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 eine 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 Aufbau Jahr-Monat-Tag Stunde:Minute:Sekunde. Beispielsweise würde 2005-08-04 19:30:01 den 4. August 2005 19:30 Uhr und eine Sekunde bezeichnen.
10.2
Tabelle 10.4 Zeitangaben für mdfind
Eine mdfind-Suche können Sie mit allen der zuvor beschriebenen Kriterien durchführen und auf diese Weise eine ähnlich komplexe Suchanfrage erstellen, wie sie auch im Finder bei der Erstellung intelligenter Ordner vorkommt. Zum Beispiel würde die Eingabe von
Ein umfangreiches Beispiel
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 Unterscheidung 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 Suchkriterien gesichert werden. In den Standardeinstellungen werden diese Property-Listen im Verzeichnis ~/Library/Saved Searches gespeichert. Mit der Option -s können Sie mdfind anweisen, eine der in diesem Ordner gespeicherten 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ühren. 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 Attribute
Metadaten mit mdls anzeigen
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 (siehe 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 Importer 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, dann können Sie die Option -name, gefolgt vom Namen der Eigenschaft, verwenden. Selbstverständlich können Sie mdls auch mehrere Dateien anzeigen lassen. So erhalten Sie mit mdls -name kMDItemFSCreationDate *.jpg das Erstellungsdatum aller .jpg-Dateien im aktuellen Verzeichnis, 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 kMDItemPixelHeight Bild.jpg sowohl das Erstellungsdatum als auch die Höhe in Pixeln der Datei Bild.jpg anzuzeigen.
Anzeige eingrenzen
Abbildung 10.3 Die Ausgabe kann auch auf eine Eigenschaft beschränkt werden.
Mit Spotlight werden eine ganze Reihe von Eigenschaften katalogisiert. In 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
Metadaten
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 einiger 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 Eigenschaften einer Datei, für die ein neu installierter Importer zuständig ist. Allgemeine Metadaten
Für Dateien allgemein stehen unter anderem folgende Eigenschaften für 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 Verbindung 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 Musikstü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 vergeben 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 Datei
Neben diesen eher allgemeinen Informationen zum Inhalt einer 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 den Standardeinstellungen verwendet werden. So werden bei Musik-Dateien 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
Bilder, Filme, Musik
Index verwalten
Der Index von Spotlight wird auf allen Dateisystemen, die Sie direkt an Ihren Rechner angeschlossen haben, auf der höchsten Ebene im unsichtbaren 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.
Katalog
Das Verzeichnis ist nur für den Superuser root zugänglich, und eigentlich 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.
Verwaltung
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 vollstä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 / entfernen. 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 Partition 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 unterbinden
Wenn Sie ein Volume von der Indexierung komplett ausschließen, es 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 /Volumes/Daten können Sie die Suche wieder aktivieren. Das System legt dann umgehend einen neuen Index an. Die Aktivierung wird Ihnen mit /Volumes/Daten: Indexing enabled. bestätigt.
.metadata_ never_index
Wenn Sie auf diese Weise die Indexierung unterbinden und die Datenbank löschen, dann bleibt das Verzeichnis dennoch erhalten. Insbesondere bei einem USB-Stick oder MP3-Player kann die Existenz dieses Verzeichnisses stören. Eine Alternative besteht darin, eine leere, unsichtbare Datei .metadata_never_index auf der obersten Ebene des Dateisystems anzulegen. 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 legen Sie eine solche Datei an. Das Verzeichnis löschen Sie dann mit sudo rm -r /Volumes/Daten/.Spotlight-V100, wobei Sie bei der Kombination 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 funktionsfähigen Index vorfindet, dann lautet die Angabe indexing enabled. Haben Sie mit mdutil -i off /Volumes/Daten die Indexierung abgeschaltet, dann entspricht der Status indexing disabled. Und wenn Sie die Indexierung mithilfe der Datei .metadata_never_index gänzlich unterdrü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 Metadaten 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 heruntergeladen und beispielsweise im Ordner /Library/Spotlight gespeichert haben, dann können Sie mithilfe von mdimport die mit diesem Importer erreichbaren Metadaten sofort indizieren. Einige Importer wurden 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.
Importer ergänzen
Abbildung 10.4 Weitere Importer können im Ordner »/Library/Spotlight« gespeichert werden.
Haben Sie aber den Importer als selbstständige .mdimporter-Datei erhalten, 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 Spotlight 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 angeben. So können Sie beispielsweise mit sudo mdimport -r /Library/Spotlight/Ziplight.mdimporter veranlassen, dass mithilfe des Importers 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 importieren
Sie können mit der Option -r den Befehl mdimport auch anweisen, ein Verzeichnis erneut in den Katalog zu importieren. Die Eingabe könnte mdimport -r /Absoluter/Pfad lauten. Der eigenhändige (Re-)Import kann notwendig sein, wenn Sie in Verbindung mit der Option -d ermitteln 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 Importer
Mit der Option -L können Sie sich die aktiven Importer anzeigen lassen (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 einzelnen Benutzerkonten immer etwas anders dar. Ein weiterer Unterschied zwischen den Benutzerkonten besteht auch darin, dass die Importer innerhalb 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 Verfü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, die Spotlight bekannt sind, dann können Sie mdimport mit der Option -A 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 Eigenschaft, 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.
Verfügbare Eigenschaften
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 Verbindung mit mdfind nutzen könnten, dann werden Ihnen diese in der vierten 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 verwenden und zum Beispiel mit mdfind album:Keeper nach Musikdateien
Synonyme
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 Keeper 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 Metadaten 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 Importer angegeben. Es handelt sich um den für PDF-Dateien zuständigen PDF.mdimporter. Darauf folgen, mit (Debug) eingeleitet, die aus der Datei extrahierten Daten, also zum Beispiel kMDItemAuthors mit dem Wert Surendorf.
Abbildung 10.7 Mit der Option »-d 4« kann »mdimport« angewiesen werden, detaillierte Informationen über die importieren Informationen auszugeben.
10.5 Alt, aber rüstig
Dateien mit find suchen
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 verfü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 dafür, dass Ihnen die Ergebnisse am Terminal ausgegeben werden. Um also in Ihrem persönlichen Verzeichnis alle Dateien zu finden, deren Name 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 Abschnitt 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 Verzeichnis vermutete Dokumentation eines Programms zu finden) würden Sie den Befehl find /usr/local -name "*.htm*" -print verwenden.
Platzhalter erlaubt
Neben der Option -name kennt find noch einige weitere, die die Kriterien für Ihre Suche spezifizieren. Sie können die Optionen beliebig kombinieren, 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 Verzeichnis. Alle Verzeichnisse, deren Namen das Muster *text* enthalten, können Sie mit sudo find / -name "*text*" -type d -print finden.
Suche verfeinern
Die Option -newer findet alle Dateien, deren Änderungsdatum aktueller ist als das der angegebenen Datei. Sie können die Option -newer mit der Option -name kombinieren. Um die aktuellste Version von Brief.rtf
Aktuellste Datei ermitteln
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 Benutzer kai gehören. Statt einer Benutzerkennung können Sie natürlich auch eine numerische UID wie etwa 502 angeben. Fundstellen sofort löschen
Die Option -delete kann nützlich sein, um alle gefundenen Dateien 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 weiterverarbeiten
Mit der Option -exec können die gefundenen Dateien umgehend an den angegebenen Befehl übergeben werden. Zum Beispiel können Sie mit find ~/ -name "Datei.txt" -exec less \{\}";" sich von dem Programm less alle Dateien namens Datei.txt anzeigen lassen, die in Ihrem persönlichen Verzeichnis gefunden wurden. Haben Sie die jeweilige Datei gelesen, so beenden Sie less mit Q. Dadurch wird der Suchvorgang fortgesetzt und die nächste gefundene Datei angezeigt. Bei der Übergabe 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
* 95, 210 ./ 72 .DS_Store 70 .MacOSX 182 .Spotlight-V100 238, 253 .Trash 75 ._-Datei 89 .bash_history 170 .bash_logout 184 .bash_profile 182, 184, 188 .bashrc 184, 531 .htaccess 461 .metadata_never_index 254 .quotas 298 .tgz 106 /.fseventsd 118 /.vol 268 /Library/Logs 304 /Library/Spotlight 238 /Library/Updates 325 /System/Library/Spotlight 238 /bin 64 /cores 64 /dev 64 /dev/disk 264 /dev/null 166 /dev/rdisk 264 /etc 64, 307 /etc/cups 477 /etc/exports 469 /etc/fstab 276, 295, 441 /etc/passwd 341 /etc/path.d 180 /etc/paths 180 /etc/profile 180, 183 /etc/services 395 /etc/sudoers 158 /home 64, 437 /net 64, 436 /opt 181, 524 /private 64 /sbin 64 /tmp 65 /usr 65
/usr/X11/bin 530 /usr/share/file/ 99 /var 66 /var/db/dslocal 341 /var/log 303 /var/log/cups 478 /var/run 114 /var/spool/postfix/maildrop 453 ; 170 < 165 > 164 >& 166 >console 336 ? 95 [0-9abc] 98 # 307 $time. 243 ˆ 211 \ 36 ˜ 30, 72 127.0.0.1 393, 458
A AAC 235 Access Control Entity 144 Access Control List 134, 142, 535 Vererbung 145 ACE 144 ACL 134, 535 Active Directory 305, 341, 359, 361, 436, 535 acwake 334 add_file 150 add_subdirectory 150 Address Resolution Protocol 388 admin 141 Adobe 538 afconvert 234 afinfo 234 AFP 423, 433, 441, 535 afplay 235 AFPUserAliases 343 AIF 235 AIFF 192 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 Aktivierungen 438 Aktivierungsort 438 Aktivitätsanzeige 114, 121 Alias (Benutzer) 343, 348 alias (Benutzer) 189 Alias definieren 188 American Standard Code for Information Interchange 218, 535 Amerikanische Tastaturbelegung 335 AND 242 Anmelde-Shell 348 Anmeldefenster 118, 511 Anwendungsschicht 386 Apache 61, 118, 457 /Library/WebServer/Documents 459 /var/log/apache2 460 Bonjour 461 httpd-userdir.conf 458 httpd.conf 458 Status Code 460 apachectl 459 API 535 APIPA 396 APMFormat 280 append 149 Apple Filing Protocol 433, 535 Apple Remote Desktop 116 Apple Software Restore 288 Apple System Log 305 Apple-Partitionstabelle 267 AppleFileServer 116 AppleMetaNodeLocation 344 AppleScript 223, 403, 505 AppleSpell.service 116 AppleTalk 535 AppleVNCServer 116 Application Programming Interface 535 Application-Level-Firewall 444 apropos 59 Aqua 23, 26, 535 Arbeitsverzeichnis 70 Archive extrahieren 105 Archive.bom 327 Argumente 34 ARP 388 Array 310, 535 ASCII 218, 535 asl 305
asr 288 at 363 AT & T 56 ATSServer 116 Ausführbare UNIX-Datei 32 Ausgaben umleiten 164 AuthenticationAuthority 344 AuthenticationHint 345 auto_master 440 autofs 27, 436, 438, 535 autofsd 116 Automator 508 autorestart 334
B B-Tree-catalogue 85 Backslash 36, 536 backupd 116 basename 494 bash 27, 30, 489 Befehl Abbrechen 42 Im Hintergrund ausführen 168 Verketten 170 Verschachteln 167 Vervollständigen 39 Befehlsaufbau 34 Befehlsverlauf 41, 170 Benutzer Anmeldung simulieren 156 Wechseln 133, 156 Berkeley Internet Name Daemon 395 Berkeley Software Distribution 535 bg 169 Bildschirmfoto 228 bill of materials 327 BIND 395 blued 116 bluetooth:// 476 Bonjour 41, 119, 380, 396, 412, 461, 535 Boolean 310 bootpd 116, 118 Bourne Again Shell 30, 60 Break 42 Broadcast 392 BSD 535 BSD-Subsystem 63 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 button returned: 506
C C++ 26 cancel 483 Carbon 26, 268, 535 cat 110 CCacheServer 117 cd 31, 71 CD Audio 269 CGI 464, 535 change directory 71 chflags 86 chgrp 140 chmod 133, 136, 146, 154, 155, 490 choose file 507 chown 140, 149 clear 192 CLI 535 Cocoa 25, 535 codesign 446 Codierung 218, 536 ColorSync 223, 227 com.apple.metadata 90 com.apple.nfsd 470 com.apple.quarantine 90 com.apple.ResourceFork 94 com.apple.sharepoint.group. 354 Comma Separated Values 233 Command Line Interface 535 Common Gateway Interface 535 Common UNIX Printing System 475 Compiler 536 Computername 403 Concurrent Versions System 519 configd 117, 445 configure 521 Console 336 CoreAnimation 25 CoreAudio 25, 234 coreaudiod 117 coreservicesd 117 cp 76 CrashReporter 304 createhomedir 354 creator-Code 92 cron 363, 536 CSV 233
CUPS 475 cupsctl 477 cupsd 117, 475 cupsd.conf 477 cupsdisable 482 cupsenable 482 cupsfilter 484 curl 424 cut 222 CVS 519
D Daemon 115 daily.out 304 Darwin 24, 56, 536 Darwin Streaming Server 323 DarwinPorts 537 DashboardClient 117 Data 310 Data Rescue 294 date 167, 193 date: 243 Datei Änderungsdatum 102 Öffnen mit 99 Überschreiben 82 Überschreiben auf Nachfrage 78 Alias 83 Attribute beibehalten 78 Ausführbar 138, 490 Eigentümer 140 Erweiterte Attribute 88, 268, 429, 443 Gruppe 140 Komprimieren 103 Kopieren 76 Kopiervorgang anzeigen 78 Löschen 79 Leere Datei erstellen 102 Prüfsumme 102 Resource Fork 94 Schützen 86 Suffix ausblenden 92 Teilen 110 Typ 98 Umbenennen 79 Unsichtbar 69, 75, 88 Verschieben 79 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 Debian 523 defaults 315 delete 149 delete_child 150 DENIC 395 Dependency 518 Derivat 536 df 270 DHCP 391 Dictionary 310 diff 199 directory_inherit 150 DirectoryService 26, 117, 304, 341 dirname 494 Disc quota exceeded 300 DiscRecording framework 292 Disk and Execution Monitor 115 Disk Warrior 294 Disk-Image 286 diskarbitrationd 117, 265, 295 Diskquota 297 disksleep 334 diskutil 275, 294 DISPLAY 531 display dialog 505 displaysleep 334 distnoted 117 ditto 107 dmg 286 DNS 394, 452, 536 dns-sd 412 do 500 do shell script 506 doc 214 docx 214 Domain Name Server 395 Domain Name Service 536 done 500 DOS_FAT_32 265 dot_clean 443 dps 334 Drag & Drop 37 Drucker-Pool 476 drutil 292 DSA 419 dsAttrTypeNative 343 dscl 351 dsconfigad 361 dseditgroup 355
dsenableroot 358 dserr 361 dsexport 357 dsimport 357 DSLocal 26, 341, 438, 451 DTrace 536 du 271 Dynamic Host Configuration Protocol 391, 536 dynamic_pager 117 DynDNS 452
E echo 192 EDITOR 178 edquota 205, 298 EFI 268 Eingabeaufforderung 30 else 498 emacs 48, 60 en0 387 End of File 42, 455 Energie sparen 332 Entfernte Anmeldung 403, 415 Entfernte Apple-Events 403 env 175 environment.plist 182 Erweiterte Aktivierungsparameter 438 Erweiterte Dateiattribute 88 Escape-Sequenzen 187 Escape-Zeichen 185 Escapen 536 Ethernet 386 everyone 135 ExecCGI 464 execute 149 export 177, 182, 184 Extended Attributes 89 Extensible Markup Language 540
F Farbprofil 227 FAT 536 FAT (16/32) 269 FDisk_partition_scheme 267 Fehlerkanal 164 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 fg 169 file 98 File Allocation Table 269 File System Events 238 File-Flag 78, 86 file_inherit 150 find 259 Finder 30, 83, 134, 267, 315 Infos zu 91, 139 Fink 523, 536 Firefox 532 Firewall 27, 120, 443 Tarn-Modus 405 Fluxbox 531 fold 222 for 500 Forking 518 Framework 26 FreeBSD 24, 523 Front Row 120 fs_usage 274 fsck 294, 335 fsck_hfs 293 fseventsd 117, 237 FTP 41, 426 ftp 430 FTP-Modus 402 FTP-Server 471 ftpchroot 471 ftpusers 471 fully qualified domain name 394 fw0 388
G gcc 518, 520 GeneratedUID 345 Gerätedateien 263 Gerätename 178, 403 get 431 GetFileInfo 91 GID 252 gif 226 Git 519 Glob Pattern 96 GNU 536 GNU-Info-System 59 GPTFormat 280 grace period 299
Graphical User Interface 536 grep 207 GroupMembership 349 Groups 343 groups 354 Gruppen 348 GUID-Partitionstabelle 267 gzip 106
H halfdim 334 HangReporter 304 HASHLIST:<SALTED-SHA1,SMB-NT> 345 hdiutil 287 head 199 HFS 536 hidd 118 hidden 88 Hierarchical File System (HFS) 269 HISTSIZE 170 HOME 175, 178 host 394 Host-ID 389 HOSTNAME 178 HTTP 393, 434 HTTP Statuscode 460 httpd 118 Hypertext 213 Hypertext Preprocessor 538 Hypertext Transfer Protocol 393
I iCal 121 icc 227 ICMP 405 IDENTIFIER 265 idle 123 if 496 Image Events 223 IMAP 423, 536 inherited 151 install.log 304, 329 Installationsprogramm 322 installer 322 Integer 536 Intelligente Ordner 248 International Color Consortium 227
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 Protocol 405 Internet Message Access Protocol 536 Internet Printing Protocol 475, 537 Internet Protocol 388, 539 Internet-Sharing 116 Internetschicht 386 InternetSharing 118 Interpreter 491, 536 IP 388, 539 IP-Nummer 389, 451 ipfw 27, 444, 447 IPP 475, 537 ipp:// 476 IPv6 392 ISO 9660 269
J Java 26, 537 jEdit 490 Joker-Zeichen 94, 378 Journaling 268 JPEGPhoto 347 jpg 226
K kdcmond 118 KDE 517 Kerberos 117 Kerberosv5 345 Kernel 24, 113, 537 Kernel-Extension 118, 336 Kernel-Panic 304 kernel_task 118 KernelEventAgent 118 kextd 118 kextload 339 kextstat 337, 339 kextunload 339 Keynote 242 kill 127, 169 killall 128 kind: 243 Klammernexpansion 172 kMDItem 250 Kompilieren 520 Konsole (Dienstprogramm) 306
krb5kdc 118 Kurzname 347
L LANG 178 LaunchAgent 363, 422, 510 launchctl 364, 378 launchd 114, 363, 396, 510, 530 Disabled 369 EnableGlobbing 377 EnvironmentVariables 378 KeepAlive 370 PathState 371 Program 368 ProgramArguments 368 QueueDirectories 374 RunAtLoad 369 StandardOutPath 376 StartCalendarInterval 373 StartInterval 372 StartOnMount 376 SuccessfulExit 370 ThrottleInterval 376 WatchPaths 375 launchd.conf 381 launchd.plist 370 LaunchDaemon 363 LaunchServices 99 LDAP 359, 537 less 111, 196, 260 lessbright 334 lidwake 334 Lightweight Directory Access Protocol 359, 537 limit_inherit 150 Line Printer Daemon 476 Link Fester 83 Symbolischer 83 Linux 436, 532 list 72, 150 LKDCHelper 118 ln 83 localhost 393, 458 logger 504 LoginHook 511 loginwindow 118, 182 LOGNAME 179 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 Lokale BSD-Konfigurationsdateien und NIS 341 Loopback 393 lp 483 lpadmin 481 lpd:// 476 lpstat 483 ls 31, 72, 87, 94, 135, 144, 190 lsbom 327 lsof 272, 409
M MAC-Adresse 388, 537 Mac OS 9-Treiber installieren 280 Mac OS Forge 519 Mac OS X Extended 269 MacBook Air 120 MacFUSE 268, 269 MacPorts 181, 522, 537 Mail Exchanger 457 Mail Transfer Agent 537 mailq 455 Mailserver 452 make 521, 522 make install 522 makefile 521 man 53 Manpage 53, 537 Drucken 58 Kategorien 56 Master Boot Record 267 MBRFormat 280 MCXSettings 347 md5 102 mdfind 238 mdimport 255 mdimporter 237 mdls 248 mDNSResponder 119, 408, 445 mdutil 253 mdworker 119, 237 Media Access Control 388 Meta-Package 322 metadata server 119 Metadaten 237 Microsoft Basic Data 264 mkdir 75 mount 285, 335
Mount-Point 265, 285, 295, 438, 537 mount_afp 433 mount_nfs 436 mount_smbfs 434 mount_webdav 434 Mounts 343 MP3 235 MP4 235 mpkg 322 MS-DOS-Dateisystem 265 MTA 537 mv 79 MX-Records 457 MySQL 465 mysql 466 mysql.default_socket 469 mysqladmin 466
N named 118, 119, 395 nano 201 NestedGroups 350 NetBios 537 NetInfo 26, 342, 537 netstat 408 Network File System 119, 435, 537 networksetup 309, 400 Netzwerk Umgebung 398 Netzwerk-Klassen 391 Netzwerkdienstprogramm 411 Netzwerkschnittstelle 387 Netzzugangsschicht 386 New Technology File System 269 NEXTSTEP 342, 537 NFS 119, 120, 435, 469, 537 nfs.conf 437 nfsd 119, 470 NFSHomeDirectory 345 nice 130 nicl 342 Nightly Build 519 NIS 359 niutil 342 nl 221 nmbd 119 nohup 131, 169 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 NSGolbalDomain 314 NTFS 269, 537 ntpd 119 Number 310 Numbers 233
O Objective-C 25 ocspd 119 ODSAgent 120 odt 214 OLDPWD 174, 179 only_inherit 150 open 99 Open Directory 305, 341, 359, 436, 537 Open Document Text 214 Open Relay 452 Open Scripting Architecture 537 Open Source 517 OpenBSD 416 OpenDarwin 24 OpenGL 25 OpenOffice.org 214, 219 OpenSSH 416 Operatoren 34, 164, 538 Optionen 33, 538 OR 242 org.openbsd.ssh-agent.plist 419 org.postfix.master.plist 453 OS9Drivers 280 osascript 508 OSTYPE 179
P Package 322, 538 pageouts 126 Paketfilter 444 panic.log 304 Papierkorb 70, 75 Parameter 538 Partition 265, 538 Partitionsschema 266 Password 345 Paste Board 538 PATH-Variable 32, 179, 491, 509, 524
path_helper 180, 183 pbcopy 167, 168 pboard 120 pbpaste 167 pbs 168 PDF 482 periodic 304 Perl 65 Persönliches Verzeichnis 30, 345, 354 Pfade 71 Photoshop 227 PHP 462, 469, 538 php.ini 463 phpinfo() 463 pict 226 Picture 346 PID 113, 538 PID-Dateien 114 ping 405 Pipe 164, 207, 241, 538 pkg 322 pkgutil 328 PlistBuddy 318 plutil 313 pmset 332 POP3 423, 538 Port 395 port 526 Port forwarding 423 Portscan 411 POSIX 25, 134, 538 POSIX path of 507 POSIX-Rechte 135 Post Office Protocol 538 Postfix 374, 452 main.cf 453 postfix 454 postflight 329 PostScript 476, 482, 538 PPID 179 ppp0 388 prebinding 324 Preferences 308 preflight 329 present working directory 70 PreserveJobFiles 480 PreserveJobHistory 480 PrimaryGroupID 346 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 Prompt 30, 185, 538 Farbe 187 Property List 309, 538 Property List Editor 182, 309 Proxy-Server 401, 426 Prozess 113, 538 Anzeigen 121 Beenden 127 Priorität setzen 130 Signale ignorieren 131 Status 123 Prozess-ID 113 ps 121, 209 PS1 185 pstree 526 put 431 PWD 175, 179 pwd 70 Python 65, 491
Q qfilter 485 Quartz 25, 538 Quartz-Filter 484 quartz-wm 531 quartzfilter 485 Quellcode 518 Queue 476, 538 QueueDirectories 453 QuickTime 25 Quota 538 quotacheck 298
R Réseaux IP Européens 539 racoon 445 RANDOM 179 rcd 120 read 149, 193 readattr 149 readextattr 149 readsecurity 149 RealName 346 Receipt 327 RecordType 346 Reguläre Ausdrücke 210, 538 Relay 453
renice 130 Request for Comments 385, 538 Resource-Fork 268, 538 resvport 436, 439 RFBRegisterMDNS 120 RFC 385, 538 Rich Text Format 213 ring 334 RIPE 391, 539 rm 80, 261 rmdir 80 root 140, 157, 358, 539 Root-Shell 160 Router 389 rpc.lockd 120 rpc.quotad 120 RSA 419 rsync 418, 428 RTF 168, 213, 219 RTFM 53 Ruby 65 Ruhezustand 330, 331
S Safari 26, 214, 517 SAMBA 451 Sandbox 446 sandbox-exec 447 Saved Searches 248 say 192 schg 87 Schlüsselbund 120 scp 418, 427 Screen-Sharing 116, 423 screencapture 131, 228 Scriptable Image Processing Systems 223 scselect 399 sdiff 199 SDK 539 search 150 SECONDS 179 Secure Shell 415 secure.log 304 securityd 120 select 185, 503 Self-Monitoring, Analysis and Reporting Technology 276 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 service 379 Service Discovery 397 Set Group ID 154 Set User ID 154 SetFile 91 sftp 418, 432 SGID 154 ShadowHash 344 SharePoints 343, 451 Sharing & Zugriffsrechte 134 Shebang 491, 539 SHELL 179 Shell 30, 346 Alias 188 Funktionen 190 Konfigurieren 183 Shell-Skript ausführen 508 showmount 436 Sicherer Start 336 SIGHUP 128 Signierung 445 Simple Mail Transfer Protocol 454, 539 Single User Modus 294, 335 sips 223 Skript Ausführbar 490 Bedingung 496 Funktion 502 Schleife 500 Variable 492 Skripteditor 505 sleep 131, 334, 504 slice 265 SMART Status 276 SMB 434, 441, 451, 539 smb:// 476 smbd 120 SMTP 453, 454, 539 SMTP-Relay 453 Socket 73 socketfilterfw 120 Software Development Kit 539 Software Update.log 304 Softwareaktualisierung 324 softwareupdate 324 Sonderzeichen Maskieren 35 sort 220
Spam 453 Sparse Bundle 288 Sparse Image 288 split 110 Spotlight 118–120, 237 ( ) 245 Importer 255 Index 253 Spotlight-Kommentar 244 Sprachausgabe 192 spx 302 SQL 539 SQLite 229 sqlite3 230 srm 82 SSH 41, 46, 403, 415, 427, 429, 539 authorized_keys 419, 420 Fingerprint 417 known_hosts 417 Schlüssel 418 Tunnel 423 X11 531 ssh 416 ssh-add 421 ssh-agent 419, 421 ssh-keygen 417, 419 sshd 416, 532 sshd_config 532 SSID 404 staff 135, 141, 346, 349 Standard-Ausgabe 164, 539 Standard-Eingabe 164, 539 Standardausgabe 209, 376 Startmodus 335 StartupItem 381, 465 Startvolume 330 STDERR 164 STDIN 164, 539 STDOUT 164, 539 Sticky Bit 155 strftime 186, 194 String 310, 539 stroke 411 Structured Query Language 230, 539 su 133, 156 Subnetz 392 Subversion 519 sudo 133, 157 SUID 154 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 SWAP 539 SWAT 451 Synopsis 33, 55 Syntax 539 Syntax Highlighting 490 syslog 307 syslogd 120, 305 System Administrator 358 System-Profiler 301 system.log 303 system_profiler 301 Systemeinstellungen 329 systemsetup 309, 330, 403 SystemStarter 121, 381 SystemUIServer 121
T tail 198 tar 106 TCP 539 tcpdump 410 tcsh 44 tee 165 Terminal 29, 44 ANSI-Farben anzeigen 45 Codierungen 44 Einstellungen speichern 43 Fenster als Gruppe sichern 38 Fenster Informationen 49 Fenster löschen 192 Fenstergruppen 37 Mit Servern verbinden 41 Neue entfernte Verbindung 41 Reset 43 Tabs 37 Tastatur 48 Text mit Steuerzeichen einsetzen 36 Textdarstellung 45 Zeilenpuffer 40 test 496 Text 213 TextEdit 100, 213, 218 TextMate 490 textutil 190, 212 The GIMP 528 tiff 226 Tilde 30, 72 Time Machine 116, 118
Time-to-live 407 top 125 touch 102, 149, 298 traceroute 407 Transmission Controll Protocol 539 Transportschicht 386 type-Code 92
U uchg 86 UDF 270 UDIF 288 UDP 393 UID 179, 253, 346, 539 Umgebungsvariable 32, 56, 174, 378, 495, 539 Exportieren 177 unalias 189 Unicode 218, 539 Uniform Resource Locator 539, 540 UniqueID 346 UNIX File System (UFS) 270 UNIX-Befehlen 31 UNIX-Derivat 25 UNIX3 25 unzip 105 update 121 URL öffnen 101 usage 52 usb:// 476 usbmuxd 121 USER 175 User Datagram Protocol 393 User Template 354 UserEventAgent 121 UserShell 346
V Verzeichnisdienst 359, 438 Verzeichnisse Anzeigen 72 Erstellen 75 Kopieren 76 Löschen 79 Pfadangaben 71 Schützen 86 Umbenennen 79 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 Wechseln 71 vi(m) 204 vifs 295, 441 vimtutor 207 Virtual Network Computing 116 Virtual Private Network 445 visudo 159, 205 VNC 116 VNCPrivilegeProx 121 Volume 265, 538 Volume UUID 276 Vorherigen Befehl aufrufen 41 VPN 445
W wc 220 Web-based Distributed Authoring and Versioning 434 webarchive 214 WebDAV 434, 540 WebKit 26, 519 Webserver 457 Websites 458 weekly.out 304 whatis 51 wheel 142 which 52 whoami 156 whois 406 winbindd 121 Window-Manager 530 Windows 451 WindowServer 121 with administrator privileges 508 womp 334 Word 214, 219 wordml 214 write 149 writeattr 149
writeextattr 149 writesecurity 149
X X11 65, 540 X11-Server 184, 529 X11Forwarding 532 X11R7 530 Xar 322, 327, 540 xargs 240 xattr 89 Xcode 518, 540 Installation 27 xeyes 530 Xgrid 121 xgridagentd 121 xinetd 363, 396 xinitrc 531 XML 540 Xquartz 530 xterm 184, 531
Z Zeilenumbruch 36 Zeitserver 119, 331 Zeroconf 396 ZFS 270 zip 103 Zombie 123 Zugriff für bestimmte Dienste und Programme festlegen 445 Zugriffsrechte 73, 78, 133 Netzwerk 152 Vererben 150 Vergeben 136 Zwischenablage 36, 120, 167, 228, 538
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
äöüÄÖÜ.