Inhaltsverzeichnis
Kleine Tipps und Tricks für Kommandozeile
vi - Der Editor ()
Bash: https://wiki.ubuntuusers.de/Shell/Bash-Skripting-Guide_für_Anfänger/
Advanced Bash-Scripting Guide: http://tldp.org/LDP/abs/html/index.html
Administration und Überwachung
- tail -f und less +F - Logfile kontinuierlich lesen - auf die Schnelle
- Mit chattr Dateien zuverlässig (vor Löschung) schützen
- lsof - offene Files, Sockets und mehr: http://www.admin-magazin.de/News/Tipps/Lsof-offene-Files-Sockets-und-mehr
- lsblk - zeigt Blockdevices an (Festplatten, SSD, CD, etc.) samt vorhandenen Partitionen
- ifdata - get network interface info without parsing ifconfig output
- smartctl S.M.A.R.T. bei der Festplatte abfragen (S.M.A.R.T. steht für Self-Monitoring, Analysis and Reporting Technology)
- Pmap zeigt den Speicherbedarf eines Prozesses Komponente für Komponente an.
- Prozesse überwachen und steuern
- ss (Socket Statistics): http://www.linux-magazin.de/Ausgaben/2016/01/Einfuehrung/(language)/ger-DE
Aus Linux-Magazin: Um sich über den Status von Netzwerk-Sockets zu informieren, greifen Sysadmins herdengleich zu Netstat. Sysadmin-Kolumnist Charly kennt eine gut Abkürzung: "ss". - iperf - die verfügbare Bandbreite zwischen zwei Rechnern ermitteln: http://www.admin-magazin.de/News/Tipps/Bandbreite-zwischen-Hosts-messen/(tagID)/35
- lscpu gibt alle wichtigen Infos (Architectur, Modell, Anzahl der Kerne, Taktfrequenz, etc.) über den Prozessor aus.
- Der Befehl "cat /proc/cpuinfo" gibt Info über die im System vorhandenen CPUs.
- Systempflege: https://wiki.ubuntuusers.de/Systempflege/ (soll regelmäßig manuell durchgeführt werden)
- Alten Kernel (hier Version "3.0.0-16") manuell entfernen:
sudo apt-get remove --purge linux-image-3.0.0-16-generic linux-headers-3.0.0-16
- Mehrere alte Kernel auf einen Schlag entfernen (seit Ubuntu 13.04):
- Erst testen (-s = simulieren), welche Pakete das Paketsystem als unnötig definiert und deinstallieren würde:
sudo apt-get -s autoremove --purge
- Enthält die Ausgabe nichts erhaltenswertes (praktisch also nur ältere Kernelversionen), führt man durch:
sudo apt-get autoremove --purge
Dadurch werden alle alten Kernel bis auf die beiden neuesten Kernel entfernt.
- Ein grafischer "kernel-remover": http://axebase.net/blog/2015/07/26/kernel-remover-aus-siduction-in-ubuntu/
- Temporäre Pakete aus früheren Installationen entfernen:
sudo apt-get clean
Externe Links zum Thema:
Debian: APT HOWTO (Obsolete Documentation)
- Manchmal gibt es im BetriebsSystem mehrere Varianten einer und derselben dynamischen Library oder, was viel schlimmer ist, unterschiedliche Libraries, die gleich heißen. Der Loader lädt normalerweise die Libraries, die über LD_LIBRARY_PATH erreichbar sind. Und das sind nicht unbedingt die richtigen. Die richtigen wären die, die der Compiler bzw. der Linker beim Bauen von Executables als Referenz verwendet hat (bei GCC werden über LIBRARY_PATH gesucht). Um herauszufinden, welche Mehrdeutigkeiten in dieser Hinsicht existieren, sollte man die Ausgabe von ldd mit allen im BetriebsSystem vorhandenen Libraries abgleichen:
EXE_TO_EXPLORE="ein.beispiel.executable" for i in `ldd ${EXE_TO_EXPLORE} | grep -v needs:`; do echo "========== ${i} =============================="; f=${i##*/}; f=${f%%(*}; find / -name ${f} -type f 2>&-; done
Boot / Systemstart
Systemstart mit Systemd unter Linux: http://www.admin-magazin.de/Das-Heft/2014/10/Systemstart-mit-Systemd-unter-Linux
Kommandos - Beispiele
awk - File- und String-Bearbeitung
dd - Bit-genaues Kopieren von Festplatten, Partitionen oder Dateien.
encfs - Einzelne Verzeichnisse schnell und einfach verschlüsseln
find - Files (rekursiv) suchen (unt evtl. das dabei angegebene Kommando anwenden)
gcp - GNU cp - Kopieren von Dateien mit Fortschrittsanzeige
getfacl und setfacl - ACLs lesen und setzen
grep - Bei grep (einige Varianten) Begrenzung des Eingabestrings auf 2048 Zeichen zu beachten…
gzip - Filekomprimierung
hexdump - HEX-Darstellung eines (Text-)Files: user@linux:~> hexdump -C FileName | less
nice - Prozeß-Priorität
parallel - Erlaubt mehrere CPU-Kerne für die Parallelisierung auf der Shell nutzen
prips - IP-Adressen eines IP-Bereichs auflisten
ptree - Prozeß-Baum
split - Große Files aufteilen
od - HEX-Werte ermitteln
tail und head
tar - Archive erstellen
tee - Replicate the standard output
touch
tput - Terminal Steuerung
whoami - Who am I?
Verwendung in den Shell-Skripten
Einfache eMails verschicken
HTML-Mails verschicken (von der Kommandozeile)
Spezielle Werte
Vordefinierte Shell-Variablen
dirname und basename
String Matching - Parameter Validierung
Zeilenfilter - In Textfiles/Zeilen Zeichen ersetzen/aufbereiten (in Perl)
Abschnitt einer Datei lesen (mit sed)
Einen Wert in einem Abschnitt ersetzen (mit sed)
Einen Textabschnitt in mehreren Files gleichzeitig ersetzen (mit sed)
Nützliche, einzeilige Scripts für SED: http://sed.sourceforge.net/sed1line_de.html (von Eric Pement)
Umlaute und Sonderzeichen zu HTML-Entities umwandeln: https://dr-luthardt.de/linux.htm?tip=lhtml#:~:text=Um%20Sonderzeichen%20umzuwandeln%2C%20insbesondere%20die,ergibt%20sich%20mit%20%5E%20. (von Michael Luthardt)
Textfile im Skript bearbeiten
ListenFile-Bearbeitung (Listen als Files)
Parameter parsen (mit getopts)
Array Funktionen in der Shell (eindimensional)
read-Funktion
Unterschied zwischen ' und "
Verkettung und Zusammenfassung von Kommandos
Umleitung von stdout und stderr
Iterationen (ksh)
Verschlüsselter Filetransfer übers Netz - Mit tar, cat und SSH
Schnelles kopieren - Mit cp, "piped way", "way over SSH", "way with netcat", "way with socat" (aus Gentoo Linux Wiki)
Abfangen von Signalen (mit trap)
Datenintegrität
Iso-Images anfertigen, mit MD5 überprüfen und brennen
Datenintegrität mit Hashes wie MD5 oder SHA sicherstellen
LinuxUser 09/2016: Erbsenzählerei (von Frank Hofmann) - Datenbestände auf Veränderungen oder Manipulationen prüfen
Sonstiges
Erzeugen einer TextDatei auf der Konsole
Files massenweise umbenennen
Files nach Muster massenweise bearbeiten
Nachricht auf den Desktop schicken
backslash2slash.sh Ein kurzes Skript für die Portierung auf Unix - ersetzt alle Back-Slashes in den "#include"-Direktiven (.c- und .h-Files) durch Slashes.
Files zwischen verschiedenen Formaten konvertieren - nrg → iso (cd/dvd)
PDFs auf der Kommandozeile bearbeiten
Stand: 21.09.2024
— : Jürgen Kreick
EOF