Auflisten
ls
Listet Dateien im aktuellen Verzeichnis
ls -la
Zeigt alle Dateien inkl. versteckter mit Details
ls -lh
Liste mit lesbaren Dateigrößen (KB, MB, GB)
Erstellen
mkdir ordnername
Erstellt einen neuen Ordner
mkdir -p pfad/zu/ordner
Erstellt Ordner inkl. Elternverzeichnisse
touch dateiname.txt
Erstellt eine leere Datei oder aktualisiert Zeitstempel
Kopieren & Verschieben
cp quelle ziel
Kopiert eine Datei
cp -r ordner ziel
Kopiert einen Ordner rekursiv
mv quelle ziel
Verschiebt oder benennt Dateien/Ordner um
Löschen
rm dateiname
Löscht eine Datei
rm -rf ordnername
Löscht Ordner rekursiv ohne Nachfrage (Vorsicht!)
rmdir ordnername
Löscht einen leeren Ordner
Suchen
find . -name '*.txt'
Findet alle .txt Dateien im aktuellen Verzeichnis
grep -r 'suchtext' .
Sucht Text in allen Dateien rekursiv
Anzeigen
cat dateiname
Zeigt den Inhalt einer Datei an
head -n 20 dateiname
Zeigt die ersten 20 Zeilen einer Datei
tail -f logfile.log
Zeigt das Ende einer Datei und folgt Änderungen
less dateiname
Datei seitenweise anzeigen (q zum Beenden, / zum Suchen)
wc -l dateiname
Zählt Zeilen (-l), Wörter (-w) oder Zeichen (-c)
Datei-Informationen
file dateiname
Erkennt und zeigt den Dateityp (Text, Binary, Image, etc.)
stat dateiname
Zeigt detaillierte Datei-Informationen (Größe, Rechte, Zeiten)
Textverarbeitung
sed 's/alt/neu/g' datei
Ersetzt Text in Datei (g = alle Vorkommen)
sed -i 's/alt/neu/g' datei
Ersetzt direkt in der Datei (-i = in-place)
awk '{print $1}' datei
Gibt erste Spalte jeder Zeile aus ($2 = zweite, etc.)
awk -F':' '{print $1}' /etc/passwd
Verwendet ':' als Feld-Trenner (zeigt alle Benutzernamen)
sort datei
Sortiert Zeilen alphabetisch
sort -rn datei
Sortiert numerisch (-n) absteigend (-r)
sort -u datei
Sortiert und entfernt Duplikate (-u = unique)
cut -d',' -f1,3 datei.csv
Extrahiert Spalten 1 und 3 aus CSV (Trenner: Komma)
cut -c1-10 datei
Extrahiert Zeichen 1-10 jeder Zeile
diff datei1 datei2
Zeigt Unterschiede zwischen zwei Dateien
diff -y datei1 datei2
Zeigt Unterschiede nebeneinander (side-by-side)
command | tee ausgabe.log
Schreibt Ausgabe in Datei UND zeigt sie im Terminal
command | tee -a ausgabe.log
Hängt Ausgabe an bestehende Datei an (-a = append)
Links (Verknüpfungen)
ln -s /original/pfad linkname
Erstellt symbolischen Link (Verknüpfung)
ln original hardlink
Erstellt Hard-Link (gleicher Datei-Inode)
readlink -f linkname
Zeigt den tatsächlichen Pfad eines Symlinks
Aliase (Befehls-Abkürzungen)
alias ll='ls -la'
Erstellt Alias: ll führt ls -la aus (nur diese Session)
alias
Zeigt alle definierten Aliase an
unalias ll
Entfernt einen Alias
Editieren
nano dateiname
Einfacher Texteditor (Ctrl+O speichern, Ctrl+X beenden)
vim dateiname
Vim-Editor (i=Insert, Esc :wq=speichern+beenden, :q!=beenden)
code .
Öffnet aktuellen Ordner in VS Code
Erweiterte Suche
find . -type f -name '*.log'
Findet nur Dateien (-type f) oder Ordner (-type d)
find . -size +100M
Findet Dateien größer als 100MB (+100M) oder kleiner (-100M)
which python
Zeigt den Pfad eines Programms/Befehls
tree -L 2
Zeigt Verzeichnisstruktur als Baum (max. 2 Ebenen)
Prozesse & Ports
ps aux
Zeigt alle laufenden Prozesse mit Details
ps aux | grep node
Sucht nach bestimmten Prozessen (z.B. node)
top
Live-Ansicht der Prozesse und Systemauslastung (q zum Beenden)
kill -9 PID
Beendet Prozess mit ID erzwungen (-9 = SIGKILL)
pkill -f 'node server'
Beendet alle Prozesse die dem Muster entsprechen
lsof -i :8080
Zeigt welcher Prozess Port 8080 verwendet
ss -tulpn
Zeigt alle offenen Ports und zugehörige Prozesse
Speicherverwaltung
df -h
Zeigt freien Speicherplatz aller Laufwerke (human-readable)
du -sh *
Zeigt Größe aller Ordner/Dateien im aktuellen Verzeichnis
du -sh * | sort -rh | head -10
Top 10 größte Ordner/Dateien sortiert
free -h
Zeigt RAM-Nutzung und Swap (human-readable)
Netzwerk
ping -c 4 google.com
Prüft Erreichbarkeit eines Hosts (4 Pakete)
curl -O https://example.com/file.zip
Lädt Datei von URL herunter (-O behält Dateinamen)
wget -c https://example.com/file.zip
Download mit Resume-Support (-c = continue)
ssh user@server.com
Verbindet per SSH zu einem Remote-Server
scp file.txt user@server:/pfad/
Kopiert Datei per SSH zu Remote-Server
ifconfig | grep 'inet '
Zeigt lokale IP-Adressen
ip addr show
Zeigt Netzwerk-Interfaces und IP-Adressen
Rechte & Ausführen
chmod +x script.sh
Macht eine Datei ausführbar
chmod 755 datei
Setzt Rechte: Owner rwx (7), Group/Other rx (5)
chmod -R 644 ordner/
Setzt Rechte rekursiv für alle Dateien im Ordner
chown user:group datei
Ändert Besitzer und Gruppe einer Datei
sudo befehl
Führt Befehl als Administrator/root aus
./script.sh
Führt ein lokales Script aus
Paketmanager
brew install paketname
Installiert ein Paket mit Homebrew
brew update && brew upgrade
Aktualisiert Homebrew und alle Pakete
brew search suchbegriff
Sucht nach verfügbaren Paketen
brew list
Zeigt alle installierten Pakete
sudo apt install paketname
Installiert Paket (Debian/Ubuntu)
sudo apt update && sudo apt upgrade
Aktualisiert Paketlisten und alle Pakete
apt search suchbegriff
Sucht nach verfügbaren Paketen
sudo dnf install paketname
Installiert Paket (Fedora/RHEL/CentOS)
sudo dnf upgrade
Aktualisiert alle Pakete (Fedora/RHEL)
dnf search suchbegriff
Sucht nach Paketen (Fedora/RHEL)
System Updates
softwareupdate -l
Listet verfügbare macOS System-Updates
sudo softwareupdate -ia
Installiert alle verfügbaren Updates
sudo apt full-upgrade
Vollständiges System-Upgrade inkl. Kernel
sudo apt autoremove
Entfernt nicht mehr benötigte Pakete
uname -a
Zeigt System- und Kernel-Informationen
Shutdown & Reboot
sudo shutdown -h now
Fährt das System sofort herunter
sudo shutdown -h +30
Fährt in 30 Minuten herunter
sudo reboot
Startet das System sofort neu
sudo systemsetup -setrestartfreeze on
Automatischer Neustart bei System-Freeze aktivieren
Erweiterte Prozessverwaltung
htop
Interaktiver Prozess-Monitor mit Farben (F10 beenden)
killall firefox
Beendet alle Prozesse mit diesem Namen
Benutzerverwaltung
sudo adduser username
Erstellt neuen Benutzer mit Home-Verzeichnis
sudo sysadminctl -addUser username
Erstellt neuen Benutzer auf macOS
passwd
Ändert das eigene Passwort
whoami
Zeigt den aktuellen Benutzernamen
Dateitransfer
sftp user@server.com
Sichere FTP-Verbindung über SSH (put/get für Transfer)
ftp server.com
Klassische FTP-Verbindung (unsicher, besser SFTP nutzen)
scp -r ordner/ user@server:/pfad/
Kopiert ganzen Ordner rekursiv per SSH
scp user@server:/pfad/datei.txt .
Lädt Datei von Server ins aktuelle Verzeichnis
Netzwerk-Freigaben (Samba)
sudo mount -t cifs //server/share /mnt/share -o user=username
Mountet Windows/Samba-Freigabe
open smb://server/share
Öffnet SMB/Samba-Freigabe im Finder
smbclient -L //server -U username
Listet verfügbare Freigaben auf Server
Archive
unzip archiv.zip
Entpackt ZIP-Archiv ins aktuelle Verzeichnis
unzip archiv.zip -d /ziel/ordner
Entpackt in bestimmten Zielordner
zip -r archiv.zip ordner/
Erstellt ZIP-Archiv aus Ordner
tar -xzf archiv.tar.gz
Entpackt tar.gz Archiv
Netzwerk-Diagnose
whois example.com
Zeigt Domain-Registrierungsinformationen
traceroute google.com
Zeigt Netzwerkroute zu einem Host
nslookup example.com
DNS-Auflösung einer Domain
Mac Energieverwaltung
caffeinate
Verhindert Ruhezustand (Ctrl+C zum Beenden)
caffeinate -u -t 5400
Verhindert Ruhezustand für 90 Min (5400 Sek), auch Display
caffeinate -i make build
Verhindert Sleep während Befehl läuft
Umgebungsvariablen
env
Zeigt alle Umgebungsvariablen an
echo $PATH
Zeigt den Wert einer Variable (hier: PATH)
export MEINE_VAR="wert"
Setzt Variable für aktuelle Session
export PATH="$PATH:/neuer/pfad"
Fügt Pfad zur PATH-Variable hinzu (temporär)
echo 'export MEINE_VAR="wert"' >> ~/.zshrc
Setzt Variable permanent in Zsh-Config
echo 'export MEINE_VAR="wert"' >> ~/.bashrc
Setzt Variable permanent in Bash-Config
source ~/.zshrc
Lädt Shell-Config neu (oder ~/.bashrc für Bash)
Keine Befehle gefunden