Zum Hauptinhalt wechseln

[summary]MacOS ist ein auf Unix basierendes Betriebssystem. Daher können Nutzer Unix-Befehle über die Terminal-Anwendung von MacOS verwenden.[\summary]

Grundlagen

BefehlAktion
/Hauptverzeichnis (Root)
.Aktuelles Verzeichnis
..Übergeordnetes Verzeichnis
~Benutzerverzeichnis (Home)
sudo [jeder Befehl]Befehl mit den Sicherheitsrechten eines Superusers ausführen
nano [Datei]Öffnet den Terminal-Editor
open [Datei]Öffnet eine Datei
[Befehl] -hHilfe zu einem Befehl anzeigen
man [Befehl]Hilfshandbuch für einen Befehl anzeigen

Tastenkombinationen

BefehlAktion
TabDatei- und Ordnernamen automatisch vervollständigen
Ctrl + AZum Anfang der aktuellen Zeile springen
Ctrl + EZum Ende der aktuellen Zeile springen
Ctrl + UZeile vor dem Cursor löschen
Ctrl + KZeile nach dem Cursor löschen
Ctrl + WWort vor dem Cursor löschen
Ctrl + TDie letzten beiden Zeichen vor dem Cursor vertauschen
Esc + TDie letzten beiden Wörter vor dem Cursor vertauschen
Ctrl + LBildschirm löschen
Ctrl + CLaufendes Unix-Programm beenden
Ctrl + DAktuelle Shell verlassen
Option + RechtspfeilCursor ein Wort vorwärts bewegen
Option + LinkspfeilCursor ein Wort rückwärts bewegen
Ctrl + FCursor ein Zeichen vorwärts bewegen
Ctrl + BCursor ein Zeichen rückwärts bewegen
Ctrl + YEinfügen, was durch den vorherigen Befehl ausgeschnitten wurde
Ctrl + ZLaufenden Prozess in einen angehaltenen Hintergrundprozess umwandeln
Ctrl + _Letzten Befehl rückgängig machen
Option + Shift + Cmd + CNur-Text kopieren
Shift + Cmd + VAuswahl einfügen
exitShell-Sitzung beenden

Verzeichnis wechseln

BefehlAktion
cdBenutzerverzeichnis
cd [Ordner]Verzeichnis wechseln, z. B. cd Documents
cd ~Benutzerverzeichnis
cd/Laufwerk-Hauptverzeichnis
cd -Vorheriges Verzeichnis oder Ordner, in dem du zuletzt warst
pwdAktuelles Verzeichnis anzeigen
cd ..Ein Verzeichnis nach oben wechseln
cd../../Zwei Ebenen nach oben wechseln

Verzeichnisinhalt auflisten

BefehlAktion
lsNamen von Dateien und Unterverzeichnissen im Verzeichnis anzeigen
ls -CMehrspaltige Ausgabe der Liste erzwingen
ls -aAlle Einträge auflisten, einschließlich der mit . und ..
ls -1Liste der Dateien in einem Format mit einem Eintrag pro Zeile ausgeben
ls -FEin / hinter jedem Pfad anzeigen, der ein Verzeichnis ist, * hinter ausführbaren Programmen oder Skripten und @ hinter einem symbolischen Link
ls -SDateien oder Einträge nach Größe sortieren
ls -lAuflistung im Langformat. Beinhaltet Dateimodus, Eigentümer- und Gruppennamen, Datum und Uhrzeit der letzten Änderung, Pfadname und mehr
ls -l /Auflistung des Dateisystems ab der Wurzel mit symbolischen Links
ls -ltDateien nach Änderungsdatum sortiert auflisten (neueste zuerst)
ls -lhLange Auflistung mit menschenlesbaren Dateigrößen in KB, MB oder GB
ls -loDateinamen mit Größe, Eigentümer und Flags auflisten
ls -laDetaillierten Verzeichnisinhalt auflisten, einschließlich versteckter Dateien

Dateigröße und Speicherplatz

BefehlAktion
duSpeicherplatznutzung für jedes Unterverzeichnis und dessen Inhalt auflisten
du -sh [Ordner]Menschenlesbare Ausgabe aller Dateien in einem Verzeichnis
du -sEintrag für jede angegebene Datei anzeigen
df -hFreien Speicherplatz des Systems berechnen
df -HFreien Speicherplatz in Potenzen von 1.000 berechnen

Datei- und Verzeichnisverwaltung

BefehlAktion
mkdir <Verz>Neuen Ordner namens <Verz> erstellen
mkdir -p <Verz>/<Verz>Verschachtelte Ordner erstellen
mkdir <Verz1> <Verz2> <Verz3>Mehrere Ordner gleichzeitig erstellen
mkdir "<Verz>"Ordner mit Leerzeichen im Dateinamen erstellen
rmdir <Verz>Ordner löschen (funktioniert nur bei leeren Ordnern)
rm -R <Verz>Ordner und dessen Inhalt löschen
touch <Datei>Neue Datei ohne Erweiterung erstellen
cp <Datei> <Verz>Datei in den Ordner kopieren
cp <Datei> <neueDatei>Datei in den aktuellen Ordner kopieren
cp <Datei>~/<Verz>/<neueDatei>Datei in den Ordner kopieren und die kopierte Datei umbenennen
cp -R <Verz> <"neues Verz">Ordner in einen neuen Ordner mit Leerzeichen im Namen kopieren
cp -i <Datei><Verz>Fragt vor dem Kopieren mit einer Warnmeldung zum Überschreiben nach
cp <Datei1> <Datei2> <Datei3>/Users/<Verz>Mehrere Dateien in einen Ordner kopieren
ditto -V [Ordnerpfad][neuerOrdner]Inhalt eines Ordners in einen neuen Ordner kopieren. "-V" gibt für jede kopierte Datei eine Statuszeile aus
rm <Datei>Datei löschen (Dies löscht die Datei dauerhaft; mit Vorsicht verwenden.)
rm -i <Datei>Datei nur nach Bestätigung löschen
rm -f <Datei>Erzwingt das Löschen ohne Bestätigung
rm <Datei1> <Datei2> <Datei3>Mehrere Dateien ohne Bestätigung löschen
mv <Datei> <neuerDateiname>Verschieben/Umbenennen
mv <Datei> <Verz>Datei in den Ordner verschieben (überschreibt möglicherweise eine bestehende Datei)
mv -i <Datei> <Verz>Optionale -i-Flag zur Warnung vor dem Überschreiben der Datei
mv *.png ~/<Verz>Alle PNG-Dateien vom aktuellen Ordner in einen anderen Ordner verschieben

Befehlshistorie

BefehlAktion
Ctrl + RVorher verwendete Befehle durchsuchen
history nZeigt die zuvor eingegebenen Befehle an. Füge eine Zahl hinzu, um die Liste auf die letzten n Elemente zu begrenzen
![Wert]Den letzten Befehl ausführen, der mit einem bestimmten Wert beginnt
!!Den letzten Befehl erneut ausführen

Berechtigungen

BefehlAktion
ls -ldStandardberechtigung für das Benutzerverzeichnis anzeigen
ls -ld/<Verz>Lese-, Schreib- und Zugriffsberechtigung eines bestimmten Ordners anzeigen
chmod 755 <Datei>Berechtigung einer Datei auf 755 ändern
chmod -R 600 <Verz>Berechtigung eines Ordners (und dessen Inhalts) auf 600 ändern
chown <Nutzer>:<Gruppe> <Datei>Eigentümerschaft einer Datei auf Nutzer und Gruppe ändern. Füge -R hinzu, um den Ordnerinhalt einzuschließen

Prozesse

BefehlAktion
ps -axAktuell laufende Prozesse ausgeben. Hier zeigt 'a' Prozesse aller Nutzer und 'x' Prozesse, die nicht mit dem Terminal verbunden sind
ps -auxZeigt alle Prozesse mit %CPU, %RAM, Page-in, PID und Befehl
topLive-Informationen über laufende Prozesse anzeigen
top -ocpu -s 5Prozesse nach CPU-Auslastung sortiert anzeigen, Aktualisierung alle 5 Sekunden
top -o rsizeTop nach Speicherauslastung sortieren
kill PIDProzess mit ID <PID> beenden. Die PID findest du als Spalte in der Aktivitätsanzeige

Netzwerk

BefehlAktion
ping <Host>Host anpingen und Status anzeigen
whois <Domain>Whois-Informationen für eine Domain ausgeben
curl -O <URL/zu/Datei>Datei via HTTP, HTTPS oder FTP herunterladen
ssh <Nutzername>@<Host>SSH-Verbindung zu <Host> mit Nutzer <Nutzername> herstellen
scp <Datei><Nutzer>@<Host>:/entfernter/PfadDatei zu einem entfernten <Host> kopieren
arp -aListe aller Geräte im lokalen Netzwerk anzeigen. Zeigt die IP-Adresse und MAC-Adresse aller Geräte
ifconfig en0IP-Adresse und MAC-Adresse des Geräts anzeigen
traceroute [Hostname]Pfad und Hops identifizieren, die die Pakete vom Gerät zur Zieladresse durchlaufen

Homebrew

BefehlAktion
brew doctorHomebrew auf potenzielle Probleme prüfen
brew helpListe nützlicher Homebrew-Formel- und Cask-Befehle
brew list --formulaNur installierte Formeln auflisten
brew list --caskNur installierte Casks auflisten
brew outdated --formulaNach veralteten Formeln suchen
brew outdated --caskNach veralteten Casks suchen
brew pin [installierte_Formel]Formel vor dem Upgrade sperren
brew unpin [installierte_Formel]Sperre aufheben, um ein Paket zu aktualisieren
brew cleanupVeraltete Sperrdateien und Pakete für alle Formeln und Casks entfernen

Umgebungsvariable oder Pfad

BefehlAktion
printenvListe aktuell gesetzter Umgebungsvariablen anzeigen. Zeigt auch, welche Shell du verwendest
$echoBefiehlt dem Terminal, etwas zu drucken und es dir anzuzeigen
echo $PATHWert der PATH-Variable prüfen, die eine Liste von Verzeichnissen mit ausführbaren Dateien speichert
echo $PATH >path.txtPfadverzeichnis in eine Textdatei exportieren
export PATH=$PATH:absoluter/Pfad zu/Programm/Programm via Terminal nur in der aktuellen Sitzung ausführen

Suche

BefehlAktion
find <Verz> -name <"Datei">Alle Dateien namens <Datei> innerhalb von <Verz> finden. Verwende Platzhalter (*) für Teile von Dateinamen
grep "<Text>" <Datei>Alle Vorkommen von <Text> innerhalb von <Datei> ausgeben (füge -i für Groß-/Kleinschreibung-Ignoranz hinzu)
grep -rl "<Text>" <Verz>Nach allen Dateien suchen, die <Text> innerhalb von <Verz> enthalten

Ausgabe

BefehlAktion
cat <Datei>Inhalt der <Datei> ausgeben
less <Datei>Inhalt der <Datei> mit dem 'less'-Befehl ausgeben, der Paginierung und mehr unterstützt
head <Datei>Erste 10 Zeilen der <Datei> ausgeben
<Befehl> >> <Datei>Ausgabe des <Befehl> an <Datei> anhängen
<Befehl> > <Datei>Ausgabe des <Befehl> in <Datei> leiten

Jacob Mehnert

Mitglied seit: 10/18/21

49.816 Reputation

52 Anleitungen geschrieben

Team

iFanatics Mitglied von iFanatics

Community

69 Mitglieder

1.151 Anleitungen geschrieben

0 Kommentare

Kommentar hinzufügen

Seitenaufrufe:

Letzte 24 Stunden: 32

Letzte 7 Tage: 130

Letzte 30 Tage: 500

Insgesamt: 15,484