Diese Seite gibt einen Überblick über einige der wichtigsten Linux-Befehle. Die Liste der Befehle ist jedoch keineswegs vollständig.
| man [CMD] | zeigt die Handbuchseite zu einem Befehl oder Programm an |
| dmesg | gibt die Meldungen des Kernel-Ringpuffers auf dem Bildschirm aus |
| mount | zeigt alle eingehängten Datenträger bzw. Partitionen an |
| df [-h] | zeigt den Speicherplatzverbrauch aller eingehängten Partitionen an (h:human readable) |
| du -sh [DIR] | zeigt den belegten Speicherplatz eines Verzeichnisses an (s:summary, h:human readable) |
| du -d1 -h [DIR] | zeigt den belegten Speicherplatz von allen Unterordnern an (d:depth, h:human readable) |
| free [-m] | zeigt die aktuelle Arbeitsspeicherauslastung an (m:megabytes) |
| top | zeigt eine dynamische Übersicht der auf dem System laufenden Prozesse an |
| uptime | zeigt die Laufzeit des Systems und die mittlere Systemauslastung an |
| date | zeigt das aktuelle Datum und Uhrzeit an |
| time | dient zur Messung der Laufzeit von Programmen und Shell-Befehlen |
| ps aux | liefert eine Momentaufnahme der aktuell laufenden Prozesse |
| kill [PID] | sendet das Signal SIGTERM an den Prozess mit der Prozess-ID [PID] |
| kill -9 [PID] | sendet das Signal SIGKILL an den Prozess mit der Prozess-ID [PID] |
| killall [PNAME] | sendet das Signal SIGTERM an alle Prozesse mit dem Namen [PNAME] |
| uname -a | zeigt einige Informationen zum aktuell laufenden Kernel an |
| arch | zeigt die Maschinen-Architektur an (z.B. x86_64) |
| sync | weist das System an, alle gepufferten Daten auf die Festplatte zu schreiben |
| shutdown -h now | fährt den Rechner herunter |
| shutdown -r now | startet den Rechner neu |
| watch -n [N] -d [CMD] | führt den Befehl [CMD] alle [N] Sekunden aus (d:show differences) |
| cat [FILE] | gibt den gesamten Inhalt der Datei [FILE] auf dem Bildschirm (bzw. stdout) aus |
| more [FILE] | zeigt den Inhalt der Datei [FILE] seitenweise auf dem Bildschirm an |
| less [FILE] | wie more, man kann aber auch rückwärts blättern |
| head -[N] [FILE] | zeigt die ersten [N] Zeilen der Datei [FILE] an |
| tail -[N] [FILE] | zeigt die letzten [N] Zeilen der Datei [FILE] an |
| cp [FILE1] [FILE2] | kopiert die Datei [FILE1] in die Datei [FILE2] |
| cp [FILE] [DIR] | kopiert die Datei [FILE] in das Verzeichnis [DIR] |
| mv [FILE1] [FILE2] | verschiebt die Datei [FILE1] nach [FILE2] |
| mv [FILE] [DIR] | verschiebt die Datei [FILE] in das Verzeichnis [DIR] |
| rm [FILE] | löscht die Datei [FILE] |
| touch [FILE] | erzeugt eine neue, leere Datei mit dem Namen [FILE] |
| pwd | zeigt das aktuelle Verzeichnis an |
| cd [DIR] | wechselt in das Verzeichnis [DIR] |
| cd .. | wechselt in das übergeordnete Verzeichnis |
| cd ~ | wechselt in das eigene Homeverzeichnis |
| cd - | wechselt in das zuletzt aufgerufene Verzeichnis |
| ls | zeigt den Inhalt eines Verzeichnisses bzw. Ordners an |
| ls -l | zeigt den Inhalt eines Verzeichnisses bzw. Ordners in Langform an |
| mkdir [DIR] | erstellt das neue Verzeichnis [DIR] |
| rmdir [DIR] | löscht das leere Verzeichnis [DIR] |
| rm -r [DIR] | löscht das Verzeichnis [DIR] inklusive Inhalt (r:recursive) |
| find / -name "foo" | sucht nach Dateien mit dem Namen "foo" |
| find / -iname "foo" | sucht nach Dateien mit dem Namen "foo" (case insensitive) |
| find / ! -name "foo" | sucht nach Dateien mit dem Namen != "foo" |
| find . -cmin -120 | sucht nach Dateien, die in den letzten 2 Stunden erstellt wurden |
| find . -mmin -120 | sucht nach Dateien, die in den letzten 2 Stunden geändert wurden |
| find . -mtime +100 -exec rm -v {} \; | löscht im aktuellen Verzeichnis alle Dateien, die älter als 100 Tage sind |
| find . -maxdepth 1 -type d -exec du -sh {} \; | ermittelt die Speicherbelegung aller Ordner im aktuellen Verzeichnis |
| find . -maxdepth 1 -type d -print0 | xargs -0 du -sh | ermittelt die Speicherbelegung aller Ordner im aktuellen Verzeichnis (print0: Dateinamen werden mit Null-Byte anstatt mit Leerzeichen getrennt) |
| ln -s [FILE] [SYMLINK] | erzeugt eine Verknüpfung (symbolischen Link) zu einer Datei oder einem Verzeichnis |
| ln -sfni [FILE] [SYMLINK] | aktualisiert einen bestehenden symbolischen Link zu einer Datei oder einem Verzeichnis |
| scp [FILE] [USER]@[HOST]:[DIR]/[FILE] | kopiert die Datei [FILE] über das Netzwerk nach [HOST]:[DIR]/[FILE] |
| cp -avr [SOURCE] [DEST] | kopiert [SOURCE] nach [DEST] (a:archive, v:verbose, r:recursive) |
| rsync -rvn [SOURCE] [DEST] | kopiert [SOURCE] nach [DEST] (r:recursive, v:verbose, n:dry-run) |
| tar cfv archiv.tar [FILE1] [FILE2] [DIR] | erzeugt ein unkomprimiertes .tar Archiv |
| tar xfv archiv.tar | entpackt ein unkomprimiertes .tar Archiv |
| tar tfv archiv.tar | zeigt den Inhalt eines Archivs an |
| gzip [FILE] | komprimiert eine Datei mit gzip |
| gunzip [FILE].gz | entpackt eine Datei mit gzip |
| tar cfvz archiv.tar.gz [FILE1] [FILE2] [DIR] | erzeugt ein komprimiertes .tar.gz Archiv |
| tar xfvz archiv.tar.gz | entpackt ein komprimiertes .tar.gz Archiv |
| bzip2 [FILE] | komprimiert eine Datei mit bzip2 |
| bunzip2 [FILE].bz2 | entpackt eine Datei mit bzip2 |
| tar cfvj archiv.tar.bz2 [FILE1] [FILE2] [DIR] | erzeugt ein komprimiertes .tar.bz2 Archiv |
| tar xfvj archiv.tar.bz2 | entpackt ein komprimiertes .tar.bz2 Archiv |
| shred -uvz [FILE] | löscht die Datei [FILE] sicher (u:remove file after overwrite, v:verbose, z:final pass with zeros) |
| wipe -rqi [DIR] | löscht das Verzeichnis [DIR] sicher (r:recursive, q:quick wipe/4 passes, i:informational/verbose) |
| json_pp -json_opt canonical,pretty < [FILE] | formatiert die Datei [FILE] in ein von Menschen lesbares Format |
| diff -u <(json_pp -json_opt canonical,pretty < [FILE_A]) <(json_pp -json_opt canonical,pretty < [FILE_B]) |
| vergleicht die JSON-Datei [FILE_A] mit der JSON-Datei [FILE_B] und gibt die gefundenen Unterschiede aus |
| uuencode [FILE] /dev/stdout > file.txt | kodiert die Datei [FILE] mit Base64 |
| uudecode -o [FILE] file.txt | dekodiert die angegebene Datei nach [FILE] |
| gpg -c --cipher-algo AES256 -o file.gpg [FILE] | verschlüsselt die Datei [FILE] mit GPG (AES256) |
| gpg --decrypt file.gpg > [FILE] | entschlüsselt die angegebene Datei nach [FILE] |
| diff -rupN [DIR1] [DIR2] > [PATCHFILE] | erzeugt eine Patchdatei aus den Unterschieden von [DIR1] und [DIR2] (r:recursive, u:unified context, p:show C functions, N:treat new files as empty) |
| patch -p1 -d [DIR] < [PATCHFILE] | wendet eine Patchdatei auf [DIR] an (p:strip leading slashes, d:directory) |
| patch -p1 [FILE] < [PATCHFILE] | wendet eine Patchdatei auf [FILE] an (p:strip leading slashes) |
| apt update | apt-get update | liest alle eingetragenen Paketquellen neu ein und aktualisiert die Paketlisten |
| apt upgrade | apt-get upgrade -u | bringt alle auf dem System installierten Pakete auf die aktuellste Version |
| apt full-update | apt-get dist-upgrade -u | wie upgrade, nur können bei dem Vorgang auch Pakete installiert bzw. entfernt werden |
| apt install [PAKETNAME] | apt-get install [PAKETNAME] | installiert das angegebene Paket |
| apt remove [PAKETNAME] | apt-get remove [PAKETNAME] | entfernt das angegebene Paket |
| apt purge [PAKETNAME] | apt-get purge [PAKETNAME] | wie remove, zusätzlich werden alle globalen Konfigurationen entfernt |
| apt autoremove | apt-get autoremove | entfernt ungenutzte Abhängigkeiten |
| apt clean | apt-get clean | entfernt zur Installation heruntergeladene Pakete aus dem Paketcache |
| apt autoclean | apt-get autoclean | wie clean, jedoch nur Pakete, die nicht mehr in den Quellen verfügbar sind |
| apt search [SUCHBEGRIFF] | apt-cache search [SUCHBEGRIFF] | sucht nach Paketen (--names-only schränkt die Suche auf Paketnamen ein) |
| apt show [PAKETNAME] | apt-cache show [PAKETNAME] | zeigt detaillierte Informationen (z.B. Abhängigkeiten) zu einem Paket an |
| apt policy [PAKETNAME] | apt-cache policy [PAKETNAME] | zeigt die installierte sowie die verfügbaren Versionen eines Pakets an |
| id | zeigt die Benutzer- und Gruppenkennung (ID) an |
| whoami | zeigt den Benutzernamen an, unter dem gerade gearbeitet wird |
| who | zeigt alle angemeldeten Benutzer an |
| passwd | ändert das Passwort des aktuellen Benutzers |
| passwd [USERNAME] | ändert das Passwort des Benutzers [USERNAME] (nur als root möglich) |
| useradd -m [USERNAME] | legt den neuen Benutzer [USERNAME] an und erzeugt ein Homeverzeichnis |
| userdel -r [USERNAME] | löscht den Benutzer [USERNAME] und sein Homeverzeichnis |
| groupadd [GROUP] | erzeugt eine neue Gruppe [GROUP] |
| groupdel [GROUP] | löscht die Gruppe [GROUP] |
| chown [OWNER] [FILE] | ändert den Eigentümer der Datei [FILE] in [OWNER] |
| chgrp [GROUP] [FILE] | ändert die Gruppe der Datei [FILE] in [GROUP] |
| chmod [MODE] [FILE] | ändert die Zugriffsrechte der Datei [FILE] in [MODE] |
Die Zugriffsrechte werden üblicherweise in Form einer dreistelligen Oktalzahl angegeben, wobei jede Ziffer für die Rechte einer Benutzerkategorie steht.
Jeder der drei Benutzerkategorien kann eines oder mehrere der folgenden Grundrechte zugewiesen werden.
Beispiele:
| 644 | rw-r--r-- | Der Besitzer darf lesen und schreiben, alle anderen nur lesen. |
| 744 | rwxr--r-- | Der Besitzer darf lesen, schreiben und ausführen, alle anderen nur lesen. |
| 660 | rw-rw---- | Besitzer und Gruppe dürfen lesen und schreiben, der Rest nichts. |
weitere Informationen: https://de.wikipedia.org/wiki/Unix-Dateirechte
| jobs [OPTIONEN] | zeigt alle laufenden Prozesse der aktuellen Shell an |
| nohup [KOMMANDO] | startet das angegebene Kommando unabhängig von der aktiven Shell |
| bg %[JOBNUMMER] | verschiebt einen angehaltenen Job in den Hintergrund und startet ihn wieder |
| fg %[JOBNUMMER] | holt einen im Hintergrund laufenden Prozess wieder in den Vordergrund |
weitere Informationen: https://wiki.ubuntuusers.de/Shell/Prozesssteuerung/