Praktische Terminal-Befehle für den Mac

Für manche Mac-Nutzer sind das Terminal und die darin zur Verfügung stehende Kommandozeile ein Buch mit sieben Siegeln. Was durchaus verständlich ist, denn das Eintippen von zuweilen langen Befehlen mit gelegentlich kryptischen Parametern ist nicht jedermanns Sache. Allerdings lassen sich etliche Aufgaben mit Terminal-Anweisungen schneller und effektiver erledigen als beispielsweise mit dem Finder oder in den Systemeinstellungen.


Nach Aufgaben sortierte Liste
Der GitHub-User Marcel Bischoff pflegt eine von ihm selbst kuratierte englischsprachige Liste mit Terminal-Kommandos, fein säuberlich sortiert nach Anwendungszwecken und Aufgaben. Wir haben einige nützliche Befehle herausgesucht und stellen sie im Folgenden kurz vor. Dabei gilt: Wer die Kommandos nutzt, sollte Sorgfalt walten lassen und sicherstellen, dass er sie korrekt eingegeben hat. Manche der Befehle sind sehr mächtig, eine falsche Anwendung kann daher zu Datenverlusten führen. Alle mit "sudo" eingeleiteten Kommandos erfordern die Eingabe des eigenen Benutzerpassworts, da sie mit Administratorrechten ausgeführt werden müssen.

1. Dateien und Ordner

Versteckte Dateien im Finder anzeigen:
defaults write com.apple.finder AppleShowAllFiles true

Versteckte Dateien im Finder ausblenden:
defaults write com.apple.finder AppleShowAllFiles false

Immer alle Dateinamens-Erweiterungen im Finder anzeigen:
defaults write -g AppleShowAllExtensions -bool true

Vollständigen Pfad in der Kopfleiste eines Finder-Fensters anzeigen:
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true

Inhalte von zwei Ordnern vergleichen:
diff -qr /Pfad/zu/Ordner1 /Pfad/zu/Ordner2

Inhalt eines Ordners in ein Disk-Image schreiben:
hdiutil create -volname "Name des Volumes" -srcfolder /Pfad/zum/Ordner -ov diskimage.dmg

.DS_Store-Dateien entfernen:
find . -type f -name '*.DS_Store' -ls -delete

2. Time Machine

Backup-Intervall anpassen:
sudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int Intervall_in_Sekunden

Beispiel: Intervall auf eine Stunde setzen:
sudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int 3600

Backups lokal speichern, wenn das externe Speichermedium nicht verfügbar ist:
sudo tmutil enablelocal


Diese Einstellung kann mit sudo tmutil disablelocal wieder rückgängig gemacht werden. Beide Befehle funktionieren nur bis einschließlich macOS 10.12 Sierra, ab macOS 10.13 High Sierra sind sie obsolet.


3. Erscheinungsbild

Transparenz der Fenster und Menüs herabsetzen:
defaults write com.apple.universalaccess reduceTransparency -bool true

Transparenz auf den Standardwert zurücksetzen:
defaults write com.apple.universalaccess reduceTransparency -bool false

Hintergrundbild festlegen:
sqlite3 ~/Library/Application\ Support/Dock/desktoppicture.db "update data set value = '/path/to/picture.jpg'" && killall Dock


4. Festplatten, SSDs und Volumes

Startvolume festlegen:
# Bis macOS 10.10 Yosemite
bless --mount "/path/to/mounted/volume" --setBoot

# Ab macOS 10.11 El Capitan
sudo systemsetup -setstartupdisk /System/Library/CoreServices

Alle Platten und Partitionen anzeigen:
diskutil list

Dateiberechtigungen reparieren:
sudo diskutil repairPermissions /
Dieser Befehl funktioniert nur bis einschließlich macOS 10.10 Yosemite, da spätere Versionen die Systemdateiberechtigungen automatisch schützen.

Trim für eine Nicht-Apple-SSD erzwingen:
sudo trimforce enable


5. Betriebssystem

Ausführlichen Systembericht erzeugen:
sudo sysdiagnose -f ~/Desktop/

Status der Kernelerweiterungen anzeigen:
sudo kextstat -l

Eine Kernelerweiterung aktivieren:
sudo kextload -b com.apple.driver.Name_der_Erweiterung

Eine Kernelerweiterung deaktivieren:
sudo kextunload -b com.apple.driver.ExampleBundle

System neu starten:
sudo reboot

System herunterfahren:
sudo halt
oder
sudo shutdown -h now

Viele weitere Kommandos
Über diese Auswahl an Befehlen hinaus sind auf der GitHub-Seite von Marcel Bischoff noch zahlreiche weitere Kommandos zu finden, beispielsweise aus den Themenbereichen Netzwerk, Audio, Sicherheit und Apps. Darüber hinaus stellt er in einer weiteren Übersicht eine ganze Reihe von Kommandozeilen-Apps vor.

Kommentare

nane
nane03.10.19 12:47
Klares +1 für diesen sehr guten Beitrag und Hinweis auf die GitHub Seite von Herrn Bischoff. Super!
Das Leben ist ein langer Traum an dessen Ende kein Wecker klingelt.
+9
MrWombat03.10.19 12:55
Und natürlich die Wartungsskripte:

sudo periodic daily
sudo periodic weekly
sudo periodic monthly
+1
Windwusel
Windwusel03.10.19 13:26
Immer alle Dateinamens-Erweiterungen im Finder anzeigen:
defaults write -g AppleShowAllExtensions -bool true

Funktioniert dies auch umgekehrt? Ich würde die Endung grundsätzlich gerne ausblenden, was auch fast funktioniert. Lediglich meine Scan-App hängt immer ein .pdf an.
Meine  Hardware: MacBook Pro mit Touch Bar (15-inch, 2018), iPhone X, AirPods und Apple TV 4
0
DTP03.10.19 13:26
Schöne Übersicht, @vog.

Die Hinweise zu den einzelnen Befehlen wären noch hilfreich, da ja Apple bei neuren OS-Versionen bestimmte Optionen nicht mehr anbietet. So z.B.:

2) Backups lokal speichern, wenn das externe Speichermedium nicht verfügbar ist:
Since High Sierra, you cannot disable local snapshots. Time Machine now always creates a local APFS snapshot and uses that snapshot as the data source to create a regular backup, rather than using the live disk as the source, as is the case with HFS formatted disks.

4) Dateiberechtigungen reparieren:
Beginning with OS X El Capitan, system file permissions are automatically protected. It's no longer necessary to verify or repair permissions with Disk Utility.
0
Bozol
Bozol03.10.19 14:01
iLast login: Thu Oct 3 13:52:41 on ttys000
iMac:~ fred$ sudo poweroff
Password:
sudo: poweroff: command not found
iMac:~ fred$
Sudo poweroff funktioniert bei mir unter Mojave nicht…
0
depeche101mode03.10.19 14:05
Es wäre schön wenn es einen Terminal Befehl geben würde, bei dem ich die iCloud Ordner direkt auf der externen Festplatte ablegen und nicht auf der Internen vom Mini. Das müllt einem immer die interne HDD voll.

Oder kennt jemand ein Programm dafür? 😀
0
Marcel Bresink03.10.19 15:42
Die Liste der Befehle ist völlig veraltet. Vieles funktioniert schon seit mehreren Generationen von macOS nicht mehr. Beispielsweise hat Apple die Funktion "Lokale Time Machine-Backups" schon seit macOS 10.13 High Sierra abgeschafft.

"poweroff" ist ein Linux-Befehl, den es in den meisten anderen Unix-Systemen und in macOS nicht gibt.
+4
Marcel Bresink03.10.19 15:44
MrWombat
Und natürlich die Wartungsskripte:

Die Wartungsskripte gibt es zwar aus Kompabilitätsgründen immer noch, sie sind aber für die meisten Anwender schon seit Mac OS X 10.7 so gut wie bedeutungslos und erfüllen keine sinnvolle Funktion mehr.
+1
ollerich
ollerich03.10.19 16:03
+Shift+. zeige alle versteckten Dateien (da brauche ich keinen Terminalbefehl) und denselben Shortcut, um sie wieder zu verstecken...
Leaves are falling words from the earth. Spoken in silence. Never heard.
+5
Dupondt03.10.19 16:48
Marcel Bresink
"poweroff" ist ein Linux-Befehl, den es in den meisten anderen Unix-Systemen und in macOS nicht gibt.

Danke für den Hinweis, Abschnitt ist korrigiert.
0
MLOS03.10.19 16:53
depeche101mode

Ab MacOS Catalina wird es möglich sein, iCloud-Downloads zu entfernen. Somit wäre der Speicherplatz schon einmal optimiert.
Unter Windows ist es möglich, den iCloud-Speicherort mit einer Verzeichnisverknüpfung zu ändern. Ob das auf MacOS geht und wie es dort geht, kann ich leider nicht sagen. Ich weiß nur, dass man dort auch symbolische Links erstellen kann. Allerdings könnte es auch sein, dass die iCloud dann nicht mehr richtig funktioniert.
Es ist ein unerwarteter Fehler aufgetreten" - Welche Fehler wurden denn erwartet?
0
don.redhorse03.10.19 16:59
Mit links wird’s gehen, klappt ja auch mit den Ordnern im Benutzerordner. Wenn man z.b. Eine große iTunes Mediatek hat bleibt einem ja fast nichts anderes übrig.

System runter fahren ist shutdown mit Parameter, kann man mit man shutdown nachlesen.
0
Dupondt03.10.19 16:59
DTP
Schöne Übersicht, @vog.
Vielen Dank!
Die Hinweise zu den einzelnen Befehlen wären noch hilfreich, da ja Apple bei neuren OS-Versionen bestimmte Optionen nicht mehr anbietet.

Hinweise ergänzt.
0
mikeboss
mikeboss03.10.19 17:02
fuer TRIM muesste es heissen "sudo trimforce enable". ist jedoch in macOS Catalina nicht mehr noetig. auch nicht-NVMe SSDs werden out-of-the-box unterstuetzt.
0
dudax
dudax03.10.19 17:15
... und wenn man mal wieder eine Identitätskrise hat:
whoami
+3
Dupondt03.10.19 18:16
mikeboss
fuer TRIM muesste es heissen "sudo trimforce enable".
Auch Dir vielen Dank, ist korrigiert.
+2
Oceanbeat
Oceanbeat03.10.19 19:03
Haben diese Terminalkommandos heute unter Mojave eigentlich noch eine Funktion...?

Wenn der Herbst seine morbide Pellerine über die Vorgärten wirft...
0
Weia
Weia03.10.19 19:36
Oceanbeat
Haben diese Terminalkommandos heute unter Mojave eigentlich noch eine Funktion...?
Warum sollten sie nicht?
Kohle ist kein Grund zum Anbaggern
0
don.redhorse03.10.19 19:55
BTW: "poweroff" ist auch unter linux nur eine shellscript mit
#! /bin/sh
sudo shutdown -h now

könnte man sich auch selber anlegen, z.b.

#sh
ls -lh

als Datei ll.sh nach /usr/local/bin ablegen und mit "chmod +x ll.sh" ausführbar machen. Danach reicht ein "ll" für ein "ls -lh"

poweroff wäre halt

nano /usr/local/bin/poweroff.sh

#sh
shutdown -h now

ctrl+o ctrl+x
chmod +x /usr/local/bin/poweroff.sh

sollte dann gehen, nicht getestet
+1
Marcel Bresink03.10.19 20:37
Oceanbeat
Haben diese Terminalkommandos heute unter Mojave eigentlich noch eine Funktion...?

Die Kommandos an sich sind richtig, aber sie in einem Netzwerk zu benutzen, wie in Deinem Screenshot steht, hat noch nie wirklich funktioniert.

Man kann das zwar so machen, aber dann bekommt man keine richtige Spotlight-Funktion, wie man sie gewohnt ist, sondern man sucht nur in einen "Einmal-Schnappschuss" der Server-Freigabe, wie sie zu dem Zeitpunkt war, als der Befehl eingegeben wurde.

Für echtes Spotlight im Netzwerk (mit ständiger Live-Aktualisierung der Server-Daten) ist es zwingend nötig, dass auf dem Server der Dienst "Spotlight Server" läuft, der ab Mac OS X 10.5 bei macOS Server mitgeliefert wurde.

Inzwischen wurde das aber auch aufgegeben. Für die Zukunft hat Apple geplant, zur Suche im Netzwerk auf den "Windows Search Service"-Dienst von Microsoft umzuschwenken.
+1
don.redhorse03.10.19 20:53
Marcel Bresink

Inzwischen wurde das aber auch aufgegeben. Für die Zukunft hat Apple geplant, zur Suche im Netzwerk auf den "Windows Search Service"-Dienst von Microsoft umzuschwenken.

Wie? Apple will den nicht vernünftig funktionierenden Windows Dienst nutzen? OK, in heterogen Umgebungen mit einem Windows "Server" DC etc. mag es vielleicht Sinn machen, aber wenn man ein reines Mac Netz benutzt, gibts dann kein Server Spotlight mehr? Wäre echt übel Spotlight harkt auf jeden Fall nicht so oft wie der Nerv Dienst von Windows. Mit dem Win 2k12 Server war es eine Katastrophe, mit 2k16 nur noch übel. 2k19 konnte ich noch nicht testen, da gerade zur Migration von 12 auf was neues bei MS alles auseinander geflogen ist und 2k19 Monate später gekommen ist. Die wollten nicht einmal die dann gekauften 16er Lizenzen gegen 19er tauschen, dazu braucht man die Software Assurance und die Umstellerei ist mal eben nicht ein "inplace" Upgrade, nein, zumindest den TerminalServer muss man neu aufsetzen mit Lizenz hin und her Schieberei etc. Steht nächstes Jahr an, da Grusel ich mich jetzt schon vor... Ist ha klar dass das ganze wieder nen paar tausend € kostet...
+1
ssb
ssb03.10.19 22:05
Insgesamt ein schöner Artikel, es ist nicht alles neu oder besonders, aber es ist eine nützliche Zusammenstellung, ein Anlaufpunkt, bevor man die Ergebnisse der Suchmaschinen durchkämmen muss.

Ergänze bitte noch die Sachen rund um:
Brennen von Medien mit hdiutil, Splitten von DMGs in mehrere Segmente. Schön wären auch noch die verschiedenen Aktivitäten rund um launchd, also Agents und Daemons anzeigen, deaktivieren, etc. Da tummelt sich manchmal schon ein recht übler Unsinn rum.
Und auch wenn es ggf. GateKeeper überlistet - manchmal bekommt man Dateien aus dem Internet einfach nicht geöffnet, wenn man die eXtended ATTRibutes nicht aufräumt. Das zu beschreiben ist auch nützlich (habe ich in der Firma schon öfter gemacht).

Aber ich vermute, es ist einfach erst Mal ein Anfang. Schließlich können auch andere ihre Skripten/Befehlszeilen dem Github Repository hinzufügen... wenn der Author das wünscht...
0
Bozol
Bozol03.10.19 22:21
Marcel Bresink
"poweroff" ist ein Linux-Befehl, den es in den meisten anderen Unix-Systemen und in macOS nicht gibt.
Ich wollte es nur ausprobieren. Ich schalte meine Kiste eh meistens mit ctrl-alt-cmd+Auswurftaste aus. Oder mittels shutdown.
0
macuser11
macuser1107.10.19 01:30
ssb
...von Medien mit hdiutil, Splitten von DMGs in mehrere Segmente.
Kannst du/jemand mir den Codesnipsel geben, wie ich per Command eine einzige komprimierte Datei als Apple Disk Image (nur 1x DiskImage.dmg) von -srcdevice erstelle?
Weil sowohl hdiutil wie auch direkt über das Festplattendienstprogramm wird das "sehr" grosse Original-Volumen/Ordner ständig in genau 1.1 Terabyte .dmgpart Segmente gesplittet und zwar z.B.:
  • DiskImage.dmg (1.1 TB)
  • DiskImage.002.dmgpart (1.1 TB)
  • DiskImage.003.dmgpart (364 GB)

PS: Merge the files using hdiutil convert:
hdiutil convert firstFile.dmg -o output.dmg
funktioniert bei mir insofern nicht, dass mehr als doppelt soviel Speicherplatz benötigt wird als alle DiskImage.dmgpart zusammen.
hdiutil Man Page
0

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.