Command Line Interface-Befehle (Debian): Unterschied zwischen den Versionen
Aus MattWiki
Matt (Diskussion | Beiträge) |
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
===Allgemein=== | === Allgemein === | ||
pwd # Print Working Directory | pwd # Print Working Directory | ||
cat # Dateiausgabe | cat # Dateiausgabe | ||
Zeile 17: | Zeile 18: | ||
=== Befehlshistorie === | === Befehlshistorie === | ||
history # Letzte Befehle ausgeben | history # Letzte Befehle ausgeben | ||
history -c # Historie löschen | history -c # Historie löschen | ||
Zeile 24: | Zeile 26: | ||
!?xyz? # Letzten Befehl, der xyz enthielt, ausführen | !?xyz? # Letzten Befehl, der xyz enthielt, ausführen | ||
===Ressourcen und Statistiken=== | === Ressourcen und Statistiken === | ||
free # RAM-Speicher Auslastung | free # RAM-Speicher Auslastung | ||
top # CPU-Nutzung, Uptime, RAM-Verbrauch | top # CPU-Nutzung, Uptime, RAM-Verbrauch | ||
uptime # Onlinezeit des Betriebssystems | uptime # Onlinezeit des Betriebssystems | ||
=== Betriebssysteminformationen === | |||
uname -a # Kernelversion, Bezeichnung und Hostname | uname -a # Kernelversion, Bezeichnung und Hostname | ||
uname -r # Kernelname / Version | uname -r # Kernelname / Version | ||
Zeile 37: | Zeile 40: | ||
cat /etc/debian_version# Debian Versionsnummer | cat /etc/debian_version# Debian Versionsnummer | ||
=== Datum und Uhrzeit === | |||
date # Datum und Systemzeit anzeigen | date # Datum und Systemzeit anzeigen | ||
watch -n 1 date # Im Intervall von einer Sekunde Datum und Uhrzeit ausgeben | watch -n 1 date # Im Intervall von einer Sekunde Datum und Uhrzeit ausgeben | ||
Zeile 44: | Zeile 47: | ||
hwclock --show --utc # Uhrzeit der Hardware-Uhr in UTC anzeigen | hwclock --show --utc # Uhrzeit der Hardware-Uhr in UTC anzeigen | ||
cat /etc/timezone # Zeitzone anzeigen | cat /etc/timezone # Zeitzone anzeigen | ||
<br> | |||
date +%T -s "10:00:00" # Uhrzeit auf 10:00:00 Uhr setzen | date +%T -s "10:00:00" # Uhrzeit auf 10:00:00 Uhr setzen | ||
hwlock -w # Uhrzeit auf aktuelle Systemzeit setzen | hwlock -w # Uhrzeit auf aktuelle Systemzeit setzen | ||
===Suchen und Finden=== | === Suchen und Finden === | ||
grep -i 'hello world' file.txt # In file.txt zeilenweise nach 'Hello World' nicht | |||
grep -i 'hello world' file.txt # In file.txt zeilenweise nach 'Hello World' nicht | |||
# case-sensitiv suchen | # case-sensitiv suchen | ||
cat file.txt | grep -i 'hello world' # Gleiches Ergebnis wie in der vorangegangenen Zeile | cat file.txt | grep -i 'hello world' # Gleiches Ergebnis wie in der vorangegangenen Zeile | ||
<br> | |||
locate file.foo # Speicherort von Datei file.foo suchen | locate file.foo # Speicherort von Datei file.foo suchen | ||
<br> | |||
find | grep -i 'file.txt' # Alle Dateien im und unterhalb vom aktuellen Verzeichnis | find | grep -i 'file.txt' # Alle Dateien im und unterhalb vom aktuellen Verzeichnis | ||
# suchen, und im Suchergebnis die Zeichnenkette file.txt | # suchen, und im Suchergebnis die Zeichnenkette file.txt | ||
# nicht case-sensitiv suchen | # nicht case-sensitiv suchen | ||
find -name '*filename*' # Nach filename im und unterhalb vom aktuellen Verzeichnis | find -name '*filename*' # Nach filename im und unterhalb vom aktuellen Verzeichnis | ||
# case-sensitiv suchen | # case-sensitiv suchen | ||
find -iname '*filename*' # Nach filename im und unterhalb vom aktuellen Verzeichnis | find -iname '*filename*' # Nach filename im und unterhalb vom aktuellen Verzeichnis | ||
# nicht case-sensitiv suchen | # nicht case-sensitiv suchen | ||
find -iname '*filename*' -exec rm {} + # Nach filename im und unterhalb vom aktuellen Verzeichnis | find -iname '*filename*' -exec rm {} + # Nach filename im und unterhalb vom aktuellen Verzeichnis | ||
# nicht case-sensitiv suchen und mit dem Suchergebnis rm | # nicht case-sensitiv suchen und mit dem Suchergebnis rm | ||
# ausführen | # ausführen | ||
<br> | |||
find . -mtime +30 -delete # Dateien im akt. Verzeichnis suchen, die älter als 30 Tage | find . -mtime +30 -delete # Dateien im akt. Verzeichnis suchen, die älter als 30 Tage | ||
# sind, und löschen | # sind, und löschen | ||
find . -maxdepth 1 -mtime +30 -type d -exec rm -r {} + | find . -maxdepth 1 -mtime +30 -type d -exec rm -r {} + | ||
# Verzeichnisse im akt. Verzeichnis suchen, | # Verzeichnisse im akt. Verzeichnis suchen, | ||
# die älter als 30 Tage sind, | # die älter als 30 Tage sind, | ||
# und diese inkl. aller Unterverzeichnisse löschen | # und diese inkl. aller Unterverzeichnisse löschen | ||
=== Speicherplatz / Festplatte === | |||
df # Freier und belegter Plattenplatz in 1K-Blöcken | df # Freier und belegter Plattenplatz in 1K-Blöcken | ||
df -h # Menschenlesbar in Potenzen von 1024 | df -h # Menschenlesbar in Potenzen von 1024 | ||
Zeile 80: | Zeile 84: | ||
df -T # Dateisystemtyp ausgeben | df -T # Dateisystemtyp ausgeben | ||
===Speicherplatz / Verzeichnisse=== | === Speicherplatz / Verzeichnisse === | ||
du # Speicherverbrauch / Größe von Verzeichnissen | du # Speicherverbrauch / Größe von Verzeichnissen | ||
du -h # Größe von Verzeichnissen, Menschenlesbar | du -h # Größe von Verzeichnissen, Menschenlesbar | ||
Zeile 87: | Zeile 92: | ||
du -hd 1 | du -hd 1 | ||
=== Dateilisten === | |||
ls -ogRh dir1 # Liste von Dateien von dir1 ausgeben ohne User/Gruppe in menschenlesbarer Form | ls -ogRh dir1 # Liste von Dateien von dir1 ausgeben ohne User/Gruppe in menschenlesbarer Form | ||
ls -lh | cut -d" " -f5- # Von der Liste nur alle Spalten ab der 5. Spalte ausgeben (Trennzeichen/Delimiter = " ") | ls -lh | cut -d" " -f5- # Von der Liste nur alle Spalten ab der 5. Spalte ausgeben (Trennzeichen/Delimiter = " ") | ||
Zeile 94: | Zeile 99: | ||
ls -ogRh dir1 >> file1.txt # Wie oben, aber Inhalt an Datei file1.txt anhängen | ls -ogRh dir1 >> file1.txt # Wie oben, aber Inhalt an Datei file1.txt anhängen | ||
===Entpacken=== | === Entpacken === | ||
tar xfv foo.tar.gz | |||
tar xfv foo.tar.gz | |||
tar -xjf foo.tar.bz2 | tar -xjf foo.tar.bz2 | ||
tar -xvJf foo.tar.xy | tar -xvJf foo.tar.xy | ||
Zeile 102: | Zeile 108: | ||
=== Integrität prüfen === | === Integrität prüfen === | ||
MD5 sollte nicht mehr genutzt werden. SHA256 geht auch: | MD5 sollte nicht mehr genutzt werden. SHA256 geht auch: | ||
sha256sum xxx # SHA256 Prüfsumme für Datei xxx erstellen. | sha256sum xxx # SHA256 Prüfsumme für Datei xxx erstellen. | ||
cat xxx.sha256 # Prüfusumme aus Datei xxx.sha256 ausgeben | cat xxx.sha256 # Prüfusumme aus Datei xxx.sha256 ausgeben | ||
===Netzwerk=== | === Netzwerk === | ||
hostname # Hostname des Computers | hostname # Hostname des Computers | ||
hostname -I # IP-Adresse des Computers | hostname -I # IP-Adresse des Computers | ||
Zeile 117: | Zeile 125: | ||
netstat -l # Verbundene Sockets anzeigen | netstat -l # Verbundene Sockets anzeigen | ||
===Shutdown und Reboot (Sofort)=== | === Secure Shell / SSH === | ||
ssh <server> # Mit <server> verbinden | |||
ssh -p<port> <server> # Mit <server> über <port> verbinden | |||
ssh -p<port> -L <localport>:localhost:<remoteport> <server> | |||
# Mit <server> über <port> verbinden, und dabei <remoteport> durch den SSH Tunnel an localhost auf den <localport> umleiten | |||
=== Shutdown und Reboot (Sofort) === | |||
shutdown -h now | shutdown -h now | ||
shutdown -r now | shutdown -r now | ||
===Viewer und Editoren=== | === Viewer und Editoren === | ||
cat xxx # Datei xxx ausgeben | cat xxx # Datei xxx ausgeben | ||
less xxx # Datei im Dateibetrachter Less öffnen | less xxx # Datei im Dateibetrachter Less öffnen | ||
Zeile 128: | Zeile 145: | ||
emacs xxx # Datei xxx im Texteditor EMACS öffnen | emacs xxx # Datei xxx im Texteditor EMACS öffnen | ||
===Paketmanager und Programminstallation=== | === Paketmanager und Programminstallation === | ||
apt-get update # Paketlisten aktualisieren | apt-get update # Paketlisten aktualisieren | ||
apt-get upgrade # Installierte Programme aktualisieren → Gefährlich! | apt-get upgrade # Installierte Programme aktualisieren → Gefährlich! | ||
Zeile 139: | Zeile 157: | ||
aptitude search xxx # Pakete suchen, deren Name dem Suchstring xxx entspricht | aptitude search xxx # Pakete suchen, deren Name dem Suchstring xxx entspricht | ||
===Welche Unterverzeichnisse nutzt ein Programm?=== | === Welche Unterverzeichnisse nutzt ein Programm? === | ||
whereis xxx | whereis xxx | ||
<br> | |||
===USB-Stick FAT32 formatieren=== | |||
=== USB-Stick FAT32 formatieren === | |||
(Setzt mkfs.vfat voraus, welches im Paket dosfstools vorhanden ist) | (Setzt mkfs.vfat voraus, welches im Paket dosfstools vorhanden ist) | ||
apt-get install dosfstools | apt-get install dosfstools | ||
Zeile 148: | Zeile 169: | ||
xxx Dieser Eintrag ist nicht vollständig | xxx Dieser Eintrag ist nicht vollständig | ||
===USB-Stick als ISO-Image-Boot-Medium=== | === USB-Stick als ISO-Image-Boot-Medium === | ||
Zuerst Laufwerksnamen herausfinden: | Zuerst Laufwerksnamen herausfinden: | ||
lsblk -o NAME,TYPE,SIZE,FSTYPE,LABEL,UUID | lsblk -o NAME,TYPE,SIZE,FSTYPE,LABEL,UUID | ||
Zeile 159: | Zeile 181: | ||
sync | sync | ||
===Energieverwaltung=== | === Energieverwaltung === | ||
$ xset dpms force on # Monitor ausschalten / Standby | $ xset dpms force on # Monitor ausschalten / Standby | ||
$ xset dpms force off # Monitor einschalten / Wakeup | $ xset dpms force off # Monitor einschalten / Wakeup | ||
$ xset -q # Monitor Status abfragen (?) | $ xset -q # Monitor Status abfragen (?) | ||
===Kernelbefehle=== | === Kernelbefehle === | ||
rmmod nvidia # Kernelmodul nvidia ohne Reboot entladen | rmmod nvidia # Kernelmodul nvidia ohne Reboot entladen | ||
modprobe nouveau # Kernelmodul nouveau laden | modprobe nouveau # Kernelmodul nouveau laden | ||
Zeile 170: | Zeile 194: | ||
dmesg | grep -i 'test' # Im Kerneloutput nach 'test' suchen | dmesg | grep -i 'test' # Im Kerneloutput nach 'test' suchen | ||
=== CPU Informationen === | |||
Damit Intel Turbo Boost in Linux funktioniert, muss es im BIOS aktiviert sein. | Damit Intel Turbo Boost in Linux funktioniert, muss es im BIOS aktiviert sein. | ||
Zeile 179: | Zeile 203: | ||
cat /proc/cpuinfo | grep -i 'cpu mhz' # Aktuelle CPU-Geschwindigkeit und aller Kerne anzeigen | cat /proc/cpuinfo | grep -i 'cpu mhz' # Aktuelle CPU-Geschwindigkeit und aller Kerne anzeigen | ||
=== Laufwerksinformationen === | |||
less /etc/fstab # Gemountete Laufwerke | less /etc/fstab # Gemountete Laufwerke | ||
fsck -N /dev/xxx # ??? | fsck -N /dev/xxx # ??? | ||
Zeile 190: | Zeile 214: | ||
hdparm -tT /dev/sdx # Laufwerksgeschwindigkeit feststellen | hdparm -tT /dev/sdx # Laufwerksgeschwindigkeit feststellen | ||
=== Dienstverwaltung === | |||
service --status-all # Status aller Dienste anzeigen | service --status-all # Status aller Dienste anzeigen | ||
service xxx status # Status von Dienst xxx anzeigen | service xxx status # Status von Dienst xxx anzeigen | ||
service xxx start|stop|restart # Dienst xxx starten/stoppen/neustarten | service xxx start|stop|restart # Dienst xxx starten/stoppen/neustarten | ||
/etc/init.d/xxx start|stop|restart # Dienst xxx starten/stoppen/neustarten | /etc/init.d/xxx start|stop|restart # Dienst xxx starten/stoppen/neustarten | ||
[[Category:Debian]] | [[Category:Debian]] | ||
[[Category:Linux]] | [[Category:Linux]] |
Version vom 22. Juli 2016, 21:44 Uhr
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 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 watch -n 1 <command> # Programm <command> im Intervall von 1 Sekunde ausführen ln -s foo.txt . # Symbolische Verknüpfung auf foo.txt im lokalen Pfad erstellen cd - # Ins vorherige Verzeichnis wechseln
Befehlshistorie
history # Letzte Befehle ausgeben history -c # Historie löschen !123 # Befehl mit Nummer 123 in Historie ausführen !xyz # Letzten Befehl, der mit xyz begann, ausführen !?xyz # Letzten Befehl, der mit xyz endete, ausführen !?xyz? # Letzten Befehl, der xyz enthielt, ausführen
Ressourcen und Statistiken
free # RAM-Speicher Auslastung top # CPU-Nutzung, Uptime, RAM-Verbrauch uptime # Onlinezeit des Betriebssystems
Betriebssysteminformationen
uname -a # Kernelversion, Bezeichnung und Hostname uname -r # Kernelname / Version cat /proc/version # Kernelversion cat /etc/issue # Name und Version der Distribution cat /etc/debian_version# Debian Versionsnummer
Datum und Uhrzeit
date # Datum und Systemzeit anzeigen watch -n 1 date # Im Intervall von einer Sekunde Datum und Uhrzeit ausgeben hwclock # Uhrzeit der Hardware-Uhr anzeigen hwclock --show --utc # Uhrzeit der Hardware-Uhr in UTC anzeigen cat /etc/timezone # Zeitzone anzeigen
date +%T -s "10:00:00" # Uhrzeit auf 10:00:00 Uhr setzen hwlock -w # Uhrzeit auf aktuelle Systemzeit setzen
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
Speicherplatz / Festplatte
df # Freier und belegter Plattenplatz in 1K-Blöcken df -h # Menschenlesbar in Potenzen von 1024 df -H # Menschenlesbar in Potenzen von 1000 (Entspricht Gnome-Anzeigen) df -T # Dateisystemtyp ausgeben
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
Dateilisten
ls -ogRh dir1 # Liste von Dateien von dir1 ausgeben ohne User/Gruppe in menschenlesbarer Form ls -lh | cut -d" " -f5- # Von der Liste nur alle Spalten ab der 5. Spalte ausgeben (Trennzeichen/Delimiter = " ") ls -ogRh dir1 > file1.txt # Wie oben, aber Inhalt in Datei file1.txt schreiben (bestehende überschreiben) ls -ogRh dir1 >> file1.txt # Wie oben, aber Inhalt an Datei file1.txt anhängen
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 ifconfig eth1 -multicast # Multicast auf Adapter eth1 deaktivieren ifconfig eth1 multicast # Multicast auf Adapter eth1 aktivieren netstat -i # Netzwerk Schnittstellentabelle anzeigen netstat -g # Multicast Gruppenzugehörigkeiten anzeigen netstat -l # Verbundene Sockets anzeigen
Secure Shell / SSH
ssh <server> # Mit <server> verbinden ssh -p<port> <server> # Mit <server> über <port> verbinden ssh -p<port> -L <localport>:localhost:<remoteport> <server> # Mit <server> über <port> verbinden, und dabei <remoteport> durch den SSH Tunnel an localhost auf den <localport> umleiten
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