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


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

df -h                  # Freier Festplattenplatz
du                     # Speicherverbrauch von Verzeichnissen
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

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

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

Benutzerverwaltung

chfn                   # Userdaten bearbeiten
id                     # Eigenen Loginnamen anzeigen
last                   # Letzte Logins auflisten
who                    # Aktuell eingeloggten User auflisten
passwd                 # Passwort ändern

Befehle für Root-Account / Super-User:

passwd -d xxx          # Passwort für User xxx löschen
adduser xxx            # Benutzer xxx anlegen
deluser xxx            # Benutzer xxx löschen

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

df -T                  # Belegter und freier Speicherplatz
df -H                  
du -h -d 1             # Größe von Verzeichnissen
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