Linux Command Line Cheat Sheet
Linux ist ein kostenloses und quelloffenes Unix-ähnliches Betriebssystem, das auf POSIX und Unix basiert. Es ist ein Mehrbenutzer-, Multitasking-, Multithreading- und Multi-CPU-fähiges Betriebssystem. Es kann gängige Unix-Tools, Anwendungen und Netzwerkprotokolle ausführen und unterstützt sowohl 32-Bit- als auch 64-Bit-Hardware. Durch die Übernahme der netzwerkzentrierten Designphilosophie von Unix ist Linux ein stabiles Mehrbenutzer-Netzwerkbetriebssystem.
System
| uname | Anzeige von Linux-Systeminformationen |
| uname -r | Kernel-Version anzeigen |
| uptime | Laufzeit des Systems anzeigen (einschließlich Lastdurchschnitt) |
| hostname | Hostnamen des Systems anzeigen |
| hostname -i | IP-Adresse des Systems anzeigen |
| last reboot | Historie der Systemneustarts anzeigen |
| date | Aktuelles Systemdatum und -uhrzeit anzeigen |
| timedatectl | Systemzeit abfragen und ändern |
| cal | Aktuellen Kalendermonat und -tag anzeigen |
| w | Aktuell angemeldete Benutzer anzeigen |
| whoami | Eigenen Anmeldenamen anzeigen |
| finger username | Informationen über einen Benutzer anzeigen |
Hardware
| dmesg | Boot-Meldungen anzeigen |
| cat /proc/cpuinfo | Detaillierte CPU-Informationen anzeigen (Modell, Kerne, Hersteller) |
| cat /proc/meminfo | Detaillierte Hardware-Speicherinformationen anzeigen (Gesamt, Frei) |
| lshw | System-Hardwarekonfiguration anzeigen |
| lsblk | Informationen zu Blockgeräten anzeigen |
| free -m | Freien und belegten Speicher anzeigen (-m für MB) |
| lspci -tv | PCI-Geräte in einem Baumdiagramm anzeigen |
| lsusb -tv | USB-Geräte in einem Baumdiagramm anzeigen |
| dmidecode | Hardware-Informationen aus dem BIOS anzeigen |
| hdparm -i /dev/xda | Informationen über Festplattendaten anzeigen |
| hdparm -tT /dev/xda | Lesegeschwindigkeitstest auf Gerät xda durchführen |
| badblocks -s /dev/xda | Festplatte auf unlesbare Blöcke prüfen |
Benutzer
| id | Details des aktiven Benutzers anzeigen (uid, gid, Gruppen) |
| last | Letzte Anmeldungen im System anzeigen |
| who | Angemeldete Benutzer anzeigen |
| groupadd “admin” | Gruppe “admin” hinzufügen |
| adduser “Sam” | Benutzer Sam hinzufügen |
| userdel “Sam” | Benutzer Sam löschen |
| usermod | Benutzerinformationen ändern/modifizieren |
Dateien
| ls -al | Dateien auflisten - einschließlich regulärer und versteckter Dateien sowie deren Berechtigungen |
| pwd | Aktuellen Verzeichnispfad anzeigen |
| mkdir ‘verzeichnisname’ | Ein neues Verzeichnis erstellen |
| rm dateiname | Eine Datei löschen |
| rm -f dateiname | Löschen einer Datei erzwingen |
| rm -r verzeichnisname | Ein Verzeichnis rekursiv löschen |
| rm -rf verzeichnisname | Löschen eines Verzeichnisses erzwingen und rekursiv durchführen |
| cp datei1 datei2 | Inhalt von datei1 nach datei2 kopieren |
| cp -r verz1 verz2 | Verz1 rekursiv nach verz2 kopieren. Verz2 erstellen, falls es nicht existiert |
| mv datei1 datei2 | Datei1 in datei2 umbenennen |
| ln -s /pfad/zu/dateiname link_name | Symbolischen Link zu dateiname erstellen |
| touch dateiname | Eine neue Datei erstellen |
| cat > dateiname | Eine Datei über Tastatureingabe erstellen |
| more dateiname | Inhalt einer Datei seitenweise ausgeben |
| head dateiname | Die ersten 10 Zeilen einer Datei anzeigen |
| tail dateiname | Die letzten 10 Zeilen einer Datei anzeigen |
| gpg -c dateiname | Eine Datei verschlüsseln |
| gpg dateiname.gpg | Eine Datei entschlüsseln |
| wc | Anzahl der Bytes, Wörter und Zeilen einer Datei ausgeben |
| xargs | Befehle von der Standardeingabe ausführen |
Prozesse
| ps | Aktuell aktive Prozesse anzeigen |
| ps aux | grep ’telnet' | Prozess-ID von ’telnet’ suchen |
| pmap | Speicherbelegung eines Prozesses anzeigen |
| top | Alle laufenden Prozesse anzeigen |
| kill pid | Prozess mit der angegebenen PID beenden |
| killall proc | Alle Prozesse mit dem Namen proc beenden |
| pkill prozess-name | Signal an Prozess anhand des Namens senden |
| bg | Einen angehaltenen Hintergrundbefehl fortsetzen |
| fg | Einen Hintergrundbefehl in den Vordergrund holen |
| fg n | Job n in den Vordergrund holen |
| lsof | Von Prozessen geöffnete Dateien auflisten |
| renice 19 PID | Prozess mit sehr niedriger Priorität ausführen |
| pgrep firefox | Prozess-ID von Firefox finden |
| pstree | Prozesse in einem Baummodell visualisieren |
Dateiberechtigungen
| chmod octal filename | Dateiberechtigungen in Oktalform ändern |
| chmod 777 /data/test.c | rwx-Berechtigungen für Besitzer, Gruppe und jeden festlegen |
| chmod 755 /data/test.c | rwx für Besitzer, r-x für Gruppe und jeden festlegen |
| chmod 766 /data/test.c | rwx für Besitzer, rw- für Gruppe und jeden festlegen |
| chown besitzer user-datei | Eigentümerschaft einer Datei ändern |
| chown besitzer-user:besitzer-gruppe dateiname | Besitzer und Gruppeneigentümer einer Datei ändern |
| chown besitzer-user:besitzer-gruppe verzeichnis | Besitzer und Gruppeneigentümer eines Verzeichnisses ändern |
Netzwerk
| ip addr show | IP-Adressen und alle Netzwerkschnittstellen anzeigen |
| ip address add 192.168.0.1/24 dev eth0 | IP-Adresse 192.168.0.1 der Schnittstelle eth0 zuweisen |
| ifconfig | IP-Adressen aller Netzwerkschnittstellen anzeigen |
| ping host | ICMP-Echo-Anfragen senden, um eine Verbindung herzustellen |
| whois domain | Informationen über einen Domainnamen abrufen |
| dig domain | DNS-Informationen für eine Domain abrufen |
| dig -x host | Reverse-Lookup für eine Domain durchführen |
| host google.com | IP-Lookup für einen Domainnamen durchführen |
| hostname -i | Lokale IP-Adresse anzeigen |
| wget dateiname | Datei von Online-Ressourcen herunterladen |
| netstat -pnltu | Alle aktiven Listening-Ports anzeigen |
Komprimierung / Archivierung
| tar -cf home.tar home | Ein tar-Archiv namens home.tar für das Verzeichnis home erstellen |
| tar -xf files.tar | Archivdatei “files.tar” extrahieren |
| tar -zcvf home.tar.gz source-folder | Ein komprimiertes tar-Archiv aus einem Quellordner erstellen |
| gzip datei | Datei mit der Erweiterung .gz komprimieren |
Paketinstallation
| rpm -i pkg_name.rpm | RPM-Paket installieren |
| rpm -e pkg_name | RPM-Paket entfernen |
| dnf install pkg_name | Paket mit dem dnf-Tool installieren |
Installation aus dem Quellcode (Compilieren)
| ./configure | System auf Abhängigkeiten prüfen und das Makefile erstellen |
| make | Programm kompilieren |
| make install | Binärdateien im Standard-/geänderten Pfad installieren |
Suche
| grep ‘pattern’ dateien | In Dateien nach einem Muster suchen |
| grep -r pattern verz | Rekursiv nach einem Muster in einem Verzeichnis suchen |
| locate datei | Alle Instanzen einer Datei finden |
| find /home/ -name “index” | Dateinamen finden, die mit ‘index’ beginnen, in /home |
| find /home -size +10000k | Dateien finden, die größer als 10000k im Home-Ordner sind |
Anmeldung
| ssh user@host | Sicher als angegebener Benutzer mit dem Host verbinden |
| ssh -p port_nummer user@host | Sicher über einen bestimmten Port mit dem Host verbinden |
| ssh host | Sicher über den Standardport 22 mit dem Host verbinden |
| telnet host | Über den Standardport 23 mit dem Host verbinden |
Dateitransfer
| scp datei1.txt server2/tmp | Datei1.txt sicher in das /tmp-Verzeichnis von server2 kopieren |
| rsync -a /home/apps /backup/ | /home/apps mit dem Verzeichnis /backup synchronisieren |
Festplattennutzung
| df -h | Freien Speicherplatz auf gemounteten Dateisystemen anzeigen |
| df -i | Freie Inodes auf Dateisystemen anzeigen |
| fdisk -l | Festplattenpartitionen, Größen und Typen anzeigen |
| du -sh | Festplattennutzung des aktuellen Verzeichnisses in menschenlesbarem Format anzeigen |
| findmnt | Ziel-Mountpoints für alle Dateisysteme anzeigen |
| mount geraete-pfad mount-point | Ein Gerät mounten |
Verzeichnisnavigation
| cd .. | Eine Ebene in der Verzeichnisstruktur nach oben gehen |
| cd | In das $HOME-Verzeichnis wechseln |
| cd /test | In das Verzeichnis /test wechseln |