Sollte die History für den root-User gelöscht werden sollen (zB. versehentliche Klartexteingabe eines Passwords) dann kann das in der laufenden Sitzung mit folgendem Kommando ausgeführt werden:
history -c
Sollte die History für den root-User gelöscht werden sollen (zB. versehentliche Klartexteingabe eines Passwords) dann kann das in der laufenden Sitzung mit folgendem Kommando ausgeführt werden:
history -c
Aufgabe: Alle Files/Dirs nach Grösse (inkl. Belegung der Unterordner) nach Grösse sortieren und anzeigen (in Datei usage.txt speichern).
Dazu in das Verzeichnis wechseln, dass ausgewertet werden soll.
du -bs * | awk '{printf "%012.0f %s \n",$1,$2 } ' | sort > usage.txt
Liefert eine Datei „usage.txt“ mit Spalte Grösse und File/Verzeichnis aufsteigend sortiert nach Grösse.
du -bs * | awk '{ printf("%010.0f ",$1); for (i=2;i<=NF;i++){printf("%s ", $(i))}; print "\n"}' | sort
Die obige Version kann auch mit Leerzeichen in Verzeichnissen umgehen (zB Mailordner), wo der Name aus den Spalten 2 bis n bestehen kann. Das Ausgabeformat für die Grösse wurde auf 10 Ziffern geändert. NF ist in awk eine Konstante mit der Anzahl der Spalten in der aktuellen Zeile.
Wer bei mehereren Servern gleiche Tasks auf der Shell zu erledigen hat, der wird die ClusterShell (cssh) zu schätzen wissen. Dort kann auch eine Datei angelegt werden, die eine Liste mit Labeln/Servern enthält. Das erspart das lästige manuelle Hinzufügen während des Betriebs.
/etc/clusters heisst die Config-Datei für die Serverlisten.
Die Datei enthält ein Label für die Servergruppe und danach in einer Zeile eine Auflistung <user>@<server> durch Leerzeichen getrennt.
zB:
webserver user@server1 user@server2 ...
Der Aufruf erfolgt dann über
cssh webserver &
(wobei das kommerzielle Und / Ampersand den Task im Background ausführt). Beachte, dass zwischen dem Label und dem ersten Server nur ein Leerzeichen steht und kein Gleichheitszeichen oder ähnliches.
Um zB eine php.ini-Datei von Kommentaren und Leerzeilen zu „befreien“ folgendes eingeben:
sed '/^\;/d' php.ini > /tmp/php.ini && sed '/^$/d' /tmp/php.ini > php.ini && rm /tmp/php.ini
Der erste Teil lölscht die Kommentare, die bei php.ini mit einem Semikolon beginnen. Sollen Kommentare in einem ShellSkript gellöscht werden, dann müsste der sed-Befehl wie folgt lauten:
sed '/^\#/d' php.ini
Die Ausgabe wird in einer temporären Datei angelegt (im /tmp-Ordner) und später wieder gelöscht. In sicherheitskritischen Umgebungen eigenen Ordner verwenden.
Aufgabe: Logfiles nach Response-Codes 404 (not found) und 403 (forbidden) durchsuchen und eine Aufstellung mit Anzahl der Fundstellen per Mail versenden. Die awk-Datei muss mit chmod +x /home/user/404.awk Ausführungsrechte bekommen.