Terminal in MacOS nutzen – Kommandozeile

Philipp Klein, Thomas Joos |
In Zeiten von macOS wirkt das Programm Terminal mit seiner Kommandozeile hochgradig anachronistisch. Warum auf kryptische Befehle zurückgreifen, wenn die Maus die Arbeit erledigen kann? Unser Ratgeber zeigt, was das Terminal alles kann.
image description

Das Terminal bietet eine Vielzahl an Funktionen.

2015

Oft erledigen Kommandozeilenbefehle viele komplexe Aufgaben schneller und gründlicher als das manuelle Vorgehen mit dem Mauszeiger. Nach dem Start des Terminals im Launchpad öffnet sich eine Eingabezeile mit weißem Hintergrund. 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?

image description

Das Terminal in macOS

Für bestimmte Befehle im Terminal ist es nötig, Administrator-Rechte zu besitzen. So wechseln Sie in den Admin-Modus. Arbeitet man aus Sicherheitsgründen mit einem Benutzerkonto ohne Verwaltungsrechte, kann man im Terminal keinen Befehl verwenden, der mit „sudo“ beginnt, da diese Befehle nur Administratoren zugänglich sind. Man muss sich darum zuerst als Administrator am System anmelden.

Man kann sich direkt im Terminal als Administrator anmelden. Dazu tippt man „login“ ein (ohne Anführungszeichen), gefolgt von einem Leerzeichen und dem Kurznahmen des Administrators. Nun drückt man die Zeilenschaltung, tippt das Administratorpasswort ein und drückt nochmals die Zeilenschaltung. Um sich wieder abzumelden, tippt man „logout“ ein (ebenfalls ohne Anführungszeichen).

Einstieg in das Terminal

Apple MacBook Retina (2017) 12,0" i5 1,3GHz 8GB RAM 512GB SSD Roségold

Die ersten Wörter dürften jedem bekannt vorkommen: Sie bezeichnen den Namen, der dem Mac bei der Installation von macOS gegeben wurde. Ist kein eigener Name vergeben, taucht dort eine Mischung aus Benutzer- und Gerätenamen auf. Es folgt ein Doppelpunkt mit einer Tilde (~), der wiederum vom eigenen Benutzernamen gefolgt wird. An letzter Stelle steht ein Dollarzeichen, hinter dem der Cursor auf Eingaben wartet. Die meisten der Angaben sind selbsterklärend, doch was hat es mit der Tilde auf sich?

Lesetipp: So finden Sie alle Sonderzeichen auf dem Mac

Die TIlde (~) ist ein Platzhalter für den Pfad des aktuellen Ordners . Öffnet man das Terminal, so befindet man sich automatisch im eigenen Benutzerordner. Ähnlich wie im Finder kann man frei zwischen verschiedenen Ordnern wechseln, um in diesen zu arbeiten. Die Tilde gilt hier als Kürzel für den eigenen Benutzerordner. Wechselt man in den eigenen Musikordner, 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".

Die Befehle, um innerhalb der Ordner zu navigieren, folgen alle dem gleichen Konzept: Dem jeweiligen Befehl und einer angehängten Option. Diese Option kann ein Ordner- oder ein Dateiname sein. Nachfolgend eine kurze Auflistung der wichtigsten Befehle:

Möchte man nun aus dem Benutzerordner in den oben genannten Musikordner wechseln, geschieht das über den Befehl " cd ". Als Option wird diesem der Ordnername mitgegeben, in den gewechselt werden soll: " cd Music ".

image description

Verwenden von Befehlen im Terminal

Nun erscheint, hinter der Tilde angehängt, der Ordnername: Music. Dadurch weiß man zu jedem Zeitpunkt, in welchem Ordner man sich befindet. 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 sollte man sich unbedingt vergewissern, dass ein Befehl korrekt geschrieben ist, bevor man ihn absendet.

Wie bereits eingangs erwähnt, funktionieren die meisten der Kommandozeilenbefehle nach einem ähnlichen Konzept. Gefahrlos ausprobieren kann man 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. Das kann man ausprobieren, indem man mit " cd Documents " in den Ordner "Dokumente" im Benutzerordner wechselt. Selbstverständlich kann man auch jeden beliebigen anderen Ordner wählen, auch Groß- und Kleinschreibung braucht man dabei nicht zu achten. Anschließend wird mit " ls " (ohne weitere Optionen) der Inhalt im aktuellen Arbeitsordner dargestellt.

Mit einer Option zum Befehl " ls " kann man 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. So muss beim Verschieben oder Kopieren von Dateien sowohl der Name der Ursprungsdatei als auch der Zieldatei angegeben werden. Die Datei "liste.txt" wird daher mit folgendem Befehl aus dem aktuellen Arbeitsordner in den Ordner "Documents" verschoben: " mv liste.txt Documents ".

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, kann man 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 2018* Sommerurlaub " sortiert Dateien jeglichen Dateityps, deren Name mit 2018 beginnt, in den Ordner "Sommerurlaub".

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

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 2018, gelöscht werden, lautet der Befehl: " rm 2018*.pdf " Ohne die Endung ".pdf" löscht das System alle Dateien, denen ein "2018" vorangestellt ist: " rm 2018* ".

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 so genannte 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 ist 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, wie so oft, das Internet. Doch auch in der Kommandozeile selbst findet man Hilfe. Nahezu jedes Programm liefert eine so genannte 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 mit Hilfe der Pfeiltasten. Verlassen kann man die Ansicht einer Manpage über die Taste " q ".

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> 

Beispiel

 Ffmpeg -i film.mp4 film.a 
image description

Das Terminal kann mit Zusatztools erweitert werden.

Microsoft bietet parallel zur Standard-Version der PowerShell für Windows auch eine Core-Version an. Diese wird als Opensource-Version zur Verfügung gestellt. Die Core-Version können Sie auch auf Rechnern mit macOS installieren. Sie haben dadurch den Vorteil, mit der PowerShell auch den Mac zu verwalten, oder über das Netzwerk Windows-Rechner oder andere Rechner, mit denen eine Verbindung über SSH möglich ist.

Für die Installation ist Homebrew notwendig. Danach kann die PowerShell über die Anleitungen auf Github installiert werden .

Nach der Installation starten Sie die Powershell im Terminal mit „ pwsh “. Mit dem Befehl “ Get-Command ” zeigt die PowerShell Core alle Befehle, welche die Shell zur Verfügung stellt.

image description

In der PowerShell stehen verschiedene CMDlets zur Verwaltung des eigenen Macs, aber auch für Rechner mit macOS, Linux und Windows im Netzwerk zur Verfügung.

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.

image description

Im Terminal können Sie auch Netzwerkproblemen auf den Grund gehen.

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.

Sicherheit von macOS 10.13 prüfen

Durch Sicherheitslücken in macOS 10.13 kann es passieren, dass unbefugte Benutzer sich problemlos mit dem Root-Benutzer anmelden. Zwar hat Apple eine Sicherheitsaktualisierung bereitgestellt, die aber nicht immer installiert wird. Um sicherzustellen, dass die notwendigen Sicherheitsaktualisierungen installiert sind, müssen Sie ein Terminal-Fenster öffnen. Danach geben Sie den folgenden Befehl ein:

what /usr/libexec/opendirectoryd

Als Version sollte mindestens „ opendirectory-483.20.7 “ oder neuer erscheinen. Nutzen Sie hier noch eine ältere Version, sollten Sie das neueste Update des Betriebssystems installieren.

image description

Version Im Terminal können Sie die Version des internen Apple-Verzeichnisses für die Authentifizierung anzeigen.

Gatekeeper ist die Funktion in macOS, die den Mac vor gefährlichen Programmen aus dem Internet schützt und deren Installation verhindern soll. Die Sicherheitseinstellungen lassen sich für geübte Anwender im Terminal abschalten. Dazu wird folgender Befehl verwendet: "sudo spctl --master-disable" . Als Kennwort müssen Sie das Kennwort des Administrators eingeben. Umgekehrt können Sie die Einstellung im Terminal auch wieder verbergen. Dazu verwenden Sie den Befehl:

sudo spctl --master-enable

Zu High Sierra aktualisieren, ohne zu APFS zu konvertieren

In der grafischen Oberfläche ist es nicht möglich, die Aktualisierung zu High Sierra durchzuführen, ohne auch die SSDs automatisch zu konvertieren. Wer die Aktualisierung ohne eine Konvertierung zu APFS durchführen will, muss die Aktualisierung im Terminal durchführen. Dazu wird das Commandline-Tool „ starttoinstall “ verwendet. Das Tool gehört zu den Installationsdateien von macOS 10.13. Das Tool befindet sich im Unterverzeichnis der Installationsdateien von macOS.

Die Befehle dazu sind:

cd /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources
 ./startosinstall --volume / --applicationpath='/Applications/Install\ macOS\ High\ Sierra.app' --nointeraction --converttoapfs NO

Alternativ starten Sie den Befehl:

/Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --agreetolicense --converttoapfs NO –nointeraction

Damit die Befehle funktionieren, muss High Sierra zunächst aus dem App-Store heruntergeladen werden. Außerdem müssen sich die Installationsdateien im Verzeichnis „Applications“ befinden.

Datenträger im Terminal zu APFS konvertieren

Sie können Datenträger in macOS 10.13 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.

image description

Im Terminal können Sie Datenträger ebenfalls konvertieren und auch das Dateisystem auslesen.

Die Konvertierung starten Sie anschließend mit folgender Syntax:

diskutil apfs convert <Name der Disk>

Snapshots  im Terminal erstellen

Sobald Sie macOS 10.13 (High Sierra) installiert haben, und Ihre SSDs zu APFS konvertiert wurden, erstellt macOS 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 schief geht. Das Feature muss nicht aktiviert werden, es läuft automatisch, sobald Sie zu High Sierra aktualisieren und die Datenträger zu APFS konvertieren lassen. Im Terminal können Sie sich die Sicherungspunkte mit „ tmutil listlocalsnapshots / “ anzeigen lassen.

Wollen Sie in macOS 10.13 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 auch den 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 “.

image description

Im Terminal können Sie Informationen zu den Energieoptionen abrufen, aber auch steuern.

Fazit

Aller Anfang ist schwer – dies gilt auch für den Umgang mit der Kommandozeile. Doch wer sich an das Konzept gewöhnt, spart sich viele Mauswege.