Command Line Interface-Befehle (Debian)
Aus MattWiki
Allgemein
pwd # Print Working Directory cat # Dateiausgabe less # Dateianzeige nano # Einfacher Texteditor ls # Verzeichnisinhalt anzeigen ls -l # Verzeichnisinhalt anzeigen, Langversion ls -a # Alle Dateien anzeigen (auch versteckte) file # Dateiinhalt analysieren date # Datum und Systemzeit cal # Textkalender export # Umgebungsvariable setzen env # Umgebungsvariablen anzeigen env | grep -i 'hallo' # In der Ausgabe von env nach eine Zeile suchen, die 'hallo' enthält ln -s foo.txt . # Symbolische Verknüpfung auf foo.txt im lokalen Pfad erstellen history # Letzte Befehle ausgeben !123 # Befehl mit Nummer 123 in Historie ausführen !xyz # Letzten Befehl, der xyz enthielt, ausführen
Suchen und Finden
grep -i 'hello world' file.txt # In file.txt zeilenweise nach 'Hello World' nicht # case-sensitiv suchen cat file.txt | grep -i 'hello world' # Gleiches Ergebnis wie in der vorangegangenen Zeile locate file.foo # Speicherort von Datei file.foo suchen find | grep -i 'file.txt' # Alle Dateien im und unterhalb vom aktuellen Verzeichnis # suchen, und im Suchergebnis die Zeichnenkette file.txt # nicht case-sensitiv suchen find -name '*filename*' # Nach filename im und unterhalb vom aktuellen Verzeichnis # case-sensitiv suchen find -iname '*filename*' # Nach filename im und unterhalb vom aktuellen Verzeichnis # nicht case-sensitiv suchen find -iname '*filename*' -exec rm {} + # Nach filename im und unterhalb vom aktuellen Verzeichnis # nicht case-sensitiv suchen und mit dem Suchergebnis rm # ausführen find . -mtime +30 -delete # Dateien im akt. Verzeichnis suchen, die älter als 30 Tage # sind, und löschen find . -maxdepth 1 -mtime +30 -type d -exec rm -r {} + # Verzeichnisse im akt. Verzeichnis suchen, # die älter als 30 Tage sind, # und diese inkl. aller Unterverzeichnisse löschen
Ressourcen
free # RAM-Speicher Auslastung top # CPU-Nutzung, Uptime, RAM-Verbrauch uname -a # Hostname und Kernelbezeichnung cat /etc/debian_version# Debian Versionsnummer cat /etc/issue # Debian Versionsnummer uptime # Onlinezeit des Betriebssystems
Speicherplatz / Festplatte
df -h # Freier Festplattenplatz df -T # Belegter und freier Speicherplatz
Speicherplatz / Verzeichnisse
du # Speicherverbrauch / Größe von Verzeichnissen du -h # Größe von Verzeichnissen, Menschenlesbar du -hs # Größe von Verzeichnissen, Menschenlesbar, Summarize (=Ohne Unterverzeichnisse) du -h -d 1 # Größe von Verzeichnissen, Menschenlesbar, Depth = 1 du -hd 1
Entpacken
tar xfv foo.tar.gz tar -xjf foo.tar.bz2 tar -xvJf foo.tar.xy tar -xvJf foo.tar.xz bunzip2 foo.tar.bz2
Integrität prüfen
MD5 sollte nicht mehr genutzt werden. SHA256 geht auch:
sha256sum xxx # SHA256 Prüfsumme für Datei xxx erstellen. cat xxx.sha256 # Prüfusumme aus Datei xxx.sha256 ausgeben
Netzwerk
hostname # Hostname des Computers hostname -I # IP-Adresse des Computers ifconfig -a # Alle Netzwerkadapter auflisten (auch inaktive) ifconfig eth1 up|down # Netzwerkadapter ein- oder ausschalten
Shutdown und Reboot (Sofort)
shutdown -h now shutdown -r now
Viewer und Editoren
cat xxx # Datei xxx ausgeben less xxx # Datei im Dateibetrachter Less öffnen nano xxx # Datei xxx im Texteditor Nano öffnen vim xxx # Datei xxx im Texteditor VIM öffnen emacs xxx # Datei xxx im Texteditor EMACS öffnen
Paketmanager und Programminstallation
apt-get update # Paketlisten aktualisieren apt-get upgrade # Installierte Programme aktualisieren → Gefährlich! apt-get install xxx # Programm xxx installieren dpkg -i xxx.deb # Paket xxx.deb installieren dpkg -l xxx # Ein paar Details zum installierten Programm xxx anzeigen dpkg -s xxx # Status und mehr Details zum installierten Programm xxx anzeigen dpkg -L xxx # Welche Dateien gehören zum Paket xxx? aptitude # Programm zur Paketverwaltung mit CLI-Interface aptitude search xxx # Pakete suchen, deren Name dem Suchstring xxx entspricht
Welche Unterverzeichnisse nutzt ein Programm?
whereis xxx
USB-Stick FAT32 formatieren
(Setzt mkfs.vfat voraus, welches im Paket dosfstools vorhanden ist)
apt-get install dosfstools mkfs.vfat -F 32 /dev/<laufwerk> # Gerätename mit fdisk -l rausfinden xxx Dieser Eintrag ist nicht vollständig
USB-Stick als ISO-Image-Boot-Medium
Zuerst Laufwerksnamen herausfinden:
lsblk -o NAME,TYPE,SIZE,FSTYPE,LABEL,UUID
Beispiel für Kopieren eines Debian-Installations-Hybrid-ISO-Images auf einen USB-Stick
cp foo.iso /dev/sdX ← WICHTIG: nur das Gerät sdX verwenden, nicht die Partition sdXX sync
Alternative:
dd if=foo.iso of=/dev/sdX bs=4M ← WICHTIG: nur das Gerät sdX verwenden, nicht die Partition sdXX sync
Energieverwaltung
$ xset dpms force on # Monitor ausschalten / Standby $ xset dpms force off # Monitor einschalten / Wakeup $ xset -q # Monitor Status abfragen (?)
Kernelbefehle
rmmod nvidia # Kernelmodul nvidia ohne Reboot entladen modprobe nouveau # Kernelmodul nouveau laden dmesg # Auflistung des Kerneloutputs beim Bootvorgang dmesg | grep -i 'test' # Im Kerneloutput nach 'test' suchen
CPU Informationen
Damit Intel Turbo Boost in Linux funktioniert, muss es im BIOS aktiviert sein.
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq # Maximale CPU-Taktgeschwindigkeit inkl. Intel Turbo Boost cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq # Minimale CPU-Taktgeschwindigkeit inkl. Intel Turbo Boost cat /proc/cpuinfo # Infos zur CPU und aller Kerne anzeigen cat /proc/cpuinfo | grep -i 'cpu mhz' # Aktuelle CPU-Geschwindigkeit und aller Kerne anzeigen
Laufwerksinformationen
less /etc/fstab # Gemountete Laufwerke fsck -N /dev/xxx # ??? fdisk -l # Gerätenamen rausfinden, z. B. /dev/sdc1 lsblk # Gerätenamen und Mountpunkte rausfinden lsblk -l # Gerätenamen rausfinden # Auflistung von Labels und UUIDs ausgeben: lsblk -o NAME,TYPE,SIZE,FSTYPE,LABEL,UUID hdparm -tT /dev/sdx # Laufwerksgeschwindigkeit feststellen
Dienstverwaltung
service --status-all # Status aller Dienste anzeigen service xxx status # Status von Dienst xxx anzeigen service xxx start|stop|restart # Dienst xxx starten/stoppen/neustarten /etc/init.d/xxx start|stop|restart # Dienst xxx starten/stoppen/neustarten