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 show ip r s (kurze Variante |
DNS-Server | cat /etc/resolv.conf hier: 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