1040177

Terminal in macOS nutzen – System optimieren, Fehler beheben

05.02.2021 | 08:21 Uhr |

Unser Ratgeber zeigt, was das Terminal alles kann. Auch wenn sich viele Einstellungen in macOS über die grafische Oberfläche vornehmen lassen, ermöglicht das Terminal oft das schnellere Erledigen von Aufgaben oder Möglichkeiten zur Fehlerbehebung.

Kommandozeilenbefehle erledigen einige komplexe Aufgaben schneller und gründlicher, als dass das bei manuellem Vorgehen mit dem Mauszeiger möglich wäre. Nach dem Start des Terminals im Launchpad öffnet sich eine Eingabezeile. Zu Beginn dieser Eingabezeile finden sich einige kryptische Begriffe, danach folgt der Cursor, der auf die Eingabe von Befehlen wartet. Doch was sind das für Befehle?

Für verschiedene Befehle im Terminal ist es nötig, Administrator-Rechte zu besitzen. Diese Rechte können im Terminal aufgerufen werden. Das schützt den Mac vor versehentlichen Änderungen, denn ohne die Aktivierung der Admin-Rechte arbeiten Sie mit eingeschränkten Rechten des Benutzerkontos. Arbeiten Sie aus Sicherheitsgründen mit einem Benutzerkonto ohne Verwaltungsrechte, können Sie im Terminal keinen Befehl verwenden, der mit „sudo“ beginnt, da diese Befehle nur Administratoren zugänglich sind. In diesem Fall melden Sie sich zunächst mit einem herkömmlichen Benutzerkonto an. In den meisten Fällen melden sich Anwender ohnehin mit ihrer Standard-Apple-ID an.

Sie können sich direkt im Terminal als Administrator anmelden. Dazu geben Sie „login“ ein (ohne Anführungszeichen), gefolgt von einem Leerzeichen und dem Kurznamen des Administrators. Danach drücken Sie die Zeilenschaltung, tippen das Administratorpasswort ein und drücken nochmals die Zeilenschaltung. Um sich wieder abzumelden, verwenden Sie „logout“ ein (ebenfalls ohne Anführungszeichen).

Starten des Terminals in macOS
Vergrößern Starten des Terminals in macOS

Einstieg in das Terminal

Die ersten Wörter nach der Anmeldung am Terminal dürften jedem bekannt vorkommen: Sie bezeichnen den Namen, der dem Mac bei der Installation von macOS gegeben wurde und den Namen des Benutzers.

Öffnen Sie das Terminal, befinden Sie automatisch im eigenen Benutzerordner. Ähnlich wie im Finder können Sie frei zwischen verschiedenen Ordnern wechseln, um in diesen zu arbeiten. Wechseln Sie man in den eigenen Musikordner, zum Beispiel mit „cd music“ wird ein ":Music" angefügt. Wichtiger Hinweis: Für das Terminal ist das System auf die englische Sprache eingestellt, der Ordner "Musik" heißt deshalb "Music", der Dokumente-Ordner "Documents". Mit dem Befehl „ls“ zeigen Sie den Inhalt des Ordners an.

Nach dem Wechseln zu einem Ordner im Terminal zeigt die Oberfläche den Ordnernamen an. Dadurch wissen Sie zu jedem Zeitpunkt, in welchem Ordner Sie sich befinden. Diese Information ist wichtig: Die Kommandozeile ist ein mächtiges Werkzeug. Schon eine falsche Option kann zu irreparablen Schäden am System führen. Deshalb sollten Sie sich unbedingt vergewissern, dass ein Befehl korrekt geschrieben ist, bevor Sie ihn absenden.

Wie bereits eingangs erwähnt, funktionieren die meisten der Kommandozeilenbefehle nach einem ähnlichen Konzept. Gefahrlos ausprobieren können Sie dies mit den Befehlen "cd" und "ls". Diese beiden Befehle führen keine Änderungen am System durch, sondern wechseln nur den aktuellen Ordner und zeigen den Inhalt des angegebenen Ordners an. Sie können das ausprobieren, indem Sie mit "cd Documents " in den Ordner "Dokumente" im Benutzerordner wechselt. Befinden Sie sich im Music-Ordner müssen Sie mit „cd“ zunächst wieder zurücknavigieren, um in einen anderen Ordner der gleichen Ebene wechseln zu können.

Selbstverständlich können Sie auch jeden beliebigen anderen Ordner wählen, auch Groß- und Kleinschreibung müssen Sie zunächst nicht achten. Anschließend wird mit  "ls" (ohne weitere Optionen) der Inhalt im aktuellen Arbeitsordner dargestellt.

Mit einer Option zum Befehl " ls " können Sie sich den Inhalt weiterer Unterordner anzeigen lassen. So gibt der Befehl "ls <Unterordner>" den Inhalt des "<Unterordner>" vom aktuellen Ordner aus. Manche Befehle verlangen jedoch mehr als eine Option. Beim Verschieben oder Kopieren von Dateien müssen Sie sowohl den Namen der Ursprungsdatei als auch der Zieldatei angeben. Die Datei "liste.txt" wird daher mit folgendem Befehl aus dem aktuellen Arbeitsordner in den Ordner "Documents" verschoben: "mv liste.txt Documents".

Wenn Sie im Terminal einen Befehl startet, der zu lange läuft, können Sie ihn mit der Tastenkombination CTRL+C abbrechen. Den Inhalt des Bildschirms löschen Sie mit „clear“. Dadurch erhalten Sie mehr Überblick. Mit der Pfeiltaste nach oben, blenden Sie die letzten Befehle ein, die Sie in der Terminal-Sitzung verwendet haben.

Intelligentes Umsortieren mehrerer Dateien in einen Ordner

Das Verschieben von Dateien über die Kommandozeile scheint auf den ersten Blick nicht besonders effektiv zu sein. Dies ändert sich bei komplexeren Aktionen. Hier spielen Platzhalter eine besondere Rolle. Korrekt angewandt, können Sie mit ihnen die Befehle in der Kommandozeile auf bestimmte Dateien begrenzen. Am besten lässt sich dies an einem Beispiel illustrieren: Angenommen, alle Fotos, beginnend mit der Zahl 9, sollen aus dem aktuellen Ordner in den Ordner „Sommerurlaub“ verschoben werden, so erledigt das ein einziger Befehl: "mv IMG_9*.jpg Sommerurlaub".

Dieser Befehl verschiebt automatisch alle Dateien, die mit "IMG_9" beginnen und auf ".jpg" enden. Natürlich lassen sich solche Zeichen auch am Anfang oder Ende eines Befehls oder Dateinamens einsetzen. So legt der Befehl "mv *.mp3 Music" sämtliche Musik im mp3-Format in den Ordner mit dem Namen "Music". Der Befehl  "mv 2020* Sommerurlaub_leer" sortiert Dateien jeglichen Dateityps, deren Name mit 2020 beginnt, in den Ordner "Sommerurlaub_leer".

Gerade bei der Benutzung von Platzhaltern (Wildcards) gilt es, besondere Vorsicht walten zu lassen. Ein fehlplatziertes Zeichen kann, noch viel mehr als ein Buchstabendreher, viel Unheil anrichten. Denn: Ein frei stehendes Jokerzeichen bezieht alle im Arbeitsordner vorhandenen Dateien und Ordner mit ein. Während ein "mv * Sommerurlaub_leer" also durchaus bewusst dazu verwendet werden kann, um alle Dateien aus dem Arbeitsordner in den Ordner "Sommerurlaub_leer" zu kopieren, ist es dennoch empfehlenswert, sich vor Absenden des Befehls Gedanken über die Auswirkungen zu machen.

Im Terminal können Sie auch nach Dateien und deren Inhalten suchen. Dazu verwenden Sie den Befehl „mdfind“. Rufen Sie nur „mdfind“ auf, zeigt das Terminal eine Hilfe an. Der Befehl sucht auch innerhalb von Dateien nach bestimmten Begriffen. Suchen Sie zum Beispiel nach Dateien, mit dem Inhalt „Thomas“ oder „Zeugnis“,  verwenden Sie:

Mdfind „Thomas“ OR „Zeugnis“

Mit Wildcards große Datenmengen gezielt löschen

Nahezu jedes Kommandozeilenprogramm bringt Unterstützung für Platzhalter mit. Der erste Tipp lässt sich somit in leichter Abwandlung auch zum Löschen von Dateien benutzen. Wie immer gilt: Vor dem Abschicken des Befehls dessen korrekter Schreibweise und Funktion vergewissern. In der Kommandozeile gibt es keinen Papierkorb, aus dem sich Dateien im Notfall retten lassen. Einmal gelöscht, sind sie unwiderruflich verloren!

Ein gutes Beispiel für das gezielte Aufräumen ist ein Download-Ordner, in dem sich im Laufe der Zeit zahlreiche PDF-Dateien angesammelt haben. Wie bereits beim Befehl "mv", setzt man auch hier das Jokerzeichen vor die Dateiendung, um den Befehl auf alle PDF-Dateien anzuwenden. Um alle Dateien dieser Art zu löschen, genügt also ein "rm *.pdf ".

Selbstverständlich lassen sich auch beim Befehl "rm" Wildcards an jeder beliebigen Stelle platzieren, um die Auswahl der zu löschenden Dateien einzuschränken oder zu erweitern. Sollen alle PDF-Dateien, beginnend mit der Jahreszahl 2020, gelöscht werden, lautet der Befehl: "rm 2020*.pdf " Ohne die Endung ".pdf" löscht das System alle Dateien, denen ein "2020" vorangestellt ist: "rm 2020*".

Beim Löschen von Ordnern inklusive der Unterordner ist eine zusätzliche Option erforderlich. Dazu fügt man einfach zwischen Befehl "rm" und Ordnername die Option "-r" ein: "rm -r Ordner ".

Für Benutzer, die auf Nummer sicher gehen wollen, empfiehlt es sich, bei jedem Befehl die Option "-i " einzubauen. Sie fügt vor Ausführen des Löschbefehls eine Rückfrage ein, ob dieser Ordner wirklich gelöscht werden soll. So lassen sich falsch eingegebene Befehle noch korrigieren.

Die Funktion zum automatischen Vervollständigen erspart Tipparbeit

Die Eingabe längerer Datei- und Ordnernamen ist jedoch mühevoll und eine Fehlerquelle. Wenn es lediglich darum geht, Dateien von einem Ort zum anderen zu verschieben, wirkt der Weg über den Finder auf den ersten Blick effektiver.

Bei längeren Befehlen kommt jedoch die sogenannte Autovervollständigung zum Tragen. Sie funktioniert ähnlich wie die Vervollständigung von Suchbegriffen bei der Google-Suche.

Oft genügt es, nur den Anfang eines Kommandozeilenbefehls einzugeben. Betätigt man daraufhin die Tabulatortaste, wird der Befehl automatisch vervollständigt. Ist der Befehl nicht eindeutig genug, weil es mehrere Alternativen gibt, die mit demselben Buchstaben beginnen, werden diese Alternativen neben- und untereinander dargestellt und man kann die passende wählen.

Die Autovervollständigung funktioniert nicht nur bei Befehlen, sondern auch bei Dateien und Ordnern. Befindet man sich im Benutzerordner, führt der Befehl "cd Doc<Tabulator>" zu "cd Documents/" leitet also automatisch in den Dokumentenordner.

Schneller Check von Datei- und Ordnergrößen

Will man einen kurzen Überblick gewinnen, wie groß eine Datei oder ein Ordner ist, bietet sich der Befehl "du" an. Hängt man ihm die Optionen  "-s" und "-h" an, so stellt er die Größe von Dateien in einer leicht lesbaren Art und Weise dar.

Auch bei diesem Befehl bietet sich der Gebrauch von Wildcards an. Während "du -sh test.txt" die Größe der Datei mit dem Namen "test.txt" anzeigt, erweitert ein Zeichen (also ein "du -sh*") den Befehl auf alle Dateien im aktuellen Arbeitsordner. Es folgt also eine Liste mit den Dateigrößen aller Dateien und Ordner, die sich in diesem Ordner befinden. Dies geht deutlich schneller als über den Finder.

Über Manpages weitere Informationen finden

Die bisher vorgestellten Befehle bieten nur einen oberflächlichen Eindruck von dem, was mit der Kommandozeile möglich ist. Nicht nur gibt es mehrere tausend Befehle auf dem Mac – auch die Optionen zu den einzelnen Befehlen sind wesentlich zahlreicher, als es dieser Artikel darzustellen vermag.

Um tiefer in die Materie einzusteigen, empfiehlt sich eine Suche im Internet. Doch auch in der Kommandozeile selbst findet man Hilfe. Nahezu jedes Programm liefert eine sogenannte Manpage mit. Eine Manpage ist eine Art Hilfe für einen Befehl. Sie liefert einen kurzen Überblick über die Funktion eines Befehls und listet alle verfügbaren Optionen für diesen Befehl auf. Die Manpage zu einem Befehl erreicht man durch das Kommando "man", gefolgt vom Namen des gewünschten Befehls. So ruft etwa "man mv" die Manpage zum Befehl "mv" auf. Die Navigation innerhalb der Manpages erfolgt mithilfe der Pfeiltasten. Verlassen kann man die Ansicht einer Manpage über die Taste "q".

Anzeigen der Hilfe zu einem Befehl im Terminal
Vergrößern Anzeigen der Hilfe zu einem Befehl im Terminal

Terminal erweitern und mit Zusatztools verbessern

Mit dem kostenlosen Konverter FFmpeg können Mac-Anwender im Terminal Dateien konvertieren. Das Tool verfügt über einen großen Funktionsumfang, aber über keine grafische Oberfläche. FFMpeg verfügt über eine Vielzahl an Codecs, die beim Konvertieren verwendet werden können. Die Syntax für das Konvertieren ist:

 Ffmpeg -i <Ausgangsdatei und Format> <Zieldatei und Format>

Fehlersuche bei Netzwerkproblemen mit dem Terminal

Das Terminal kann auch dabei helfen Fehler zu finden, zum Beispiel wenn ein Mac nicht mehr korrekt im Netzwerk funktioniert. Geben Sie „ifconfig“ ein, sehen Sie alle Netzwerkverbindungen und die IP-Adresse des Macs. Mit dem Befehl „netstat -r“ erhalten Sie weitere Informationen, zum Beispiel das Gateway, über das der Rechner mit dem Internet verbunden ist sowie andere Rechner im Netzwerk.

Testen Sie mit „Ping <IP-Adresse>", ob Ihr Mac mit anderen Geräten im Netzwerk kommunizieren kann, auch mit dem Gateway. Mit dem Befehl „ping 8.8.8.8“ können Sie die DNS-Server von Google im Internet pingen. Die Routen im Netzwerk werden mit „netstat -r“ angezeigt. Den Bildschirm im Terminal leeren Sie übrigens mit „clear“, den Ping-Befehl unterbrechen Sie mit der Tastenkombination „ctrl+C “.

Mit „nslookup“ testen Sie, welcher DNS-Server verwendet wird. Dazu geben Sie zum Beispiel „nslookup www.macwelt.de“ ein. Anschließend sehen Sie die IP-Adresse des DNS-Servers sowie den aufgelösten Namen. Mit „exit“ verlassen Sie nslookup wieder.

Zur Fehlerbehebung bei der Namensauflösung kann es auch sinnvoll sein, den Zwischenspeicher für DNS-Abfragen in macOS zu löschen:

sudo killall -HUP mDNSResponder
Netzwerkprobleme in macOS im Terminal lösen
Vergrößern Netzwerkprobleme in macOS im Terminal lösen

Startsound wieder aktivieren

Apple hat standardmäßig bei macOS-Versionen vor Big Sur den Startsound deaktiviert, den ein Mac beim Hochfahren abspielt. Im Terminal lässt sich der Sound wieder aktivieren:

sudo nvram StartupMute=%00

Wer den Sound doch nicht mehr hören möchte und den ruhig starteten Mac in den letzten Jahren zu schätzen gelernt hat, kann ihn nun auch wieder deaktivieren:

sudo nvram StartupMute=%01

Sicherheit von macOS prüfen

Durch Sicherheitslücken in macOS kann es passieren, dass sich unbefugte Benutzer mit dem Root-Benutzer anmelden. Vor allem bei älteren macOS-Versionen gibt es mehr Lücken als bei aktuellen Systemen. Zwar stellt Apple Sicherheitsaktualisierungen bereit, aber nur für die aktuelle Systemversion und die beiden davor, Lücken in älteren Systemen könnten daher bestehen bleiben. Und nicht jedes Sicherheitsupdate installiert man auch sofort. Um sicher zu gehen, dass die notwendigen Sicherheitsaktualisierungen installiert sind, öffnen Sie ein Terminal-Fenster. Danach geben Sie den folgenden Befehl ein:

what /usr/libexec/opendirectoryd

Als Version sollte unter macOS Big Sur mindestens „opendirectory-796.60.1“ oder neuer erscheinen. Finden Sie hier noch eine ältere Version, sollten Sie das neueste Update des Betriebssystems installieren, am 2. Februar 2021 hatte Apple mit macOS 11.2 Big Sur zuletzt den Mac aktualisiert.

Datenträger im Terminal zu APFS konvertieren

Sie können Datenträger in macOS auch im Terminal zu APFS konvertieren. Dazu öffnen Sie das Terminal und geben zunächst „diskutil list“ ein. Hier sehen Sie alle angebundenen Laufwerke und das verwendete Dateisystem. Die Konvertierung starten Sie anschließend mit folgender Syntax:

diskutil apfs convert <Name der Disk>
Festplatten im Terminal verwalten
Vergrößern Festplatten im Terminal verwalten

Snapshots im Terminal erstellen

In aktuellen Versionen von macOS erstellt das Betriebssystem automatisch Sicherheitspunkte, sobald Sie ein Update installieren, das den Mac neu starten will. Die Technik funktioniert nur, wenn Sie APFS-Datenträger einsetzen. Im Wiederherstellungs-Modus (Recovery-Modus) von macOS können Sie Ihr System wiederherstellen, wenn bei einem Update etwas schiefgeht. Das Feature muss nicht aktiviert werden, es läuft automatisch. Im Terminal können Sie sich die Sicherungspunkte mit „tmutil listlocalsnapshots /“ anzeigen lassen.

Wollen Sie in macOS auf APFS-Laufwerken manuell Sicherungspunkte erstellen, rufen Sie ein Terminal auf und geben den Befehl „sudo tmutil snapshot“ ein. Um Fehler zu finden und die Technik zu überprüfen, verwenden Sie den Befehl „tmdiagnose“.

Energieeinstellungen und Akkus im Terminal überprüfen

Die Restlaufzeit des Akkus können Sie im Terminal mit dem Befehl „pmset -g batt“ abfragen. Den Ruhezustand für Festplatten können Sie ebenfalls im Terminal einstellen, Wollen Sie zum Beispiel die Wartezeit auf 60 Minuten einstellen, bis die Festplatte in den Ruhezustand versetzt wird, geben Sie folgenden Befehl ein:

sudo pmset disksleep 60

Manche Programme Probleme, wenn die Festplatte des Macs in den Ruhezustand versetzt wird, können Sie den Ruhezustand im Terminal mit dem folgenden Befehl deaktivieren:

sudo pmset disksleep 0

Die aktuellen Einstellungen für den Ruhezustand erfahren Sie mit "pmset -g". Den Ruhezustand finden Sie in der Zeile „disksleep “.

Stört es Sie, wenn der Mac beim Öffnen des Deckels aufwacht, können Sie mit dem  folgenden Befehl abschalten:

sudo pmset -a lidwake 0

Bootfähigen USB-Stick für macOS erstellen

Wer für Neuinstallationen von macOS sicherstellen will, dass keine Daten aus dem Internet heruntergeladen werden müssen, sondern die Installation lokal erfolgen soll, kann sich einen bootfähigen USB-Stick erstellen. Dazu wird beim Einsatz von macOS 11 (Big Sur) ein USB-Stick  mit mindestens 16 GB benötigt. Der USB-Stick sollte im Festplattendienstprogramm zunächst gelöscht werden. Als Format kann „Mac OS Extended (Journaled)“ und als Schema „GUID-Partitionstabelle“ verwendet werden. Als Name kann „USB“ verwendet werden. Der Name wird beim Erstellen des Sticks über das Terminal benötigt. Im Terminal werden danach die beiden folgenden Befehle eingegeben:

sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/Ohne\ Titel/ --nointeraction
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/USB/ --nointeraction

Nach der Eingabe des Kennworts wird noch der Name des USB-Sticks eingegeben. Startet der Mac mit dem USB-Stick, kann von diesem aus macOS installiert werden.

Standard-Einstellungen des Systems im Terminal ändern: defaults

macOS-Programme und Anwendungen von Dritten verwenden das „defaults“-System in macOS, um Benutzereinstellungen und andere Informationen zu speichern. Mit „defaults“ können Standardanpassungen in macOS geändert werden. Ein Beispiel ist das Ändern des Screenshot-formats von „png“ zu jpg:

defaults write com.apple.screencapture type -string jpg

Um wieder PNG zu aktivieren, verwenden Sie:

defaults write com.apple.screencapture type -string png

Der aktuell eingestellte Wert kann mit „defaults“ ebenfalls angezeigt werden:

defaults read com.apple.screencapture type

Eine Liste aller "defaults", die Sie umstellen können, finden Sie auf der Webseite des Projektes „ macOS defaults “.

Arbeitsspeicher im Terminal freigeben

Wenn in der aktuellen Sitzung in macOS der Arbeitsspeicher knapp wird, weil zu viele Programme geöffnet waren, können Sie mit „sudo purge“ Arbeitsspeicher freigeben. Sichern Sie aber bitte zuvor alle Dokumente, die Sie geöffnet haben, damit nicht versehentlich Daten verloren gehen. Mit dem Befehl können Sie ruckelnde Macs oft zeitweise beschleunigen.

Versteckte Dateien im Finder anzeigen

Standardmäßig blendet der Finder verschiedene Dateien aus, die im normalen Betrieb nicht benötigt werden. Wollen Sie die Dateien anzeigen, geben Sie im Terminal die beiden folgenden Befehle ein. Dabei werden die versteckten Dateien aktiviert und der Finder neu gestartet:

defaults write com.apple.finder AppleShowAllFiles -bool TRUE
killall Finder

SSH-Verbindungen in macOS nutzen

Über das Terminal können in macOS auch SSH-Verbindungen zu anderen Computern aufgebaut werden. Dazu geben Sie im Terminal den Befehl „ssh <Benutzername@><IP-Adresse>“ ein. Natürlich muss auf dem entsprechenden Computer SSH aktiviert sein.

Verzeichnisse oder Dateien im Terminal mit Zip archivieren

Im Terminal können Sie mit „zip“ ein ZIP-Archiv einer Datei oder eines Verzeichnisses erstellen. Wechseln Sie mit „cd“ in das Verzeichnis, in dem die Datei liegt. Geben Sie danach den folgenden Befehl ein:

zip -er <Name der Datei oder des Verzeichnisses>

Autoboot deaktivieren

Wollen Sie verhindern, dass ein Mac automatisch startet, wenn der Deckel geöffnet wird, können Sie im Terminal mit dem folgenden Befehl den Autoboot verhindern. Achtung, dies gilt allerdings nur für Intel-Macs.

sudo nvram AutoBoot=%00

Sie können die Funktion im Terminal auch wieder aktivieren:

sudo nvram AutoBoot=%03

Macwelt Marktplatz

1040177