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

Konsolenfenster / Konsole / Terminal
Konsolenfenster / Konsole / Terminal

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 festlegen
chmod 600 test.txt  
chmod u+x testskript.sh    (Skript für User/u ausführbar machen)
chown

Besitzer und Gruppe (s.a. chgrp) festlegen
chown -R www-data:www-data /var/www/html   

 

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 Standardausgabe
cat /etc/passwd  
more
less
Anzeigen von Dateien
lassen sich über Pipelining nutzen
Suche in less mit /

tail
head

Ende einer Datei anzeigen
Anfang einer Datei anzeigen
tail -f  /var/log/zypper.log  
df Datenträger Belegungen anzeigen
df -h  (h: in besser lesbaren ki/Mi/Gi/-Werten)
du Freien Speicher anzeigen lassen auf Datenträgern
du -h    

dmesg

Kernelmeldungen ausgeben
dmesg -T   (mit echtem Datum + Uhrzeit)
journalctl neues Tool für Systemmeldungen
Hinweis: wegen systemd sind viele /var/log/... weg
journalctl -u sshd

exit
logout

Konsole schließen
alternativ: logout (Abmelden aus Login-Shell)

clear screen

Konsole löschen (Strg + L)

find

einfache Suche im Verzeichnisbaum
find ./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 ausgeben
hwinfo --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:

SysVinitsystemdBemerkungen
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-KonfigurationShellaufrufe
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