Befehlssammlung zur Konsole/Terminal: (in lockerer "Schüttung" ;)

Es gibt natürlich auch diverse Internet-Portale zum Theme Linux Kommando Referenz - z.B die Seite Linux Command Library.
Eine Auflistung von Konsolenbefehlen gruppiert nach Themengebieten:
| Dateien und Ordner | |
| touch | Datei erstellen (Anm.: eigentlich um Eigenschaften Datei zu ändern)touch datei.ext |
| mkdir | Ordner erstellen (make Directory)mkdir Ordnername mkdir -p Ordner/Unterordner/Ordner (3 Ordner in einem Rutsch) |
| ls | Ordner/Verzeichnis auflisten (list)ls -al |
| cd | Verzeichnis wechsel (change directory)cd ~ cd - cd ordner-bzw-pfad |
| mv | Dateien/Ordner verschieben/umbenennen (move)mv test01.txt test-old.txt |
| rm | Dateien/Ordner löschen (remove)rm test.txt rm -R Ordnername (rekursiv) |
| ln | Links erstellen (Soft- / Hardlinks)ln -s ../../ordner linkzuordner (Softlink Ordner)ln -s ../datei.ext dateisl (Softlink Datei)ln datei.ext dateihl (Hardlink Datei) |
| pwd | Aktuelles Verzeichnis anzeigen (print working directory)pwd |
| tar | Archivieren, Packen (tape archiver; z gzip; j bz2)tar cvzf Archiv.tar.gz Dokumente/ (packen - gzip)tar cvzf Archiv-$(date -I).tar.gz Dokumente (aktuelles Datum)tar xvzf Archiv.tar.gz (entpacken - gzip)-C zielordner Entpacken in einem Zielordner-j Packen/Entpacken mit bz2 |
| grep egrep |
Suche und Filterung von Zeichenketten/Dateien (s. regular expressions)ps ax | grep sshd |
| chmod | Berechtigungen für Datei/Ordner festlegenchmod 600 test.txt chmod u+x testskript.sh (Skript für User/u ausführbar machen) |
| chown |
Besitzer und Gruppe (s.a. chgrp) festlegen |
| Benutzer und Gruppen | |
| whoami | Aktuellen Benutzer anzeigen (dt. Wer bin ich?) |
| who, w | Wer ist eingeloggt? |
| id | Die IDs von Benutzern/Gruppen anzeigen |
| groups | Gruppen eines Benutzers anzeigen |
| passwd | Password anlegen/ändern |
| useradd, usermod, userdel | Benutzer anlegen, ändern (modifizieren), löschen (delete) 2-Zeiler für die Konsole: useradd -m -c "Neuer User" -s /bin/bash joetest passwd joetest usermod beachten: usermod -g (primäre/initiale Gruppe anpassen) usermod -G (weitere Gruppen anpassen) |
| groupadd, groupmod, groupdel | Gruppe anlegen, ändern (modifizieren), löschen (delete) |
| chown | Benutzer für Datei/Ordner ändern (change owner) kann auch Gruppe ändern: sudo chown root:admins adminprojekte/ |
| chgrp | Gruppe für Datei/Ordner ändern (change group) |
| chfn | Konteninformationen anpassen (alt siehe finger) |
| getfacl setfacl tune2fs |
ACL - Infos anzeigen ACL - Berechtigungen setzen ext-FS analysieren: tune2fs -l /dev/sda1 |
| Konsole, Pager (Anzeigen) | |
| cat | einfache Textausgabe von Dateien in Standardausgabecat /etc/passwd |
| more less |
Anzeigen von Dateien lassen sich über Pipelining nutzen Suche in less mit / |
|
tail |
Ende einer Datei anzeigen Anfang einer Datei anzeigen tail -f /var/log/zypper.log |
| df | Datenträger Belegungen anzeigendf -h (h: in besser lesbaren ki/Mi/Gi/-Werten) |
| du | Freien Speicher anzeigen lassen auf Datenträgerndu -h |
|
dmesg |
Kernelmeldungen ausgebendmesg -T (mit echtem Datum + Uhrzeit) |
| journalctl | neues Tool für Systemmeldungen Hinweis: wegen systemd sind viele /var/log/... weg journalctl -u sshd |
|
exit |
Konsole schließen alternativ: logout (Abmelden aus Login-Shell) |
|
clear screen |
Konsole löschen (Strg + L) |
|
find |
einfache Suche im Verzeichnisbaumfind ./test -name "*.php" find . -type f -perm 0664 find . -perm -u+s find . -inum 555555 -exec rm -i {} \; |
|
locate |
Dateien nach Name suchen (Datenbank-gestützt) benötigt updatedb und muss ggf. noch installiert werden |
| whereis whatis which |
Wo ist ein Tool? Was macht das Tool? Welche - falls mehrere - Tool wird genutzt? |
| System | |
| su | Benutzerkontext ändern (switch user - auch als kdesu) |
| sudo | ausführen als (bei Ubuntu als Standard und Benutzerkontenst.) |
| ps | Prozesse auflisten (processes) ps ax |
| pstree | Prozessbaum |
| top | Prozessmanager (table of processes) |
| bg fg jobs |
Hintergrund Vordergrund Jobs |
| powertop | Tool für Analyse von Energieverbrauchern (siehe Notebooks) |
| kill killall |
Prozesse beenden (Signale -1, -15, -9) kill 1516 (kill mit PID) killall mc (killall mit Prozessname) |
| shutdown | System herunterfahren bzw. neustarten (s.a. reboot) |
| runlevel | Aktellen und vorigen Runlevel anzeigen |
| init | Runlevel wechseln |
| insserv | einen Dienst (bzw. sein init Skript) für einen Runlevel konfigurieren Anm.: für init (nicht für systemd!) |
| lspci lsusb lsmod lsblk blkid |
Geräte auflisten USB-Technik/Peripherie auflisten Moduel (Treiber) auflisten Blockgeräte auflisten Blockids auflisten |
| hwinfo | Hardware Informationen ausgebenhwinfo --gfxcard |
| hostname | Systemname anzeigen (s. /etc/hostname ) |
| mount umount |
Dateisystem einbinden (mounten) und entfernen siehe: /etc/fstab |
| rpm | Paketmanagement (Red Hat Package Management) Achtung: keine automatischen Auflösungen von Paketabhängigkeiten rpm -qa | grep firefox |
| zypper | das bessere Paketmanagement in der Konsole zypper lr zypper install findutils-locate |
Hier mal eine ausführlichere Gegenüberstellung von SysVinit vs. systemd:
| SysVinit | systemd | Bemerkungen |
|---|---|---|
| Runlevel | Targets | Bezeichungen für gewünschte Bootumgebung |
| /etc/inittab | keine /etc/inittab (!!) in Ordnern diverse Dateien: (z.B.) /usr/lib/systemd/system |
Konfigurationsdatei(en) |
| runlevel init telinit sysctl chkkonfig |
runlevel (wegen Kompatibilität) init (w. K.) telinit (w. K.) systemctl journalctl systemd-* |
Tools |
| service sshd status | systemctl status sshd.service | Status openSSH Server |
| service sshd start | systemctl start sshd.service | Starten openSSH Server |
| service sshd stop | systemctl stop sshd.service | Stoppen openSSH Server |
| service sshd restart | systemctl restart sshd.service | Restarten openSSH Server |
| service sshd reload | systemctl reload sshd.service | Konfiguration openSSH Server neu laden |
| chkconfig sshd on | systemctl enable sshd.service | openSSH im Runlevel/Target aktivieren |
| chkconfig sshd off | systemctl disable sshd.service | openSSH im Runlevel/Target deaktivieren |
| chkconfig --list | systemctl list-unit-files systemctl list-dependencies multi-user-target |
Übersicht Dienste in Runleveln/im Target |
| init 3 (oder) telinit 3 |
systemctl isolate runlevel3.target systemctl isolate multi-user.target |
in Runlevel 3 wechseln bzw. in multi-user.target |
| init 5 (oder) telinit 5 |
systemctl isolate runlevel5.target systemctl isolate graphical.target |
in Runlevel 5 wechseln bzw. in graphical.target |
| ... | systemctl isolate default.target | in Standard-Runlevel wechseln bzw. in default.target |
| in /etc/inittab die Zeile mit id: id:5: ... lesen |
systemctl get-default | Standard anzeigen |
| in /etc/inittab die Zeile mit id: id:3:.... anpassen |
systemctl set-default multi-user.target | Standard festlegen |
| init 0 (oder) telinit 0 shutdown -h poweroff |
systemctl isolate runlevel0.target systemctl isolate poweroff.target shutdown -h poweroff |
Rechner ausschalten |
| init 6 (oder) telinit 6 shutdown -r reboot |
systemctl isolate runlevel6.target systemctl isolate reboot.target shutdown -r reboot |
Rechner rebooten |
Tabelle zu SysVinit vs. systemd (siehe auch Link Fedoraprojekt (Link)
| Netzwerk | |
| ifconfig | Netzwerkanalyse und -Konfiguration ("old") |
| iwconfig | WLAN-Netzwerkanalyse und -Konfiguration |
| ifup ifdown |
die klassischen Netzwerkkonfigurationen Neu: NetworkManager, netconfig, ... |
| ip | IP-Adressenkonf. zeigen: ip address show (kurz: ip a s) IP-Routenkonf. zeigen: ip route show (kurz: ip r s) |
| ping | Testprogramm für Verbindungen zu hosts |
| traceroute | Route zu Zielservern (hosts) anzeigen |
| dig, host, nslookup | DNS Analyse Tools |
| ssh | Secure Shell Client (auch mit X-Server Verbindung) ssh -X Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Tipps für ssh-Clients Windows: putty, MobaXterm |
Zusammenfassung Netzwerkanalyse mit Linux
| IP-Konfiguration | Shellaufrufe |
|---|---|
| IPv4-/IPv6-Adresse Subnetmask |
ip address show (zeigt immer alle NICs)ip a s (kurze Variante)/sbin/ifconfig |
| Standardgateway (bzw. Router) |
/sbin/route -n hier: in Spalte Flags das G suchen - dann Spalte Router ip route showip r s (kurze Variante |
| DNS-Server | cat /etc/resolv.confhier: Zeile mit nameserver analysieren Tipp: Zusatztext analysieren, um zu sehen mit welcher Technik Netzwerk konfiguriert wird |
Diese Auflistungen erheben natürlich keinen Anspruch auf Vollständigkeit.
Viel Spaß in der "Konsole" und bei unseren Seminaren wünscht Ihnen Ihr Trainer Joe Brandes


