Die 30 wichtigsten Linux-Befehle — Grundlegende Kommandos für den Alltag
Du kennst die Kommandozeile vielleicht noch nicht — oder du hast schon ein paar Befehle ausprobiert und möchtest jetzt systematisch die wichtigsten kennenlernen. Diese Übersicht zeigt dir 30 Linux-Befehle, die du im Alltag wirklich brauchst: geordnet nach Aufgabe, mit konkreten Beispielen und dem erwarteten Terminal-Output. Code-Blöcke kannst du direkt abtippen und ausprobieren.
Dateien anzeigen und durchsuchen
Diese neun Befehle sind deine täglichen Werkzeuge: Verzeichnisse auflisten, Dateiinhalte lesen, nach Text oder Dateien suchen. Du wirst sie ständig brauchen — in dieser Gruppe steckt gut die Hälfte deines Terminal-Alltags.
ls — Verzeichnisinhalt auflisten
ls zeigt den Inhalt eines Ordners. Die Option -l liefert Details wie Berechtigungen, Besitzer, Dateigröße und Änderungsdatum. Mit -a siehst du auch versteckte Dateien — also alle Dateien, deren Name mit einem Punkt beginnt wie .bashrc oder .profile. Die Kombination -la nutzt du am häufigsten.
ls -la /home/gunter
total 48
drwxr-xr-x 6 gunter gunter 4096 Apr 5 11:20 .
drwxr-xr-x 3 root root 4096 Mär 20 09:00 ..
-rw------- 1 gunter gunter 220 Mär 20 09:00 .bash_logout
-rw-r--r-- 1 gunter gunter 3526 Mär 20 09:00 .bashrc
drwxr-xr-x 2 gunter gunter 4096 Apr 3 14:10 Dokumente
drwxr-xr-x 3 gunter gunter 4096 Apr 2 09:15 Downloads
cat — Dateiinhalt ausgeben
cat gibt den gesamten Inhalt einer Datei direkt im Terminal aus. Das ist praktisch für kurze Konfigurationsdateien oder Skripte. Bei langen Dateien scrollt der Text einfach durch — dort ist less die bessere Wahl. Mit cat -n werden Zeilennummern angezeigt, was beim Debuggen von Skripten hilft.
cat /etc/hostname
mein-laptop
cat -n mein_skript.sh
1 #!/bin/bash
2 # Simples Backup-Skript
3 echo "Backup startet..."
less — Dateien seitenweise lesen
less öffnet eine Datei in einem scrollbaren Pager — du kannst mit den Pfeiltasten oder Page Up/Down navigieren. Ich benutze less für alles über 30 Zeilen. cat auf eine 500-Zeilen-Config ist Zeitverschwendung — die Ausgabe rauscht durch und du siehst nur das Ende. Mit /suchbegriff suchst du vorwärts, mit ?suchbegriff rückwärts. n springt zum nächsten Treffer, q beendet less. Besonders nützlich für lange Log-Dateien oder Man-Pages.
less /var/log/syslog
less /etc/ssh/sshd_config
head und tail — Anfang und Ende einer Datei
head gibt standardmäßig die ersten 10 Zeilen aus, tail die letzten 10. Mit -n passt du die Anzahl an. Die mächtigste Variante ist tail -f: Sie folgt der Datei in Echtzeit und gibt neue Zeilen aus, sobald sie erscheinen. Ich habe tail -f /var/log/syslog vermutlich öfter getippt als jeden anderen Befehl. Wer Probleme diagnostiziert und nicht live mitliest, stochert im Nebel.
head -n 5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
tail -f /var/log/syslog
Apr 5 11:20:01 mein-laptop kernel: [12345.678] usb: new device connected
wc — Zeilen, Wörter und Zeichen zählen
wc (word count) zählt Zeilen (-l), Wörter (-w) und Bytes (-c) in einer Datei. Ohne Optionen gibt es alle drei Werte auf einmal aus. Das ist praktisch, wenn du zum Beispiel wissen willst, wie viele Benutzer in /etc/passwd definiert sind oder wie groß eine Textdatei ist.
wc -l /etc/passwd
45 /etc/passwd
wc /etc/passwd
45 105 2648 /etc/passwd
file — Dateityp erkennen
file analysiert den tatsächlichen Inhalt einer Datei und sagt dir, was sie ist — unabhängig von der Dateiendung. Das ist nützlich, wenn du eine Datei ohne Endung vorfindest oder sicherstellen willst, dass ein Download vollständig und nicht beschädigt ist.
file foto.jpg skript.sh bild.png unbekannt
foto.jpg: JPEG image data, JFIF standard 1.01
skript.sh: Bourne-Again shell script, ASCII text executable
bild.png: PNG image data, 800 x 600, 8-bit/color RGB, non-interlaced
unbekannt: gzip compressed data, from Unix
find — Dateien suchen
find durchsucht Verzeichnisbäume nach Dateien und Ordnern. Du kannst nach Name (-name), Typ (-type f für Dateien, -type d für Verzeichnisse), Größe (-size +10M) oder Änderungsdatum (-mtime -7 für die letzten 7 Tage) filtern. Groß-/Kleinschreibung ignorierst du mit -iname.
find /home/gunter -name "*.pdf" -type f
/home/gunter/Dokumente/rechnung_2025.pdf
/home/gunter/Downloads/handbuch.pdf
find /tmp -size +10M -mtime -1
/tmp/firefox_cache_123456
/tmp/update_download.tmp
grep — Text in Dateien suchen
grep durchsucht Dateien nach einem Muster und gibt passende Zeilen aus. Mit -r suchst du rekursiv in Unterordnern, mit -i ohne Rücksicht auf Groß-/Kleinschreibung, mit -n mit Zeilennummer und mit -l nur die Dateinamen. grep versteht reguläre Ausdrücke, was es zu einem der mächtigsten Suchwerkzeuge macht. Ehrlich: grep ist der Befehl, den ich am häufigsten tippe. Kein Tag ohne grep -r in irgendeinem Verzeichnis.
grep -rn "TODO" /home/gunter/projekte/
/home/gunter/projekte/skript.sh:12:# TODO: Fehlerbehandlung ergänzen
/home/gunter/projekte/notizen.txt:5:TODO: Backup-Script testen
grep -i "error" /var/log/syslog | tail -5
Apr 5 10:15:32 mein-laptop kernel: [1234.5] usb 1-1: device not responding
grep -v muster kehrt die Suche um — es werden alle Zeilen ausgegeben, die das Muster nicht enthalten. Nützlich, um Kommentarzeilen aus Konfigurationsdateien herauszufiltern: grep -v "^#" /etc/ssh/sshd_configDateien und Ordner verwalten
Mit diesen sieben Befehlen erledigst du alles rund ums Verschieben, Kopieren, Löschen und Erstellen von Dateien und Verzeichnissen. Besondere Vorsicht gilt bei rm — gelöschte Dateien landen nicht im Papierkorb.
cp — Kopieren
cp kopiert Dateien. Mit -r (recursive) kopierst du komplette Verzeichnisse inklusive aller Unterordner. Die Option -p erhält Zeitstempel und Berechtigungen der Originaldatei — wichtig für Backups. Mit -v (verbose) siehst du, was gerade kopiert wird.
cp bericht.txt bericht_backup.txt
cp -rp /home/gunter/Dokumente /mnt/backup/Dokumente_2026-04-05
cp -v *.conf /etc/myapp/
'app.conf' -> '/etc/myapp/app.conf'
'db.conf' -> '/etc/myapp/db.conf'
mv — Verschieben und Umbenennen
mv verschiebt eine Datei oder benennt sie um — beides ist dieselbe Operation. Gibst du als Ziel ein vorhandenes Verzeichnis an, wird die Datei dorthin verschoben. Gibst du einen neuen Namen an, wird sie umbenannt. Mit -i fragt mv nach, bevor es eine vorhandene Datei überschreibt.
mv entwurf.txt bericht_final.txt
mv /home/gunter/Downloads/foto.jpg /home/gunter/Bilder/
mv -i wichtig.txt /tmp/
mv: overwrite '/tmp/wichtig.txt'? n
rm — Löschen
rm löscht Dateien dauerhaft — es gibt keinen Papierkorb auf der Kommandozeile. Mit -r löschst du Verzeichnisse rekursiv, mit -i wird vor jedem Löschen nachgefragt. Die Kombination -rf löscht ohne jede Rückfrage.
rm alte_datei.txt
rm -i wichtige_datei.txt
rm: remove regular file 'wichtige_datei.txt'? y
rm -r temp_ordner/
rm -rf mit einem falschen Pfad kann ganze Verzeichnisbäume vernichten — ohne Warnung, ohne Rückfrage. Überprüfe den Pfad immer mit ls bevor du rm -r ausführst. Niemals rm -rf / oder rm -rf ~ eingeben.mkdir — Verzeichnis erstellen
mkdir erstellt einen neuen Ordner. Mit -p erstellst du auch fehlende übergeordnete Verzeichnisse in einem Schritt — ohne -p gibt es einen Fehler, wenn der übergeordnete Ordner noch nicht existiert. Mit -v siehst du, welche Verzeichnisse erstellt wurden.
mkdir projekte
mkdir -pv projekte/2026/januar/fotos
mkdir: created directory 'projekte/2026'
mkdir: created directory 'projekte/2026/januar'
mkdir: created directory 'projekte/2026/januar/fotos'
rmdir — Leeres Verzeichnis entfernen
rmdir entfernt nur leere Verzeichnisse und gibt eine Fehlermeldung, wenn noch Inhalt vorhanden ist. Das ist sicherer als rm -r und schützt vor versehentlichem Datenverlust. Für nicht-leere Ordner brauchst du rm -r.
rmdir leerer_ordner
rmdir gefuellter_ordner
rmdir: failed to remove 'gefuellter_ordner': Directory not empty
touch — Datei erstellen oder Zeitstempel aktualisieren
touch erstellt eine leere Datei, falls sie noch nicht existiert. Existiert sie bereits, aktualisiert touch nur den Zeitstempel auf die aktuelle Zeit. Das ist nützlich für Skripte, die prüfen, ob eine Datei vorhanden ist, oder für Make-Builds, die auf Zeitstempeln basieren.
touch neue_datei.txt
ls -l neue_datei.txt
-rw-r--r-- 1 gunter gunter 0 Apr 5 11:20 neue_datei.txt
touch mehrere_dateien.txt log.txt status.txt
ln — Links erstellen
ln erstellt harte Links, die auf dieselbe Inode wie das Original zeigen. Mit -s erstellst du symbolische Links (Symlinks) — das sind Zeiger auf einen Pfad. Symlinks funktionieren auch über Dateisystemgrenzen hinweg und können auf Verzeichnisse zeigen, harte Links nicht.
ln -s /home/gunter/Dokumente/handbuch.txt ~/Desktop/handbuch-link.txt
ls -l ~/Desktop/handbuch-link.txt
lrwxrwxrwx 1 gunter gunter 38 Apr 5 11:20 handbuch-link.txt -> /home/gunter/Dokumente/handbuch.txt
Berechtigungen und Besitz
Linux trennt strikt zwischen Eigentümer einer Datei, ihrer Gruppe und allen anderen Nutzern. Jeder dieser drei Ebenen kannst du Lese-, Schreib- und Ausführungsrechte geben oder entziehen. Diese drei Befehle steuern das. Mehr Details zum Berechtigungsmodell findest du im Artikel Das Linux-Dateisystem.
chmod — Berechtigungen ändern
chmod setzt Lese-, Schreib- und Ausführungsrechte für Eigentümer (u), Gruppe (g) und alle anderen (o). Du kannst symbolisch arbeiten (u+x fügt Ausführungsrecht für den Eigentümer hinzu) oder oktal: 4 = lesen, 2 = schreiben, 1 = ausführen. chmod 755 bedeutet: Eigentümer darf alles (7=4+2+1), Gruppe und andere dürfen lesen und ausführen (5=4+1).
chmod +x mein_skript.sh
chmod 644 bericht.txt
chmod 755 /home/gunter/bin/
ls -l mein_skript.sh bericht.txt
-rwxr-xr-x 1 gunter gunter 1024 Apr 5 10:00 mein_skript.sh
-rw-r--r-- 1 gunter gunter 512 Apr 5 10:00 bericht.txt
chown — Besitzer ändern
chown ändert den Besitzer einer Datei oder eines Verzeichnisses. Mit benutzer:gruppe kannst du beides gleichzeitig setzen. Mit -R änderst du rekursiv alle Dateien in einem Verzeichnis. Diese Operation benötigt root-Rechte — du brauchst also sudo.
sudo chown gunter:gunter datei.txt
sudo chown -R gunter:gunter /home/gunter/projekte/
ls -l datei.txt
-rw-r--r-- 1 gunter gunter 2048 Apr 5 09:30 datei.txt
chgrp — Gruppe ändern
chgrp ändert nur die Gruppe einer Datei — ohne den Besitzer zu berühren. Das ist nützlich, wenn mehrere Benutzer gemeinsam auf Projektdateien zugreifen sollen: Du legst eine Gruppe an, setzt sie mit chgrp und gibst der Gruppe Schreibrechte mit chmod g+w.
sudo chgrp entwickler projekt_datei.py
ls -l projekt_datei.py
-rw-r--r-- 1 gunter entwickler 2048 Apr 5 09:30 projekt_datei.py
sudo chgrp -R www-data /var/www/html/
stat dateiname siehst du alle Metadaten einer Datei auf einen Blick: Berechtigungen als Oktalzahl und symbolisch, Besitzer und Gruppe mit UID/GID, Dateigröße sowie alle drei Zeitstempel — Access, Modify und Change.System und Prozesse
Diese sieben Befehle geben dir Einblick in laufende Prozesse, Arbeitsspeicher und Festplattennutzung. Unverzichtbar, wenn das System träge wird, ein Prozess hängt oder du wissen willst, wo der Speicher geblieben ist.
ps — Prozessliste anzeigen
ps aux zeigt alle laufenden Prozesse mit Besitzer, PID (Prozess-ID), CPU- und RAM-Nutzung sowie dem vollständigen Befehl. Die PID brauchst du, um mit kill einen Prozess zu beenden. Die Kombination mit grep filtert gezielt nach einem bestimmten Programm.
ps aux | grep firefox
gunter 3421 2.1 5.3 2345678 215000 ? Sl 10:30 0:45 /usr/lib/firefox/firefox
gunter 3489 0.0 0.0 6152 648 pts/1 S+ 10:31 0:00 grep --color=auto firefox
top und htop — Systemauslastung live
top zeigt eine live aktualisierte Übersicht aller Prozesse, sortiert nach CPU-Last. Mit k kannst du direkt aus top heraus einen Prozess beenden — du gibst die PID ein. htop ist die komfortablere Version mit Farben, Balkengrafiken und Maus-Unterstützung. Es muss meist nachinstalliert werden: sudo apt install htop.
top
top - 11:20:00 up 2:30, 1 user, load average: 0.42, 0.38, 0.35
Tasks: 187 total, 1 running, 186 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.2 us, 1.1 sy, 0.0 ni, 95.4 id, 0.3 wa
MiB Mem : 7823.4 total, 2341.2 free, 3210.8 used, 2271.4 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 3921.0 avail Mem
kill — Prozess beenden
kill sendet ein Signal an einen Prozess. Standardmäßig ist das SIGTERM (Signal 15), das den Prozess auffordert, sich sauber zu beenden. Reagiert der Prozess nicht, erzwingst du das sofortige Ende mit -9 (SIGKILL). Mit killall programmname beendest du alle Prozesse mit diesem Namen auf einmal.
kill 3421
kill -9 3421
killall firefox
df — Festplattenplatz anzeigen
df -h zeigt den verfügbaren Speicherplatz aller eingehängten Dateisysteme in lesbarer Form — h steht für human-readable, also GB/MB statt rohe Bytes. Die Spalte „Use%“ gibt den Füllstand in Prozent an. Wenn eine Partition über 90% liegt, solltest du aufräumen.
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 234G 87G 135G 40% /
tmpfs 3.9G 1.2M 3.9G 1% /run
/dev/sda2 512G 230G 257G 48% /home
du — Verzeichnisgröße messen
du -sh zeigt die Gesamtgröße eines Verzeichnisses kompakt an. Mit du -sh * siehst du die Größe jedes Eintrags im aktuellen Ordner — praktisch, um den größten Platzverschlinger zu finden. --max-depth=1 begrenzt die Tiefe der Analyse.
du -sh /home/gunter/Downloads/
4.7G /home/gunter/Downloads/
du -sh /home/gunter/* | sort -rh | head -5
4.7G /home/gunter/Downloads
1.2G /home/gunter/Videos
356M /home/gunter/Bilder
48M /home/gunter/Dokumente
12M /home/gunter/.cache
free — Arbeitsspeicher anzeigen
free -h gibt eine kompakte Übersicht über den Arbeitsspeicher. „available“ ist die wichtigste Zahl — das ist der RAM, der tatsächlich für neue Prozesse verfügbar ist, inklusive des Buff/Cache-Anteils den Linux bei Bedarf freigibt. „free“ allein ist oft irreführend niedrig.
free -h
total used free shared buff/cache available
Mem: 7.6Gi 3.1Gi 2.3Gi 312Mi 2.2Gi 3.9Gi
Swap: 2.0Gi 0B 2.0Gi
uname — Systeminformationen
uname -a gibt alle verfügbaren Systeminformationen aus: Kernel-Version, Hostname, Kernel-Release, Prozessor-Architektur und Betriebssystem. Die Kernel-Version brauchst du oft, wenn du ein Problem googelst oder einen Bug reportierst.
uname -a
Linux mein-laptop 6.8.0-51-generic #52-Ubuntu SMP PREEMPT_DYNAMIC x86_64 GNU/Linux
uname -r
6.8.0-51-generic
Netzwerk — Grundlagen
Für die meisten Desktop-Nutzer reichen vier Befehle, um grundlegende Netzwerkfragen zu beantworten: Ist ein Host erreichbar? Welche IP hat mein Rechner? Wie lade ich eine Datei aus dem Web?
ping — Erreichbarkeit testen
ping schickt ICMP-Echo-Pakete an einen Host und misst die Antwortzeit in Millisekunden. Unter Linux läuft ping endlos — mit Ctrl+C stoppst du es. Mit -c 4 begrenzst du auf vier Pakete. Der Quad9-DNS (9.9.9.9) ist ein guter Test-Host, weil er zuverlässig antwortet.
ping -c 4 9.9.9.9
PING 9.9.9.9 (9.9.9.9) 56(84) bytes of data.
64 bytes from 9.9.9.9: icmp_seq=1 ttl=58 time=12.3 ms
64 bytes from 9.9.9.9: icmp_seq=2 ttl=58 time=11.8 ms
64 bytes from 9.9.9.9: icmp_seq=3 ttl=58 time=12.1 ms
64 bytes from 9.9.9.9: icmp_seq=4 ttl=58 time=11.9 ms
--- 9.9.9.9 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss
rtt min/avg/max/mdev = 11.8/12.0/12.3/0.2 ms
ip addr — Netzwerkschnittstellen anzeigen
ip addr (Kurzform: ip a) zeigt alle Netzwerkschnittstellen mit ihren IP-Adressen. Das Kommando ersetzt das ältere ifconfig, das auf modernen Ubuntu- und Debian-Systemen oft nicht mehr vorinstalliert ist. Die Schnittstelle lo ist der Loopback (127.0.0.1), eth0 oder ens3 sind kabelgebundene Verbindungen, wlan0 das WLAN.
ip addr show wlan0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
link/ether a0:b1:c2:d3:e4:f5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.42/24 brd 192.168.1.255 scope global dynamic wlan0
inet6 fe80::a2b1:c2ff:fed3:e4f5/64 scope link
curl — HTTP-Anfragen stellen
curl überträgt Daten zu oder von einem Server. Mit -I (Großbuchstabe i) holst du nur den HTTP-Header — nützlich, um den Status-Code oder Server-Typ zu prüfen. Mit -O lädst du eine Datei herunter und behältst den Originalnamen, mit -o name gibst du einen eigenen Namen an.
curl -I https://bin-bash.de
HTTP/2 200
content-type: text/html; charset=UTF-8
server: nginx
x-powered-by: PHP/8.2
curl -O https://example.com/skript.sh
wget — Dateien herunterladen
wget lädt Dateien aus dem Web herunter. Es eignet sich besonders für größere Downloads, weil es unterbrochene Verbindungen mit -c (continue) fortsetzen kann. Mit -b läuft der Download im Hintergrund, der Fortschritt wird in wget-log protokolliert.
wget https://example.com/datei.tar.gz
--2026-04-05 11:20:00-- https://example.com/datei.tar.gz
Resolving example.com... 93.184.216.34
HTTP request sent, awaiting response... 200 OK
Length: 2457600 (2.3M) [application/x-tar]
Saving to: 'datei.tar.gz'
datei.tar.gz 100%[=============================>] 2.34M 1.82MB/s in 1.3s
Textverarbeitung
Bash-Nutzer kombinieren diese Befehle mit Pipes (|), um Textdaten direkt in der Shell zu verarbeiten — ohne Editor, ohne grafisches Tool. Wie Pipes und Umleitungen funktionieren, erklärt der Artikel Shellscripts ausführlich. Diese fünf Befehle decken den größten Teil der praktischen Textverarbeitung ab.
sort — Zeilen sortieren
sort sortiert Zeilen einer Datei oder Eingabe alphabetisch. Mit -n sortierst du numerisch, mit -r in umgekehrter Reihenfolge und mit -u entfernst du gleichzeitig Duplikate. Für die Sortierung nach Spalten nutzt du -k mit der Spaltennummer.
echo -e "Banane
Apfel
Kirsche
Aprikose" | sort
Apfel
Aprikose
Banane
Kirsche
sort -rn zahlen.txt
100
42
17
3
uniq — Duplikate entfernen
uniq entfernt aufeinanderfolgende identische Zeilen. Wichtig: Die Eingabe muss sortiert sein, damit identische Zeilen nebeneinander stehen — deshalb wird uniq fast immer direkt nach sort eingesetzt. -c zählt, wie oft jede Zeile vorkommt.
sort zugriffe.log | uniq -c | sort -rn | head -5
42 192.168.1.100
31 192.168.1.101
18 10.0.0.5
9 192.168.1.200
3 172.16.0.1
cut — Spalten ausschneiden
cut extrahiert bestimmte Felder (Spalten) aus Zeilen. Mit -d bestimmst du das Trennzeichen, mit -f die Felder. Felder können als Einzelzahl (-f1), Liste (-f1,3) oder Bereich (-f2-5) angegeben werden.
cut -d: -f1,3 /etc/passwd | head -4
root:0
daemon:1
bin:2
sys:3
cut -d, -f2 adressen.csv | sort | uniq
tr — Zeichen ersetzen oder löschen
tr (translate) ersetzt oder löscht einzelne Zeichen in der Eingabe. Es liest ausschließlich von der Standardeingabe — du verwendest es per Pipe. Mit -d löschst du bestimmte Zeichen, mit -s (squeeze) reduzierst du aufeinanderfolgende gleiche Zeichen auf eines.
echo "linux ist grossartig" | tr 'a-z' 'A-Z'
LINUX IST GROSSARTIG
echo "Hallo Welt" | tr -s ' '
Hallo Welt
echo "Passwort123" | tr -d '0-9'
Passwort
diff — Dateien vergleichen
diff vergleicht zwei Dateien zeilenweise und zeigt Unterschiede an. Zeilen mit < stammen aus der ersten Datei, Zeilen mit > aus der zweiten. Das Unified-Format (-u) ist leichter zu lesen — es zeigt Kontext-Zeilen mit und entspricht dem Format, das du aus Git-Diffs kennst.
diff version1.txt version2.txt
3c3
< echo "Hallo Welt"
---
> echo "Hallo Linux"
7a8
> echo "Neue Zeile in Version 2"
diff -u alt.conf neu.conf
--- alt.conf 2026-03-20 09:00:00
+++ neu.conf 2026-04-05 11:20:00
@@ -12,6 +12,7 @@
MaxConnections=100
-Timeout=30
+Timeout=60
diff -u ist die Grundlage des Patch-Formats. Mit diff -u alt.txt neu.txt > aenderung.patch speicherst du die Änderungen, und mit patch alt.txt < aenderung.patch wendest du sie auf eine andere Kopie an.Befehle kombinieren — ein praktisches Beispiel
Die wahre Stärke der Linux-Kommandozeile liegt darin, einfache Werkzeuge zu kombinieren. Mit einer einzigen Pipeline lassen sich komplexe Aufgaben lösen — ohne ein Programm zu schreiben:
# Die 5 größten Dateien im aktuellen Verzeichnis finden und sortiert anzeigen:
find . -maxdepth 1 -type f -exec du -sh {} + | sort -rh | head -5
156M ./video_backup.mp4
47M ./archiv.tar.gz
23M ./foto_sammlung.zip
8.2M ./handbuch.pdf
1.1M ./skripte.tar
# Alle einzigartigen IP-Adressen aus einem Apache-Log extrahieren:
cut -d' ' -f1 /var/log/apache2/access.log | sort | uniq -c | sort -rn | head -10
Das ist erst der Anfang. Wenn du diese Befehle kombinierst und in Skripte fasst, kannst du Aufgaben automatisieren, die sonst Minuten dauern würden. Wie das geht, zeigt der Artikel Shellscripts.
Nächste Schritte
Du hast jetzt einen soliden Überblick über die 30 wichtigsten Linux-Befehle. Drei Empfehlungen für deinen weiteren Lernweg:
- Lies Das Linux-Dateisystem — dann verstehst du, warum Befehle wie
chmod,chownundfindso funktionieren, wie sie es tun. Das Dateisystem ist das Fundament. - Schau dir Die Shell für Neulinge an, wenn du die Tab-Completion, die History oder das Arbeiten mit Aliasen noch nicht kennst — das spart täglich Zeit.
- Starte mit Shellscripts, wenn du anfangen willst, Befehle zu automatisieren. Das erste eigene Skript ist einfacher als du denkst.
Der schnellste Weg, diese Befehle wirklich zu lernen: Tippe sie täglich ab — auch wenn du eine grafische Alternative hättest. Nach zwei Wochen Praxis sitzt die Syntax, und du wirst merken, wie viel schneller du in der Shell bist als mit der Maus.