Wichtige Terminalbefehle für Linux Mint 22 im Detail erklärt

Terminalbefehle

blank

Für viele Linux-Anwender ist das Terminal ein unverzichtbares Werkzeug, weil es Aufgaben präzise, wiederholbar und oft schneller erledigt als grafische Programme. Linux Mint 22 bietet dafür eine stabile Grundlage mit Bash, GNU-Werkzeugen, apt, systemd, NetworkManager und vielen klassischen Unix-Kommandos. Wer die wichtigsten Befehle versteht, navigiert sicher durch Verzeichnisse, prüft Dateien, installiert Programme, analysiert Fehler und automatisiert wiederkehrende Arbeitsschritte.

Ein Terminalbefehl besteht meist aus dem Programmnamen, Optionen und Argumenten. In ls -lah /etc ist ls der Befehl, -lah sind Optionen und /etc ist das Zielverzeichnis. Linux unterscheidet Groß- und Kleinschreibung: Datei.txt und datei.txt sind zwei verschiedene Namen. Pfade mit Leerzeichen müssen in Anführungszeichen stehen, etwa cd "Meine Dateien". Die Tab-Taste vervollständigt Befehle und Dateinamen, die Pfeiltasten rufen frühere Befehle auf, und Strg + C bricht einen laufenden Befehl ab.

Besondere Vorsicht verdienen Befehle mit Schreibzugriff, Root-Rechten oder rekursiver Wirkung. sudo führt Befehle mit Administratorrechten aus, rm löscht Dateien ohne Papierkorb, chmod -R ändert Rechte ganzer Ordnerbäume und mkfs formatiert Datenträger. Sichere Arbeitsweise bedeutet: erst mit pwd, ls, find oder --dry-run prüfen, dann den Befehl ausführen, anschließend das Ergebnis kontrollieren. Platzhalter wie *.txt und Beispielgeräte wie /dev/sdX niemals blind kopieren, sondern immer durch den eigenen, geprüften Pfad ersetzen.

Wichtige Grundlage vorab: Die Linux-Verzeichnisstruktur

Unter Windows orientieren sich viele Nutzer an Laufwerksbuchstaben wie C:\, D:\ oder E:\. Auf C:\ liegen typischerweise Windows selbst, Programme, Benutzerprofile, System32, ProgramData und AppData. Linux arbeitet anders: Es gibt einen einzigen Verzeichnisbaum, der bei / beginnt. Dieses / heißt Wurzelverzeichnis. Alle internen Laufwerke, USB-Sticks, Netzlaufwerke, Systemordner und Benutzerordner erscheinen irgendwo unterhalb dieses einen Baums.

Ein wichtiger Unterschied zu Windows ist das Einhängen von Datenträgern. Ein USB-Stick erhält unter Linux normalerweise keinen neuen Buchstaben wie E:\, sondern wird in einen vorhandenen Ordner eingebunden. Dieser Ordner heißt Mountpoint. Unter Linux Mint erscheinen automatisch eingehängte USB-Sticks häufig unter /media/benutzername/name-des-sticks. Mit lsblk -f sieht man Datenträger, Partitionen, Dateisystemtypen und Mountpoints. Mit findmnt sieht man, welche Dateisysteme aktuell wo eingehängt sind.

PfadWas liegt dort?Typische Beispiele
/Wurzel des gesamten Verzeichnisbaums. Alle anderen Ordner, Datenträger und virtuellen Dateisysteme hängen darunter./home, /etc, /usr, /var, /dev
/homePersönliche Benutzerverzeichnisse normaler Nutzer./home/anna, /home/max, /home/max/Dokumente
~Kurzform für das eigene Home-Verzeichnis des aktuell angemeldeten Benutzers.~/Downloads, ~/Bilder, ~/.config
/rootHome-Verzeichnis des Administratorkontos root./root/.bashrc, /root/.ssh
/etcSystemweite Konfigurationsdateien. Hier liegen Einstellungen für Dienste, Paketquellen, Netzwerk, Benutzerverwaltung und viele Programme.

/etc wird meist als „et cetera“ gelesen. Historisch war es ein Sammelort für Dinge, die nicht klar in die klassischen Programmordner passten — also „und so weiter“. Mit der Zeit hat sich daraus der feste Ort für systemweite Konfigurationsdateien entwickelt. Heute sollte man /etc deshalb nicht mehr als beliebigen Restordner verstehen, sondern als Konfigurationszentrale des Systems. Beispiele sind Paketquellen, Netzwerkeinstellungen, Dienstkonfigurationen, Benutzer-/Gruppeninformationen und Startoptionen für Dateisysteme.
/etc/fstab, /etc/hosts, /etc/apt/sources.list.d/, /etc/ssh/sshd_config
/usrDer größte Bereich für installierte Programme, Bibliotheken, Dokumentation und gemeinsam genutzte Daten.

/usr steht historisch für „user“, meinte aber ursprünglich nicht das heutige Home-Verzeichnis der Benutzer. In frühen Unix-Systemen lagen dort zusätzliche Programme, Bibliotheken und Daten, die nicht zwingend für den minimalen Systemstart gebraucht wurden. Heute wird /usr meist als Bereich für installierte Systemprogramme, Bibliotheken und gemeinsam genutzte Programmdaten verstanden. Manche erklären /usr modern auch als „Unix System Resources“; das ist als Eselsbrücke brauchbar, aber historisch nicht der ursprüngliche Name.
/usr/bin, /usr/lib, /usr/share
/binGrundlegende ausführbare Programme, die für normale Nutzer und den Systembetrieb wichtig sind./bin/ls, /bin/cp, /bin/mkdir, /bin/bash
/sbinSystemverwaltungsprogramme, traditionell für Administratoren.fsck, reboot, ip, mount
/usr/binViele ausführbare Programme und Terminalbefehle für Benutzer und Anwendungen.python3, nano, grep, curl, firefox
/usr/sbinAdministrationsprogramme, die meist für Systemverwaltung gedacht sind.sshd, useradd, groupadd
/usr/libBibliotheken und Programmkomponenten, die Programme zum Starten und Arbeiten benötigen..so-Bibliotheken, Plugin-Verzeichnisse, systemnahe Komponenten
/usr/shareArchitekturunabhängige Programmdaten wie Icons, Übersetzungen, Dokumentation, Desktop-Dateien und Vorlagen./usr/share/applications, /usr/share/doc, /usr/share/icons
/varVeränderliche System- und Dienstdaten. Der Inhalt wächst oder ändert sich im laufenden Betrieb./var/log, /var/cache, /var/lib, /var/spool
/var/logLogdateien von System, Diensten und Anwendungen./var/log/syslog, /var/log/auth.log, /var/log/apt/history.log
/var/cacheZwischenspeicher für Programme und Paketverwaltung.APT-Paketcache, Vorschaubilder, Anwendungscaches
/var/libDauerhafte Arbeitsdaten von Diensten und Programmen.Datenbanken, Paketstatus, Containerdaten, Dienstzustände
/tmpTemporäre Dateien für Programme und laufende Sitzungen.Zwischendateien, temporäre Downloads, Socket-Dateien
/bootDateien für den Systemstart, darunter Kernel, Initramfs und Bootloader-Komponenten.vmlinuz, initrd.img, GRUB-Dateien
/devGerätedateien für Hardware und virtuelle Geräte./dev/sda, /dev/nvme0n1, /dev/null, /dev/tty
/procVirtuelles Dateisystem mit Informationen über Prozesse und Kernelzustand./proc/cpuinfo, /proc/meminfo, /proc/1234
/sysVirtuelles Dateisystem für Geräte, Treiber, Kernelobjekte und Hardwarezustände./sys/class, /sys/block, /sys/bus
/runLaufzeitdaten seit dem aktuellen Start.PID-Dateien, Sockets, temporäre Dienstinformationen, Benutzer-Sitzungsdaten
/mediaAutomatisch eingehängte Wechseldatenträger./media/anna/USB-STICK, /media/max/Backup
/mntManuelle, temporäre Einhängepunkte für Datenträger oder Netzwerkfreigaben./mnt/backup, /mnt/rettung, /mnt/server
/optOptionale Zusatzsoftware, häufig von Drittanbietern.Programme, die nicht klassisch über die Distributionspfade verteilt sind
/srvDaten, die von Serverdiensten bereitgestellt werden können.Web-, FTP- oder andere Dienst-Daten
/lost+foundWiederhergestellte Dateifragmente nach Dateisystemprüfungen, typischerweise auf ext-Dateisystemen.Dateifragmente nach fsck

Programme liegen unter Linux selten als geschlossener Ordner an einer einzigen Stelle. Ein über die Paketverwaltung installiertes Programm kann seine ausführbare Datei unter /usr/bin, Bibliotheken unter /usr/lib, Symbole unter /usr/share/icons, Startmenü-Dateien unter /usr/share/applications, systemweite Konfiguration unter /etc und veränderliche Daten unter /var ablegen. Persönliche Einstellungen desselben Programms liegen zusätzlich im Home-Verzeichnis des Nutzers, häufig unter ~/.config, ~/.local/share oder ~/.cache.

Im Alltag arbeitet man fast immer im eigenen Home-Verzeichnis. Dort gehören persönliche Dokumente, Bilder, Downloads, Projekte, Skripte und nutzerspezifische Einstellungen hin. Typische versteckte Ordner sind ~/.config für Programmeinstellungen, ~/.local/bin für eigene ausführbare Dateien, ~/.local/share für nutzerbezogene Programmdaten und ~/.cache für neu erzeugbare Zwischendaten. Versteckte Dateien sind nicht besonders geheim; der Punkt am Anfang blendet sie nur in normalen Dateilisten aus.

Als Praxisregel gilt: Eigene Dateien gehören nach ~, systemweite Konfigurationen nach /etc, installierte Programme werden über die Paketverwaltung verwaltet, Logs liegen häufig unter /var/log, externe Datenträger erscheinen meist unter /media, und Gerätepfade unter /dev sind keine normalen Dateien. Vor Befehlen mit Schreibwirkung sollte man immer mit pwd, ls -lah, lsblk -f oder findmnt prüfen, ob man wirklich am richtigen Ort arbeitet.

Linux-Verzeichnisstruktur und Navigation

Die Linux-Verzeichnisstruktur beginnt wie im vorherigen Absatz beschrieben immer bei /, dem Wurzelverzeichnis. Das eigene Benutzerverzeichnis liegt typischerweise unter /home/benutzername und lässt sich mit ~ abkürzen. Absolute Pfade beginnen mit /, zum Beispiel /etc/apt. Relative Pfade beziehen sich auf den aktuellen Standort, den pwd anzeigt. Diese Unterscheidung verhindert viele Anfängerfehler, weil derselbe Befehl je nach aktuellem Verzeichnis auf völlig andere Dateien wirken kann.

  • pwd (print working directory): Gibt den absoluten Pfad des aktuellen Arbeitsverzeichnisses aus, zum Beispiel /home/nutzer/Dokumente. Nach mehreren Verzeichniswechseln zeigt pwd eindeutig, wo der nächste Befehl wirkt. Mit pwd -P erscheint der physische Pfad ohne symbolische Links, mit pwd -L der logische Pfad inklusive Symlinks. In Skripten ist pwd -P oft zuverlässiger, weil es Verwechslungen durch Verknüpfungen vermeidet.
  • cd (change directory): Wechselt in ein anderes Arbeitsverzeichnis. Ohne Parameter führt cd ins Home-Verzeichnis, cd - springt zum zuletzt genutzten Verzeichnis zurück, cd .. geht eine Ebene nach oben und cd ../.. zwei Ebenen. Mit cd ~/Downloads öffnet man den Download-Ordner des aktuellen Benutzers. Fehlerhafte Pfade erzeugen nur eine Fehlermeldung und ändern nichts am Dateisystem.
  • ls (list): Listet Dateien und Ordner auf. ls -l zeigt Rechte, Besitzer, Größe und Änderungsdatum, ls -a auch versteckte Dateien, ls -h lesbare Größen wie KB, MB oder GB. Die Kombination ls -lah eignet sich als Standardübersicht. Mit ls -lt stehen zuletzt geänderte Dateien oben, mit ls -lS die größten Dateien.
  • tree (directory tree listing): Stellt die Ordnerstruktur hierarchisch als Baum dar. Mit tree -L 2 begrenzt man die Tiefe auf zwei Ebenen, damit große Verzeichnisse übersichtlich bleiben. Falls der Befehl fehlt, installiert man ihn mit sudo apt install tree. Für Projektordner, Webseiten, Skripte und verschachtelte Konfigurationen liefert tree schneller Orientierung als mehrere ls-Aufrufe.
  • mkdir (make directory): Erstellt neue Verzeichnisse. mkdir Projekte legt einen Ordner im aktuellen Verzeichnis an. Mit mkdir -p arbeit/2026/rechnungen erzeugt Linux fehlende Zwischenordner automatisch. Ohne -p bricht mkdir ab, wenn ein Zwischenordner fehlt oder das Ziel bereits existiert.
  • rmdir (remove directory): Löscht ausschließlich leere Verzeichnisse. Enthält der Ordner Dateien, verweigert rmdir die Ausführung. Dadurch eignet sich der Befehl für sicheres Aufräumen leerer Testordner. Für Ordner mit Inhalt wäre rm -r nötig, das deutlich riskanter arbeitet.
  • pushd und popd: Speichern Verzeichnisse auf einem Stapel und springen später zurück. pushd /etc wechselt nach /etc und merkt sich den vorherigen Ort; popd kehrt zurück. Das hilft, wenn man zwischen Projektordner, Logdateien und Konfigurationspfaden arbeitet.

Ein sicherer Einsteiger-Workflow lautet: pwd zeigt den Standort, ls -lah zeigt den Inhalt, cd zielordner wechselt kontrolliert, und pwd prüft den neuen Standort. Vor jedem Lösch-, Kopier- oder Rechtebefehl sollte diese kurze Kontrolle zur Gewohnheit werden.

BefehlEinfach erklärtBeispielTypische Rückmeldung
pwdZeigt den aktuellen Ordner.pwd/home/<benutzer>
cdWechselt in ein Verzeichnis.cd /etc, cd ~, cd -, cd ..Kein Text; der Prompt steht danach im Zielpfad.
lsListet Dateien und Ordner auf.ls -lahDateiliste mit Rechten, Besitzer, Größe und Datum.
treeZeigt Ordner als Baum.tree -L 2Hierarchische Struktur bis zur angegebenen Tiefe.
mkdirErstellt Ordner.mkdir Projekte, mkdir -p a/b/cMeist kein Text; der Ordner ist danach vorhanden.
rmdirLöscht leere Ordner.rmdir AltKein Text oder Fehler, falls der Ordner nicht leer ist.
pushd/popdSpringt zwischen gemerkten Ordnern.pushd /etc, danach popdTerminal zeigt den Verzeichnisstapel.

Dateien erstellen, kopieren, verschieben, löschen

Dateibefehle wirken unmittelbar auf echte Daten. Anfänger sollten deshalb zuerst mit einem Testordner arbeiten: mkdir ~/terminal-test, cd ~/terminal-test, touch notiz.txt. So lassen sich Kopieren, Umbenennen und Löschen gefahrlos üben. Vor Operationen in fremden Ordnern helfen ls -lah und file dateiname, um Ziel, Typ und Inhalt grob zu prüfen.

  • touch: Erstellt eine leere Datei oder aktualisiert den Zeitstempel einer vorhandenen Datei. touch notizen.txt erzeugt eine Datei ohne Inhalt. Der Befehl eignet sich für Tests, Platzhalterdateien und Skripte, die eine Datei sicherstellen müssen.
  • cp (copy): Kopiert Dateien oder Ordner. cp bericht.pdf bericht-kopie.pdf kopiert eine Datei. Mit cp -r Bilder Sicherung werden Ordner rekursiv kopiert. Für Backups eignet sich häufig cp -a, weil Rechte, Zeitstempel und symbolische Links besser erhalten bleiben. Mit cp -i fragt Linux nach, bevor vorhandene Dateien überschrieben werden.
  • mv (move): Verschiebt oder benennt Dateien und Ordner um. mv alt.txt neu.txt benennt eine Datei um, mv foto.jpg ~/Bilder/ verschiebt sie. Bestehende Zieldateien können überschrieben werden; mv -i schützt durch Nachfrage. Vor großen Verschiebeaktionen sollte man Ziel und Quelle mit ls prüfen.
  • rm (remove): Löscht Dateien endgültig aus dem Dateisystem, ohne Papierkorb. rm test.txt löscht eine Datei, rm -r ordner löscht Ordner samt Inhalt. rm -f unterdrückt Rückfragen und Fehlermeldungen und sollte nur verwendet werden, wenn Pfade eindeutig geprüft wurden. GNU rm schützt standardmäßig vor dem Löschen von /, aber falsche Pfade, falsch gesetzte Variablen, eingebundene Datenträger oder rekursive Löschungen in /home bleiben gefährlich.
  • trash-cli: Bietet eine sicherere Alternative zum direkten Löschen. Nach Installation mit sudo apt install trash-cli verschiebt trash-put datei.txt Dateien in den Papierkorb. Mit trash-list sieht man gelöschte Dateien, mit trash-restore lassen sie sich wiederherstellen. Für Einsteiger ist das oft die bessere Gewohnheit als sofortiges rm.
  • nano: Öffnet einen einfachen Terminal-Editor. nano datei.txt erstellt oder bearbeitet eine Textdatei. Speichern erfolgt mit Strg + O, Bestätigung mit Enter, Beenden mit Strg + X. Für erste Konfigurationsänderungen ist nano leichter zugänglich als vim.
  • cat: Gibt kurze Dateien direkt im Terminal aus oder verknüpft Inhalte. cat notizen.txt zeigt den Inhalt. Für lange Dateien ist cat ungeeignet, weil der Text schnell durchläuft. Mit Umleitungen wie > und >> kann cat Dateien erzeugen oder erweitern, dabei besteht aber Überschreibungsgefahr.
  • less: Zeigt lange Dateien seitenweise an. Mit den Pfeiltasten scrollt man, /suchwort sucht im Text, n springt zum nächsten Treffer und q beendet die Ansicht. Logdateien, Konfigurationen und lange Befehlsausgaben lassen sich mit less wesentlich sicherer lesen als mit cat.
  • head und tail: head zeigt den Anfang einer Datei, tail das Ende. Standard sind jeweils zehn Zeilen. head -n 20 datei.log zeigt die ersten 20 Zeilen, tail -n 50 datei.log die letzten 50. Mit tail -f /var/log/syslog beobachtet man neue Logeinträge live.

Ein gutes Schutzmuster vor riskanten Dateioperationen lautet: erst Quelle anzeigen, dann Ziel anzeigen, dann mit Nachfrageoption ausführen. Beispiel: ls -lah quelle.txt zielordner/, danach cp -i quelle.txt zielordner/. Bei Massenoperationen mit Platzhaltern sollte echo *.txt zuerst zeigen, welche Dateien die Shell tatsächlich auswählt.

BefehlEinfach erklärtBeispielRisiken und Tipps
touchLeere Datei anlegen oder Zeitstempel aktualisieren.touch notizen.txtÄndert bei vorhandenen Dateien den Zeitstempel.
cpDateien oder Ordner kopieren.cp -i bericht.pdf kopie.pdf, cp -a Projekt Projekt.bak-i fragt vor Überschreiben, -a eignet sich für Sicherungskopien.
mvVerschieben oder umbenennen.mv -i alt.txt neu.txtKann Zieldateien überschreiben; Ziel vorher prüfen.
rmDateien endgültig löschen.rm -i test.txtKeine Papierkorb-Funktion; sicherer mit trash-put.
nanoTextdatei bearbeiten.nano notizen.txtStrg + O speichert, Strg + X beendet.
cat/lessDateien anzeigen.cat kurz.txt, less /var/log/syslogless für lange Dateien bevorzugen.
head/tailAnfang oder Ende anzeigen.tail -f app.log-f beobachtet neue Zeilen live.

Suchen, Finden und Inspektion

Suchen im Terminal beantwortet drei verschiedene Fragen: Wo liegt eine Datei? Welche Datei enthält einen bestimmten Text? Welches Programm führt die Shell aus? find durchsucht das echte Dateisystem, grep durchsucht Inhalte, locate nutzt einen schnellen Index, und type erklärt, ob ein Name ein Programm, Alias, Shell-Builtin oder eine Funktion ist.

  • find: Sucht Dateien und Verzeichnisse nach Name, Typ, Größe, Zeit oder Rechten. find ~/Dokumente -name "*.pdf" findet PDF-Dateien im Dokumente-Ordner. find ~/ -type f -size +100M findet Dateien größer als 100 MB. Mit -type d sucht man nur Ordner, mit -mtime -7 Dateien, die in den letzten sieben Tagen geändert wurden. Auf großen Dateisystemen kann find spürbar Last erzeugen.
  • grep: Durchsucht Text nach Mustern. grep -i "error" logfile.txt findet „error“ unabhängig von Groß- und Kleinschreibung. grep -n zeigt Zeilennummern, grep -r durchsucht Unterordner, grep -v kehrt die Suche um. Für Loganalysen eignet sich grep -i "failed" /var/log/syslog. Binärdateien, Archive und Office-Dokumente sind für normales grep nicht ideal.
  • locate: Sucht Dateinamen über eine Datenbank und arbeitet dadurch sehr schnell. Auf manchen Systemen installiert man es mit sudo apt install plocate. Die Datenbank aktualisiert sudo updatedb. Neue Dateien erscheinen erst nach dieser Aktualisierung in den Treffern. Für aktuelle oder sehr präzise Suchen bleibt find zuverlässiger.
  • which: Zeigt den Pfad eines ausführbaren Programms, wenn es über die Umgebungsvariable PATH gefunden wird. Statt which python ist auf modernen Mint-Systemen which python3 oder command -v python3 sinnvoller. which erkennt jedoch nicht immer Aliase oder Shell-Funktionen.
  • whereis: Sucht Binärdateien, Quellcode-Orte und Handbuchseiten in typischen Systempfaden. whereis ls zeigt zum Beispiel Programmpfad und Manpage. Der Befehl liefert eine schnelle Übersicht, ersetzt aber keine präzise Paket- oder Dateisuche.
  • type: Zeigt, wie die Shell einen Befehl interpretiert. type cd zeigt, dass cd ein Shell-Builtin ist. type ls kann einen Alias wie ls --color=auto offenlegen. Bei unerwartetem Verhalten ist type oft aussagekräftiger als which.
  • file und stat: file datei erkennt Dateitypen anhand des Inhalts, nicht nur anhand der Endung. stat datei zeigt Größe, Besitzer, Rechte, Inode und Zeitstempel. Beide Befehle helfen, unbekannte Dateien vor dem Öffnen oder Bearbeiten einzuschätzen.

Praktische Suchketten verbinden mehrere Werkzeuge: find ~/Downloads -type f -name "*.iso" -print findet ISO-Dateien, grep -Rni "server_name" /etc/nginx sucht rekursiv mit Zeilennummern und ohne Beachtung der Großschreibung, command -v firefox prüft den tatsächlich aufrufbaren Programmpfad. Dateinamen mit Leerzeichen verarbeitet find -print0 zusammen mit xargs -0 sicher.

BefehlEinfach erklärtBeispielHinweise
findSucht live im Dateisystem.find ~/ -type f -name "*.pdf"Genau, aber auf großen Verzeichnissen langsamer.
grepFindet Textmuster.grep -Rni "error" /var/log-n Zeilennummer, -i ohne Groß/Klein, -r rekursiv.
locateSucht schnell per Index.sudo updatedb, danach locate dateinameIndex kann veraltet sein.
which/command -vZeigt Programmpfad.command -v python3command -v eignet sich gut für Skripte.
typeErklärt Alias, Builtin oder Programm.type lsWichtig bei unerwartetem Befehlsverhalten.
file/statErkennt Typ und Metadaten.file download, stat datei.txtNützlich vor dem Öffnen unbekannter Dateien.

Shell-Grundlagen: Operatoren, Pipes, Umleitungen

Die Shell verbindet kleine Werkzeuge zu größeren Arbeitsschritten. Jeder Befehl liefert einen Exit-Code: 0 bedeutet Erfolg, jeder andere Wert signalisiert einen Fehler oder Sonderzustand. Operatoren wie &&, ||, Pipes und Umleitungen entscheiden, was mit Ausgabe, Fehlern und Folgekommandos passiert. Wer diese Mechanik versteht, schreibt robustere Befehle und erkennt Fehler schneller.

  • &&: Führt den zweiten Befehl nur aus, wenn der erste erfolgreich war. sudo apt update && sudo apt upgrade startet das Upgrade nur, wenn die Paketlisten erfolgreich aktualisiert wurden. Das ist sicherer als eine bloße Aneinanderreihung mit Semikolon.
  • ||: Führt den zweiten Befehl nur aus, wenn der erste fehlschlägt. ping -c 1 pcffm.de || echo "Ziel nicht erreichbar" gibt eine eigene Fehlermeldung aus, wenn der Ping keinen Erfolg meldet.
  • |: Leitet die Standardausgabe eines Befehls als Eingabe an den nächsten weiter. dmesg | grep -i usb filtert Kernelmeldungen nach USB-Bezug. Pipes verändern keine Dateien, solange kein nachfolgender Befehl schreibt oder löscht.
  • > und >>: > schreibt Ausgabe in eine Datei und überschreibt vorhandene Inhalte. >> hängt Ausgabe an. ls > inhalt.txt ersetzt die Datei inhalt.txt, date >> protokoll.txt ergänzt eine neue Zeile. Für Anfänger ist > eine häufige Datenverlustquelle.
  • 2> und 2>&1: Standardausgabe hat Kanal 1, Fehlerausgabe Kanal 2. befehl >out.log 2>err.log trennt normale Ausgabe und Fehler. befehl >all.log 2>&1 schreibt beides in dieselbe Datei. Diese Trennung ist wichtig für Skripte und Fehleranalysen.
  • tee: Zeigt Ausgabe im Terminal und schreibt sie gleichzeitig in eine Datei. ls -lah | tee ausgabe.txt dokumentiert eine Ausgabe, ohne sie vom Bildschirm zu verlieren. Mit tee -a wird angehängt. Für Root-Dateien nutzt man echo "Eintrag" | sudo tee -a /etc/datei.conf, weil die Umleitung selbst sonst ohne Root-Rechte passiert.
  • Quoting: Einfache Anführungszeichen schützen Text vollständig vor Shell-Auswertung, doppelte erlauben Variablenersetzung. '$HOME' bleibt wörtlich, "$HOME" wird zum Home-Pfad. Variablen sollten fast immer in doppelte Anführungszeichen: "$dateiname" schützt Leerzeichen und Sonderzeichen.

Vor Umleitungen mit > schützt set -o noclobber in der aktuellen Shell vor versehentlichem Überschreiben vorhandener Dateien. Für einzelne bewusste Überschreibungen nutzt Bash dann >|. Wer Befehle dokumentieren möchte, verwendet tee; wer Fehler finden möchte, trennt Standardausgabe und Fehlerausgabe zunächst in zwei Dateien.

Operator oder SyntaxWas passiert?BeispielBest Practice
cmd1 ; cmd2Befehle laufen nacheinander, unabhängig vom Erfolg.echo A ; echo BNur für harmlose Befehle verwenden.
cmd1 && cmd2cmd2 läuft nur bei Erfolg von cmd1.sudo apt update && sudo apt upgradeEmpfohlen für abhängige Schritte.
cmd1 || cmd2cmd2 läuft nur bei Fehler von cmd1.test -f datei || echo "fehlt"Gut für klare Fehlerpfade.
cmd1 | cmd2Ausgabe wird weitergereicht.journalctl -b | grep -i errorIdeal für Filter und Auswertungen.
>/>>Ausgabe überschreiben oder anhängen.ls > out.txt, date >> log.txt> überschreibt ohne Nachfrage.
2>/2>&1Fehlerstrom umleiten oder zusammenführen.cmd >all.log 2>&1Für Logs bewusst trennen oder bündeln.
$( ... )Setzt Befehlsausgabe in einen anderen Befehl ein.echo "Kernel: $(uname -r)"Lesbarer als alte Backticks.
jobs/fg/bgSteuert Hintergrund- und Vordergrundjobs.programm &, jobs, fgNützlich bei langen Terminalaufgaben.

Dateirechte, Eigentum, umask, ACL

Linux trennt Rechte nach Besitzer, Gruppe und allen anderen. Die Grundrechte heißen Lesen (r), Schreiben (w) und Ausführen (x). Bei Dateien bedeutet x, dass sie als Programm oder Skript gestartet werden dürfen. Bei Ordnern bedeutet x, dass man den Ordner betreten und Einträge darin erreichen darf. Falsch gesetzte Rechte führen entweder zu „Permission denied“ oder zu unnötig offenen Dateien.

  • ls -l: Zeigt Rechte, Besitzer, Gruppe, Größe und Datum. Eine Ausgabe wie -rw-r--r-- bedeutet: normale Datei, Besitzer darf lesen und schreiben, Gruppe und andere dürfen lesen. Ein führendes d kennzeichnet Ordner, l symbolische Links.
  • chmod: Ändert Zugriffsrechte. Numerisch steht r=4, w=2, x=1. chmod 755 script.sh gibt dem Besitzer alle Rechte und anderen Lesen/Ausführen. Symbolisch ist oft lesbarer: chmod u+x script.sh macht ein Skript für den Besitzer ausführbar. Rekursive Änderungen mit chmod -R sollten nur nach genauer Prüfung laufen.
  • chown und chgrp: Ändern Besitzer und Gruppe. sudo chown benutzer:benutzer datei.txt setzt beides auf den genannten Benutzer. Nach Kopien mit sudo entstehen oft Root-Dateien im Home-Verzeichnis; sudo chown -R "$USER:$USER" ~/Projekt kann das korrigieren, sollte aber niemals unüberlegt auf /, /usr oder /etc angewendet werden.
  • umask: Bestimmt, welche Rechte neue Dateien und Ordner standardmäßig nicht erhalten. Bei umask 022 entstehen Dateien meist mit 644 und Ordner mit 755. Eine strengere umask 077 macht neue Dateien und Ordner nur für den Besitzer zugänglich. Dauerhaft setzt man die Maske in geeigneten Shell- oder Login-Konfigurationsdateien.
  • getfacl und setfacl: Anzeigen und Setzen erweiterter ACL-Rechte. getfacl projekt zeigt klassische Rechte und zusätzliche Einträge. setfacl -m u:andreas:rwx projekt gibt dem Benutzer Andreas gezielte Rechte, ohne Besitzer oder Gruppe zu ändern. Das Paket acl ist bei Bedarf installierbar.
  • lsattr und chattr: Zeigen und setzen besondere Dateiattribute. sudo chattr +i wichtig.txt macht eine Datei unveränderlich, solange das Attribut aktiv ist. Auch Root kann sie dann nicht löschen oder überschreiben, kann das Attribut aber mit sudo chattr -i wichtig.txt wieder entfernen. Diese Funktion schützt vor Versehen, kann aber Updates oder Konfigurationsänderungen blockieren.

Für Einsteiger reichen wenige Muster: Ein privater Text bleibt bei chmod 600 datei.txt nur für den Besitzer les- und schreibbar. Ein Skript startet nach chmod u+x script.sh. Ein Webordner gehört dem passenden Dienstbenutzer oder einer passenden Gruppe, nicht pauschal allen. Rechte wie 777 lösen kurzfristig „Permission denied“, schaffen aber häufig Sicherheitsprobleme und sollten fast nie die Lösung sein.

BefehlEinfach erklärtBeispielHinweise
ls -lZeigt Rechte, Besitzer und Gruppe.ls -l script.shRechteklassen: User, Group, Others.
chmodÄndert Rechte numerisch oder symbolisch.chmod 750 datei, chmod u+x script.sh-R nur mit Vorsicht.
chown/chgrpÄndert Besitzer oder Gruppe.sudo chown alice:staff pfadNach Root-Kopien häufig nötig.
umaskSteuert Standardrechte neuer Dateien.umask 022Dateien meist 644, Ordner meist 755.
getfacl/setfaclVerwaltet erweiterte Rechte.setfacl -m u:alice:rwx proj/Gut für Mehrbenutzerordner.
lsattr/chattrVerwaltet besondere Attribute.sudo chattr +i wichtig.txtMit -i wieder lösbar machen.

Paketverwaltung: apt, dpkg, Flatpak

Linux Mint 22 nutzt Debian-Pakete aus Ubuntu-/Mint-Paketquellen, ergänzt durch Mint-eigene Werkzeuge und optional Flatpak. Die grafische Aktualisierungsverwaltung bleibt für viele Nutzer die komfortabelste und sicherste Update-Zentrale. Im Terminal übernimmt apt die tägliche Paketverwaltung, dpkg arbeitet auf niedrigerer Ebene mit lokalen .deb-Dateien, und flatpak verwaltet isolierte Anwendungen aus Flatpak-Remotes wie Flathub.

  • apt update: Aktualisiert die lokale Paketliste anhand der eingerichteten Paketquellen. Der Befehl installiert noch keine neuen Programmversionen, sondern lädt Informationen über verfügbare Pakete und Versionen. Vor Installationen und Upgrades ist sudo apt update der richtige erste Schritt.
  • apt upgrade: Aktualisiert installierte Pakete konservativ. Das System zeigt vorab, welche Pakete aktualisiert werden. Anfänger sollten die Zusammenfassung lesen, bevor sie bestätigen. Für normale Pflege genügt dieser Befehl häufig, besonders wenn zusätzlich die Mint-Aktualisierungsverwaltung genutzt wird.
  • apt full-upgrade: Darf zur Lösung von Abhängigkeiten auch Pakete entfernen oder zusätzliche Pakete installieren. Dadurch kann es größere Systemänderungen durchführen als apt upgrade. Vor Kernel-, Treiber- oder großen Desktop-Änderungen empfiehlt sich ein Timeshift-Snapshot.
  • apt install: Installiert neue Pakete aus den Paketquellen. sudo apt install vlc installiert VLC. Mehrere Pakete können gemeinsam angegeben werden: sudo apt install curl git tree. Ohne sudo fehlen die nötigen Systemrechte.
  • apt remove und apt purge: remove entfernt Programme, lässt systemweite Konfigurationsdateien meist zurück. purge entfernt zusätzlich Paketkonfigurationen. Persönliche Einstellungen im Home-Verzeichnis bleiben davon oft unberührt und müssen bei Bedarf separat geprüft werden.
  • apt autoremove: Entfernt Pakete, die automatisch als Abhängigkeiten installiert wurden und nicht mehr benötigt werden. Die vorgeschlagene Liste sollte man lesen, bevor man bestätigt. Besonders nach Kernel- oder Treiberänderungen ist Vorsicht sinnvoll.
  • apt search, apt show und apt-cache policy: apt search editor sucht Paketnamen und Beschreibungen. apt show firefox zeigt Details. apt-cache policy paketname zeigt installierte und verfügbare Versionen sowie die Herkunft aus den Paketquellen.
  • dpkg: Installiert, entfernt und untersucht lokale Debian-Pakete. sudo dpkg -i paket.deb installiert eine lokale Datei, löst Abhängigkeiten aber nicht selbstständig vollständig auf. Danach behebt sudo apt -f install fehlende Abhängigkeiten. Mit dpkg -S /usr/bin/wget findet man heraus, zu welchem Paket eine Datei gehört.
  • flatpak: Installiert Anwendungen distributionsübergreifend und oft in aktuelleren Versionen. flatpak search vlc sucht, flatpak install flathub org.videolan.VLC installiert, flatpak update aktualisiert Flatpak-Apps. Flatpaks benötigen oft mehr Speicherplatz, weil sie eigene Laufzeitumgebungen mitbringen.

Ein sicherer Update-Ablauf lautet: Snapshot prüfen oder erstellen, sudo apt update ausführen, Upgrade-Vorschau lesen, dann sudo apt upgrade starten. Bei Problemen liefern apt list --upgradable, apt-cache policy paket und /var/log/apt/history.log wichtige Hinweise. Fremde Paketquellen, PPAs und ungeprüfte .deb-Dateien erhöhen das Risiko von Abhängigkeitsproblemen.

BefehlZweckBeispielTipps
sudo apt updatePaketlisten aktualisieren.sudo apt updateVor Installation und Upgrade ausführen.
sudo apt upgradeInstallierte Pakete aktualisieren.sudo apt upgradeZusammenfassung vor Bestätigung lesen.
sudo apt full-upgradeUmfassendere Aktualisierung mit Abhängigkeitsänderungen.sudo apt full-upgradeVorher Snapshot sinnvoll.
sudo apt install/remove/purgePakete installieren oder entfernen.sudo apt install vlcpurge entfernt Paketkonfigurationen.
sudo apt autoremoveNicht mehr benötigte Abhängigkeiten entfernen.sudo apt autoremoveVorgeschlagene Liste prüfen.
apt show/apt-cache policyPaketdetails und Herkunft anzeigen.apt-cache policy opensslHilft bei Versionsfragen.
dpkg -i/apt -f installLokale .deb-Pakete installieren und Abhängigkeiten reparieren.sudo dpkg -i paket.debNur vertrauenswürdige Quellen nutzen.
flatpakFlatpak-Anwendungen verwalten.flatpak install flathub org.videolan.VLCMehr Speicherbedarf, oft aktuelle App-Versionen.

Prozesse, Ressourcen, systemd und Logs

Ein laufendes Programm erscheint unter Linux als Prozess mit einer Prozess-ID, kurz PID. Wenn ein Programm hängt, viel CPU verbraucht oder einen Dienst blockiert, helfen Prozess- und Logbefehle bei der Diagnose. Systemdienste verwaltet Linux Mint über systemd; viele Fehlermeldungen landen im Journal und lassen sich mit journalctl filtern.

  • top: Zeigt laufende Prozesse in Echtzeit. Die ressourcenintensivsten Prozesse stehen standardmäßig weit oben. Mit q beendet man die Ansicht, mit k kann man einen Prozess beenden. Anfänger sollten vor dem Beenden die PID, den Benutzer und den Prozessnamen sorgfältig prüfen.
  • htop: Bietet eine interaktive, übersichtlichere Prozessansicht. Installation mit sudo apt install htop. Prozesse lassen sich suchen, sortieren und mit Funktionstasten steuern. htop eignet sich besonders gut, um CPU-, RAM- und Prozesslast schnell zu verstehen.
  • ps, pgrep und pkill: ps aux zeigt eine Momentaufnahme aller Prozesse. pgrep -fl firefox sucht PIDs samt Befehlszeile. pkill -TERM firefox sendet allen passenden Firefox-Prozessen ein normales Beenden-Signal. Bei pkill muss das Muster eindeutig sein, sonst beendet man mehr als beabsichtigt.
  • kill: Sendet Signale an eine PID. Ohne Option sendet kill PID das Signal TERM, damit ein Prozess sauber beenden kann. kill -KILL PID oder kill -9 PID erzwingt das Ende ohne Aufräumarbeiten und sollte nur die letzte Möglichkeit sein.
  • df und du: df -h zeigt freien und belegten Speicher auf Dateisystemen. du -sh * zeigt Größen im aktuellen Ordner. Bei vollem System helfen sudo du -xh /var | sort -h | tail oder ein interaktives Werkzeug wie ncdu, das mit sudo apt install ncdu installierbar ist.
  • free, uptime, vmstat und iostat: free -h zeigt RAM und Swap. uptime zeigt Laufzeit und Load Average. vmstat 1 beobachtet Systemwerte im Sekundentakt. iostat -xz 1 analysiert Datenträger-I/O und gehört zum Paket sysstat.
  • dmesg: Zeigt Kernelmeldungen, etwa zu Treibern, USB-Geräten, Datenträgern oder Hardwarefehlern. dmesg | grep -i usb filtert USB-Meldungen. Für aktuelle Systemlogs ist journalctl -k oft ebenfalls geeignet.
  • journalctl: Durchsucht das systemd-Journal. journalctl -b zeigt Meldungen seit dem aktuellen Start. journalctl -p warning..alert -b filtert Warnungen und schwerere Fehler. journalctl -u dienstname --since "1 hour ago" zeigt Meldungen eines Dienstes aus der letzten Stunde. Mit -f folgt man neuen Einträgen live.
  • systemctl: Steuert Dienste. systemctl status ssh zeigt Zustand und letzte Logzeilen. sudo systemctl restart dienst startet neu, sudo systemctl enable dienst aktiviert den Autostart, sudo systemctl disable dienst deaktiviert ihn. Vor Neustarts produktiver Dienste sollte man Konfigurationsdateien testen, falls der Dienst einen Prüfmodus bietet.

Eine einfache Fehlerkette lautet: Mit top oder htop prüfen, ob CPU oder RAM ausgelastet sind. Mit df -h prüfen, ob eine Partition voll ist. Mit systemctl status dienst den Dienstzustand lesen. Mit journalctl -u dienst -b die passenden Logs anzeigen. Erst danach sollte man Prozesse beenden oder Dienste neu starten.

BefehlMonitoring oder SteuerungBeispielHinweise
top/htopLive-Prozessübersicht.htophtop ist einsteigerfreundlicher.
ps/pgrep/pkillProzesse listen, finden und beenden.pgrep -fl nginxpkill nur mit eindeutigem Muster.
killSignal an PID senden.kill 1234, kill -KILL 1234-KILL nur im Notfall.
df/du/ncduSpeicherplatz und Ordnergrößen analysieren.df -h, du -sh *ncdu hilft beim gezielten Aufräumen.
free/uptime/vmstatRAM, Last und Systemzustand anzeigen.free -h, vmstat 1Intervalle zeigen Trends besser als Einzelwerte.
journalctlSystemlogs abfragen.journalctl -b -p warning..alertMit --since und -u gezielt filtern.
systemctlDienste steuern.systemctl status sshNeustarts nur nach Prüfung der Ursache.

Hardware, Datenträger, Dateisysteme

Hardware- und Datenträgerbefehle liefern wichtige Diagnoseinformationen, können aber bei Partitionierung und Formatierung Daten zerstören. Lesende Befehle wie lsblk, lspci oder smartctl -a sind für die Analyse geeignet. Schreibende Befehle wie mkfs, fdisk, parted, mkswap und swapon verlangen geprüfte Gerätepfade und ein aktuelles Backup.

  • uname -a und /etc/os-release: uname -a zeigt Kernel, Architektur und Hostname. cat /etc/os-release zeigt Distribution, Version und Codename. Diese Informationen gehören in viele Support-Anfragen, weil Treiber, Kernel und Paketquellen davon abhängen.
  • lscpu und lsmem: lscpu zeigt CPU-Architektur, Kerne, Threads, Virtualisierungsmerkmale und Cache-Informationen. lsmem zeigt Speicherblöcke. Für normale Desktop-Diagnosen reicht oft lscpu zusammen mit free -h.
  • lspci -nn und lsusb: lspci -nn listet PCI-Geräte mit Hersteller- und Geräte-IDs, was bei WLAN-, Grafik- und Audio-Treibern hilft. lsusb zeigt angeschlossene USB-Geräte. lsusb -v liefert viele Details und kann sehr lang ausfallen.
  • lsblk -f und blkid: Zeigen Blockgeräte, Partitionen, Dateisysteme, Labels, UUIDs und Mountpoints. lsblk -f ist vor Mount-, Formatier- oder fstab-Arbeiten Pflicht. UUIDs aus blkid eignen sich für stabile Einträge in /etc/fstab, weil Gerätenamen wie /dev/sda wechseln können.
  • smartctl: Liest SMART-Daten von Festplatten und SSDs aus. Nach Installation mit sudo apt install smartmontools zeigt sudo smartctl -a /dev/sda Betriebsstunden, Temperatur, Selbsttests und Fehlerhinweise. Bei NVMe-Laufwerken kann der Gerätename /dev/nvme0n1 lauten. SMART-Werte sind Hinweise, ersetzen aber kein Backup.
  • mount, findmnt und umount: mount bindet Dateisysteme ein, findmnt zeigt aktive Mountpoints strukturiert, umount hängt Dateisysteme aus. Vor dem Entfernen externer Datenträger sollte sync oder das saubere Aushängen sicherstellen, dass Schreibpuffer geschrieben wurden. Schlägt umount fehl, nutzt noch ein Prozess den Datenträger.
  • fdisk und parted: Bearbeiten Partitionstabellen. Moderne fdisk-Versionen können auch GPT verwalten; parted eignet sich besonders für GPT, Skripting und bestimmte Größen-/Layoutaufgaben. Beide Werkzeuge können Partitionen löschen oder unbrauchbar machen. Vor Änderungen müssen Backup, Zielgerät und Partitionstabelle geprüft sein.
  • mkfs.ext4, mkswap und swapon: mkfs.ext4 /dev/sdX1 erstellt ein ext4-Dateisystem und löscht vorhandene Daten auf dieser Partition. mkswap /dev/sdX2 richtet Swap ein, swapon /dev/sdX2 aktiviert ihn. Platzhalter wie /dev/sdX1 müssen immer durch den exakt geprüften Gerätenamen ersetzt werden.

Vor Datenträgeränderungen gilt eine feste Prüfkette: lsblk -f ausführen, Größe und Mountpoint prüfen, das Zielgerät anhand von Hersteller, Größe und UUID identifizieren, wichtige Daten sichern, Befehl noch einmal gegenlesen. Niemals darf ein Beispielbefehl mit /dev/sdX unverändert ausgeführt werden.

BefehlZweckBeispielRisiken und Tipps
uname -a/cat /etc/os-releaseKernel- und Distributionsinfos.cat /etc/os-releaseGut für Support und Kompatibilität.
lscpu/free -hCPU- und RAM-Überblick.lscpuSchnelle Hardwarebasis.
lspci -nn/lsusbGeräte und IDs anzeigen.lspci -nnHilfreich für Treibersuche.
lsblk -f/blkidDatenträger, UUIDs und Mountpoints anzeigen.lsblk -fPflicht vor Mount- oder Formatierarbeiten.
smartctlSMART-Zustand lesen.sudo smartctl -a /dev/sdaPaket smartmontools; Backup bleibt nötig.
mount/findmnt/umountDateisysteme ein- und aushängen.findmntVor Entfernen externer Datenträger aushängen.
fdisk/partedPartitionen bearbeiten.sudo fdisk -lSchreibaktionen nur mit Backup.
mkfs.ext4/mkswapDateisystem oder Swap erstellen.sudo mkfs.ext4 /dev/sdX1Löscht Daten auf der Zielpartition.

Netzwerk, DNS und curl

Netzwerkdiagnose funktioniert am besten in Schichten. Zuerst prüft man die lokale Adresse, dann die Route zum Gateway, dann Internet-Erreichbarkeit ohne DNS, danach Namensauflösung und schließlich den eigentlichen Dienst wie HTTP oder SSH. Dadurch erkennt man, ob ein Problem am WLAN, Router, DNS, Server oder an einer Anwendung liegt.

  • ip: Zeigt und verändert Netzwerkkonfiguration. ip a listet Interfaces und IP-Adressen, ip r zeigt Routen und Standardgateway, ip neigh zeigt Nachbarn im lokalen Netz. Das Werkzeug ersetzt ältere Befehle wie ifconfig und route.
  • nmcli: Steuert NetworkManager im Terminal. nmcli dev status zeigt Geräte und Verbindungsstatus, nmcli con show listet gespeicherte Verbindungen, nmcli dev wifi list zeigt WLANs. Linux Mint nutzt NetworkManager typischerweise für Desktop-Netzwerke.
  • ping: Prüft Erreichbarkeit per ICMP Echo Request. ping -c 4 1.1.1.1 testet Internet ohne DNS-Namen, ping -c 4 pcffm.de testet inklusive DNS. Keine Antwort bedeutet nicht automatisch, dass ein Server offline ist; Firewalls können ICMP blockieren.
  • traceroute und mtr: Zeigen den Weg von Paketen zum Ziel. traceroute pcffm.de ist eine Momentaufnahme, mtr pcffm.de beobachtet fortlaufend. Beide Werkzeuge müssen eventuell installiert werden. Paketverluste auf Zwischenroutern sind nicht immer kritisch, wenn das Ziel zuverlässig antwortet.
  • ss: Zeigt Netzwerkverbindungen und lauschende Ports. ss -tuln zeigt TCP-/UDP-Ports numerisch. ss -tulpn zeigt zusätzlich Prozesse, benötigt dafür oft Root-Rechte. Der Befehl ersetzt in vielen Fällen netstat.
  • dig und nslookup: Prüfen DNS. dig pcffm.de A +short zeigt IPv4-Adressen, dig pcffm.de MX Mailserver, dig @1.1.1.1 pcffm.de fragt gezielt einen Resolver. nslookup ist älter, aber für schnelle Tests weiterhin verbreitet.
  • resolvectl und nmcli dev show: Zeigen DNS-Konfiguration je nach Systemzustand. resolvectl status ist hilfreich, wenn systemd-resolved aktiv genutzt wird. nmcli dev show zeigt DNS-Server aus NetworkManager-Sicht. Bei Desktop-Systemen lohnt es sich, beide Perspektiven zu kennen.
  • curl: Ruft URLs, HTTP-Header und APIs ab. curl -I -L https://www.pcffm.de zeigt Header und folgt Weiterleitungen. curl -o datei.iso URL speichert unter gewünschtem Namen, curl -C - -O URL setzt einen abgebrochenen Download fort. Für Skripte ist curl -fsS beliebt: Fehler führen zu einem Fehlercode, stille Ausgabe bleibt ruhig, Fehlermeldungen erscheinen dennoch.
  • wget: Lädt Dateien robust herunter. wget -c URL setzt einen abgebrochenen Download fort. Für rekursive Downloads oder einfache Dateiabrufe ist wget oft bequemer als curl, während curl bei APIs und HTTP-Details stärker ist.
  • ssh, scp und rsync: ssh benutzer@server öffnet eine verschlüsselte Sitzung. scp datei.txt benutzer@server:/ziel/ kopiert eine Datei. rsync -avh -e ssh quelle/ benutzer@server:/ziel/ synchronisiert effizient nur Änderungen. Für dauerhafte Nutzung sind SSH-Schlüssel mit ssh-keygen -t ed25519 und ssh-copy-id sinnvoller als Passwörter.

Eine klare Diagnosekette sieht so aus: ip a prüft, ob eine Adresse vorhanden ist. ip r prüft das Gateway. ping -c 4 1.1.1.1 prüft Internet ohne DNS. dig pcffm.de +short prüft DNS. curl -I -L https://www.pcffm.de prüft HTTP und Weiterleitungen. So grenzt man Fehler Schritt für Schritt ein.

BefehlEinfach erklärtBeispielTipps und Risiken
ip a/ip r/ip neighAdressen, Routen und Nachbarn anzeigen.ip a, ip rGrundlage jeder Netzwerkdiagnose.
nmcliNetworkManager im Terminal steuern.nmcli dev statusPraktisch für WLAN- und LAN-Status.
ping/traceroute/mtrErreichbarkeit und Route prüfen.ping -c 4 1.1.1.1ICMP kann blockiert sein.
ss/ncPorts und Verbindungen prüfen.ss -tuln, nc -vz host 443ss ersetzt häufig netstat.
dig/nslookupDNS-Abfragen durchführen.dig pcffm.de A +shortResolver mit @server gezielt wählen.
resolvectl/nmcli dev showDNS-Konfiguration anzeigen.nmcli dev show | grep DNSJe nach Setup beide Ansichten prüfen.
curlHTTP, Downloads und APIs testen.curl -I -L https://www.pcffm.deKeine ungeprüften Skripte per curl | bash ausführen.
ssh/scp/rsyncSicherer Remote-Zugriff und Transfer.ssh user@host, rsync -avh -e ssh quelle/ user@host:/ziel/SSH-Schlüssel statt Passwörter bevorzugen.

Backup, Archivierung, Verifikation

Ein Backup ist erst dann vertrauenswürdig, wenn es wiederherstellbar und überprüft ist. Kopieren allein reicht nicht: Man muss wissen, welche Daten gesichert wurden, ob die Sicherung vollständig ist, ob sie verschlüsselt werden muss und wie die Wiederherstellung funktioniert. Für Linux Mint sind Timeshift-Snapshots für Systemzustände und separate Backups für persönliche Daten eine sinnvolle Kombination.

  • rsync: Synchronisiert Dateien und Ordner lokal oder über SSH. rsync -avh quelle/ ziel/ kopiert Inhalte mit Archivmodus, verständlichen Größen und Fortschrittsinformationen. Mit --delete löscht rsync im Ziel Dateien, die in der Quelle fehlen; das ist für Spiegelungen nützlich, aber riskant. Vor produktiven Läufen sollte --dry-run zeigen, was passieren würde.
  • tar: Bündelt Dateien und Ordner in Archive. tar -czf backup.tar.gz /pfad erstellt ein gzip-komprimiertes Archiv, tar -xzf backup.tar.gz -C /ziel entpackt es. Mit --exclude lassen sich Cache- oder temporäre Ordner ausschließen. Vor dem Entpacken zeigt tar -tzf backup.tar.gz | less den Archivinhalt.
  • gzip, bzip2, xz und zstd: Komprimieren Daten mit unterschiedlichen Schwerpunkten. gzip ist schnell und verbreitet, bzip2 komprimiert oft stärker, aber langsamer, xz erreicht hohe Kompression bei höherem Zeitbedarf, zstd ist modern, schnell und effizient. Bereits komprimierte Dateien wie Videos, JPEGs oder ZIPs schrumpfen kaum weiter.
  • sha256sum: Berechnet Prüfsummen. sha256sum datei.iso erzeugt einen Hash, der mit Herstellerangaben verglichen werden kann. Für eigene Backups speichert sha256sum backup.tar.zst > backup.tar.zst.sha256 eine Prüfsumme. Später prüft sha256sum -c backup.tar.zst.sha256 die Integrität.
  • gpg: Verschlüsselt und signiert Dateien. gpg -c geheim.tar.zst erstellt eine symmetrisch verschlüsselte Datei mit Passphrase. Die Passphrase muss sicher verwahrt werden; ohne sie sind die Daten praktisch verloren. Für Team- oder Serverumgebungen können asymmetrische Schlüssel sinnvoller sein.
  • timeshift: Erstellt System-Snapshots, die besonders vor Updates, Treiberänderungen und Paketexperimenten nützlich sind. Unter Linux Mint ist Timeshift häufig bereits vorgesehen oder über die Systemwerkzeuge erreichbar; falls es fehlt, installiert sudo apt install timeshift das Paket. Timeshift ersetzt kein Backup persönlicher Daten, weil der Schwerpunkt auf Systemdateien liegt.
  • sync: Schreibt gepufferte Daten auf Datenträger. Nach großen Kopieraktionen auf externe Laufwerke kann sync helfen, bevor man den Datenträger aushängt. Es ersetzt aber nicht umount und ist kein Backup-Werkzeug.

Ein robuster Backup-Ablauf mit rsync lautet: Ziel einhängen, mit findmnt prüfen, mit rsync -avh --dry-run quelle/ ziel/ testen, Ausgabe lesen, danach ohne --dry-run ausführen, mit rsync -avh --dry-run erneut prüfen und das Ziel sauber aushängen. Bei Archiven ergänzt eine Prüfsumme die Integritätskontrolle.

WerkzeugZweckBeispielHinweise
rsyncInkrementell synchronisieren.rsync -avh --dry-run quelle/ ziel/--delete erst nach Testlauf verwenden.
tarArchive erstellen und entpacken.tar -czf backup.tar.gz /pfadArchivinhalt mit tar -tf prüfen.
KompressionSpeicherplatz sparen.tar -cf - /pfad | zstd -19 -o backup.tar.zstzstd ist oft schnell und effizient.
sha256sumIntegrität prüfen.sha256sum -c backup.sha256Prüfsumme getrennt und sicher speichern.
gpgDaten verschlüsseln oder signieren.gpg -c geheim.txtPassphrase nicht verlieren.
timeshiftSystem-Snapshots verwalten.sudo timeshift --create --comments "vor Update"Ergänzt, ersetzt aber keine Datenbackups.
syncSchreibpuffer auf Datenträger schreiben.syncVor Entfernen trotzdem sauber aushängen.

Automatisierung: Cron, at, systemd-Timer

Automatisierung startet Befehle ohne manuelle Eingabe. Das spart Zeit, verlangt aber besonders saubere Pfade, Logs und Fehlerbehandlung. Ein Befehl, der im interaktiven Terminal funktioniert, kann in Cron scheitern, weil Umgebung, Arbeitsverzeichnis und PATH anders sind. Deshalb sollten Skripte absolute Pfade nutzen, Ausgaben protokollieren und im Fehlerfall verständliche Meldungen erzeugen.

  • crontab: Plant wiederkehrende Aufgaben. crontab -e öffnet die persönliche Cron-Tabelle. Das Format lautet Minute, Stunde, Tag des Monats, Monat, Wochentag, Befehl. 15 2 * * * /usr/local/bin/backup.sh >>/var/log/backup.log 2>&1 startet täglich um 02:15 Uhr ein Backup-Skript und schreibt normale Ausgabe und Fehler ins Log.
  • at: Plant einmalige Aufgaben. echo "/pfad/script.sh" | at 23:00 startet ein Skript um 23:00 Uhr. atq zeigt geplante Jobs, atrm jobnummer löscht sie. Falls at fehlt, installiert sudo apt install at das Paket; der zugehörige Dienst muss laufen.
  • systemd-Timer: Planen Aufgaben über systemd. Sie bestehen meist aus einer .service-Unit und einer .timer-Unit. systemctl list-timers zeigt aktive Timer. Vorteile gegenüber Cron sind bessere Logs über journalctl, Abhängigkeiten wie Netzwerkverfügbarkeit und Optionen wie Persistent=true, damit verpasste Läufe nachgeholt werden können.

Für Anfänger empfiehlt sich ein Test in drei Schritten: Skript manuell starten, dann mit absolutem Pfad starten, dann erst automatisieren. Ein Skript sollte mit #!/usr/bin/env bash beginnen, bei Bedarf set -euo pipefail bewusst nutzen, seine Ausgabe in eine Logdatei schreiben und kritische Befehle vorher mit Testdaten prüfen. Geheimnisse wie Passwörter gehören nicht direkt in Cron-Zeilen.

WerkzeugWas macht es?BeispielHinweise
crontabWiederkehrende Jobs planen.crontab -eAbsolute Pfade und Logging verwenden.
atEinmalige Jobs planen.echo "/pfad/script.sh" | at 23:00Jobs mit atq prüfen.
systemd-TimerRobuste, logbare Planung über systemd.systemctl list-timersGut für Dienste, Abhängigkeiten und Nachhol-Läufe.
journalctlTimer- und Service-Logs anzeigen.journalctl -u backup.serviceFehler leichter nachvollziehbar als bei stillen Cronjobs.

Text/Daten-Pipelines (sed/awk/cut/jq)

Viele Linux-Werkzeuge verarbeiten Text zeilenweise. Dadurch lassen sich Logs, CSV-Dateien, Konfigurationsdateien und API-Ausgaben direkt im Terminal auswerten. Für Einsteiger ist wichtig: Erst anzeigen, dann filtern, dann verändern. Befehle wie sed -i, die Dateien direkt ändern, sollten erst ohne In-Place-Option getestet oder mit Sicherungskopie ausgeführt werden.

  • wc: Zählt Zeilen, Wörter und Bytes. wc -l logfile zeigt die Zeilenzahl einer Datei. In Pipes beantwortet grep -i error logfile | wc -l, wie viele Fehlerzeilen gefunden wurden. wc ist oft der schnellste Weg, Größenordnungen einzuschätzen.
  • cut: Schneidet Felder oder Zeichenbereiche aus. cut -d';' -f2 datei.csv gibt die zweite Spalte einer semikolongetrennten Datei aus. Für echte CSV-Dateien mit Anführungszeichen, eingebetteten Trennzeichen oder Zeilenumbrüchen ist cut zu schlicht; dann eignen sich spezialisierte CSV-Werkzeuge besser.
  • column -t: Formatiert getrennte Daten als lesbare Spalten. column -t -s';' datei.csv richtet semikolongetrennte Daten aus. Das verändert die Datei nicht, sondern verbessert die Ansicht im Terminal.
  • tr: Übersetzt oder löscht Zeichen. tr '[:lower:]' '[:upper:]' wandelt Kleinbuchstaben in Großbuchstaben. tr -d '\r' entfernt Windows-Wagenrückläufe aus Textströmen. Für einfache Zeichenoperationen ist tr schneller und klarer als komplexe reguläre Ausdrücke.
  • sed: Bearbeitet Textströme. sed -E 's/Muster/Ersatz/g' datei.txt ersetzt Text in der Ausgabe. Erst wenn das Ergebnis stimmt, sollte man mit Sicherung arbeiten, etwa sed -i.bak -E 's/alt/neu/g' datei.txt. Reguläre Ausdrücke sind mächtig, aber schon kleine Fehler können viele Zeilen verändern.
  • awk: Verarbeitet spaltenorientierte Daten mit Bedingungen und Berechnungen. awk -F, '{print $2}' datei.csv gibt die zweite kommagetrennte Spalte aus. awk '$5 > 100 {print $0}' datei zeigt Zeilen, deren fünftes Feld größer als 100 ist. Für strukturierte Textauswertungen ist awk eines der stärksten Standardwerkzeuge.
  • sort und uniq: Sortieren Zeilen und zählen Duplikate. Da uniq nur benachbarte Duplikate erkennt, kombiniert man fast immer sort | uniq -c. Für Häufigkeitslisten eignet sich sort datei | uniq -c | sort -nr.
  • diff und patch: diff -u alt.conf neu.conf zeigt Unterschiede im Unified-Diff-Format. patch < patch.diff wendet Änderungen an. Vor dem Patchen produktiver Konfigurationen sollte eine Sicherungskopie existieren, und patch --dry-run kann den Ablauf testen.
  • jq: Liest, formatiert und filtert JSON. curl -s https://api.example.org | jq . formatiert JSON lesbar. jq '.items[] | {id, name}' extrahiert ausgewählte Felder. Ohne jq sind moderne API-Antworten im Terminal oft schwer zu verstehen.

Eine typische Log-Pipeline lautet: grep -i "failed" /var/log/syslog | awk '{print $1, $2, $3, $5}' | sort | uniq -c | sort -nr | less. Sie filtert Fehlerzeilen, extrahiert ausgewählte Felder, zählt gleiche Muster und zeigt das Ergebnis blätterbar an. Solche Ketten sollte man schrittweise aufbauen, damit jeder Zwischenschritt verständlich bleibt.

ToolEinfach erklärtBeispielHinweise
wc/cut/columnZählen, Spalten schneiden, tabellarisch darstellen.wc -l datei, cut -d';' -f2 datei.csvBei komplexem CSV reichen einfache Trenner nicht.
tr/sed/awkZeichen, Zeilen und Felder transformieren.sed -E 's/alt/neu/g', awk -F, '{print $2}'Direktes Ändern erst nach Test.
sort/uniqSortieren und Duplikate zählen.sort namen.txt | uniq -c | sort -nruniq braucht sortierte Eingabe.
diff/patchDateien vergleichen und Änderungen anwenden.diff -u alt neu > patch.diffpatch --dry-run vor echten Änderungen.
jqJSON filtern und formatieren.curl -s API | jq '.items[] | {id, name}'Unverzichtbar bei API-Ausgaben.

Sicheres Arbeiten mit sudo (inkl. Schreibmustern)

sudo erweitert einen einzelnen Befehl auf Administratorrechte. Das ist notwendig für Paketinstallation, Systemkonfiguration, Dienste, Rechteänderungen und viele Dateien unter /etc, /usr oder /var. Gleichzeitig erhöht sudo die Schadenswirkung eines Fehlers. Ein sicherer Ablauf besteht aus Lesen, Sichern, Ändern, Prüfen und Rollback-Möglichkeit.

  • sudo -v und sudo -k: sudo -v bestätigt oder verlängert die aktuelle sudo-Berechtigung, ohne direkt einen Verwaltungsbefehl auszuführen. sudo -k verwirft die Sitzung, sodass beim nächsten sudo-Befehl wieder ein Passwort nötig ist. Das ist sinnvoll, wenn man eine Arbeit mit Root-Rechten bewusst beendet.
  • sudoedit: Bearbeitet Systemdateien über eine temporäre Kopie mit Benutzerrechten und schreibt danach mit erhöhten Rechten zurück. sudoedit /etc/ssh/sshd_config ist oft sicherer als einen Editor komplett mit Root-Rechten zu starten. Den Editor wählt sudo über SUDO_EDITOR, VISUAL oder EDITOR.
  • echo … | sudo tee: Schreibt als Root in Dateien, wenn eine normale Umleitung nicht reicht. sudo echo "Eintrag" >> /etc/datei.conf scheitert oft, weil die Shell die Umleitung ohne Root-Rechte öffnet. Richtig ist echo "Eintrag" | sudo tee -a /etc/datei.conf. Ohne -a überschreibt tee die Datei.
  • Rollback-Muster: Vor jeder Änderung an Systemdateien sollte eine Sicherung entstehen. sudo cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.bak bewahrt Rechte und Zeitstempel. Nach der Änderung prüft man die Konfiguration mit dem passenden Dienstwerkzeug, startet den Dienst neu und hält den Rückweg bereit: sudo cp -a /etc/ssh/sshd_config.bak /etc/ssh/sshd_config.
  • History und Geheimnisse: history zeigt frühere Befehle, Strg + R sucht rückwärts. Passwörter, Tokens und private Schlüssel gehören nicht in Befehlszeilen, weil sie in der History, in Prozesslisten oder Logs landen können. Für geheime Werte nutzt man Dateien mit restriktiven Rechten, Passwortmanager oder interaktive Eingaben.

Vor jedem sudo-Befehl sollte klar sein, welche Datei, welcher Dienst oder welches Paket verändert wird. Ein guter Kontrollsatz lautet: „Ich weiß, wo ich bin, welches Ziel ich ändere, wie ich den Erfolg prüfe und wie ich zurückrolle.“ Wer diesen Satz nicht beantworten kann, sollte den Befehl zunächst ohne Schreibwirkung untersuchen, eine Manpage lesen oder eine Sicherung anlegen.

Muster oder BefehlZweckBeispielBest Practice
sudo -v/sudo -kSudo-Sitzung prüfen oder beenden.sudo -v, sudo -kNach Admin-Arbeiten Sitzung bewusst schließen.
sudoeditSystemdateien sicher bearbeiten.sudoedit /etc/ssh/sshd_configEditor nicht unnötig komplett als Root starten.
echo … | sudo teeRoot-Schreibrechte mit Pipe korrekt nutzen.echo "Eintrag" | sudo tee -a /etc/xyz.conf-a hängt an, ohne -a wird überschrieben.
Backup vor ÄnderungRollback ermöglichen.sudo cp -a datei datei.bakVor Konfigurationsänderungen Standard.
Prüfen vor NeustartFehler vor Dienstneustart finden.sudo sshd -tWenn ein Dienst Testoptionen bietet, immer nutzen.
History bewusst nutzenBefehle wiederfinden und Fehler vermeiden.history, Strg + RKeine Geheimnisse in Befehlszeilen schreiben.

Wer die Terminalarbeit systematisch angeht, gewinnt schnell Sicherheit: Orientierung mit pwd und ls, vorsichtige Dateioperationen mit Nachfrageoptionen, gezielte Suche mit find und grep, nachvollziehbare Updates mit apt, Diagnose über systemctl und journalctl, Backups mit rsync, tar und Prüfsummen. Die Stärke des Terminals liegt nicht in auswendig gelernten Befehlen, sondern in klaren Prüfschritten, sicheren Mustern und der Fähigkeit, Ausgaben richtig zu lesen.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Werbung

ASUS Zenbook S 14 UX5406SA Laptop |Copilot+ PC|14" WQXGA+ 16:10 120Hz OLED Display|32GB RAM|1TB SSD|Intel Core Ultra 7 258V|Intel Arc|Win11 Home|QWERTZ| Scandinavian White (AC Adapter Sold Separately)ℹ︎
Kein Angebot verfügbar.
Lenovo ThinkPad L16 Gen 1 (16", 512 GB, 16 GB, DE, Intel Core Ultra 5 225), Notebook, Schwarzℹ︎
€ 1.149,00
Preise inkl. MwSt., zzgl. Versandkosten
TP-Link TL-SG105E 5-Ports Gigabit Easy Smart Managed Netzwerk Switch(Plug-and-Play,Metallgehäuse, QoS, IGMP-Snooping,LAN Verteiler, zentrales Management, energieeffizient)ℹ︎
€ 16,79
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
€ 17,29
Preise inkl. MwSt., zzgl. Versandkosten
€ 16,79
Preise inkl. MwSt., zzgl. Versandkosten
Lenovo Tab | Tablet | 10.1" | 4GB | 64GB | Android | Grauℹ︎
€ 169,00
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
HP 305XL Schwarz Original Druckerpatrone, hohe Reichweiteℹ︎
Ersparnis 7%
UVP**: € 25,15
€ 23,29
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
€ 23,29
Preise inkl. MwSt., zzgl. Versandkosten
€ 25,99
Preise inkl. MwSt., zzgl. Versandkosten
HP 301 Schwarz, Original Druckerpatroneℹ︎
Ersparnis 7%
UVP**: € 23,60
€ 21,84
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
€ 23,99
Preise inkl. MwSt., zzgl. Versandkosten
€ 39,55
Preise inkl. MwSt., zzgl. Versandkosten
UGREEN Nexode USB C Ladegerät 100W Mini, GaN Charger, 3-Port, PPS Netzteilℹ︎
Ersparnis 24%
UVP**: € 45,99
€ 34,99
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
NETGEAR 8-Port Gigabit Ethernet Plus Switch (GS108E): Managed, Desktop- oder Wandmontage und eingeschränkte Garantie über die gesamte Lebensdauerℹ︎
Ersparnis 24%
UVP**: € 41,99
€ 31,99
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
€ 33,31
Preise inkl. MwSt., zzgl. Versandkosten
€ 32,99
Preise inkl. MwSt., zzgl. Versandkosten
FRITZ!Box 7590 AX | DSL-Router | Wi-Fi 6 bis zu 3.600 MBit/s | intelligentes WLAN Mesh | höchster Sicherheitsstandard | einfache Einrichtung | Made in Europeℹ︎
€ 217,50
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
€ 219,36
Preise inkl. MwSt., zzgl. Versandkosten
€ 216,98
Preise inkl. MwSt., zzgl. Versandkosten
ASUS Vivobook S 15 S5507QA Laptop | Copilot+ PC | 15,6" 2,8K WQHD+ 16:9 OLED Display | Snapdragon X Elite X1E-78-100 | 16GB RAM | 1TB SSD | QC Adreno GPU | Win11 Home | QWERTZ | Cool Silverℹ︎
Kein Angebot verfügbar.
TP-Link WLAN Powerline Adapter Triple Set TL-WPA4220 TKIT (600Mbit/s, WLAN 300Mbit/s, Wi-Fi Clone, Fast-Ethernet-LAN, Plug&Play, Kompatibel mit Allen HomePlug AV/AV2 Powerline Adaptern)ℹ︎
Ersparnis 10%
UVP**: € 99,90
€ 89,47
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
NETGEAR GS305E Managed Switch 5 Port Gigabit Ethernet LAN Switch Plus (Plug-and-Play, Netzwerk Switch Managed, IGMP Snooping, QoS, VLAN, lüfterlos, Robustes Metallgehäuse), Schwarzℹ︎
Ersparnis 11%
UVP**: € 25,99
€ 23,05
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
€ 23,05
Preise inkl. MwSt., zzgl. Versandkosten
€ 24,99
Preise inkl. MwSt., zzgl. Versandkosten
ℹ︎ Werbung / Affiliate-Links: Wenn Sie auf einen dieser Links klicken und einkaufen, erhalte ich eine Provision. Für Sie verändert sich der Preis dadurch nicht. Zuletzt aktualisiert am 1. Juli 2026 um 22:16. Die hier gezeigten Preise können sich zwischenzeitlich auf der Seite des Verkäufers geändert haben. Alle Angaben ohne Gewähr.
(**) UVP: Unverbindliche Preisempfehlung

Preise inkl. MwSt., zzgl. Versandkosten
Nach oben scrollen