In der Linux-Welt ist man in der glücklichen Lage oft Alternativen für einzelne Aufgaben zu haben. Anders als in der Windows-Welt bringen die meisten Linux-Distributionen einen Paketmanager mit die für eine Aufgabe verschiedene Programme zur Verfügung stellen. So gibt es z.B. viele ASCII-Editoren, Webbrowser oder E-Mail-Clients. In der Debian-Welt gibt es mit update-alternatives ein Tool zur Verwaltung dieser Programme mit konkurrierenden Funktionen. Streng genommen dient das Programm nur dazu symbolische Links auf diese Programme zu setzen.
Shell
Benchmark von Datenträgern mit Linux-Bordmitteln
Weil ich es immer wieder mal nachschauen muss hier nur ganz kurz – wie macht man einen Benchmark eines Datenträgers unter Linux. Das ist im Prinzip ganz einfach und dazu kann man hdparm benutzen. hdparm werde ich sicher noch einmal ausführlicher im Rahmen von „Der unbekannte Befehl“ vorstellen und da er hat auch sonst noch viele andere nützliche Optionen hat.
glances als Systemmonitor
glances ist ein nettes Projekt um sich, abgesehen von den Klassikern wie top oder htop, einen Überblick über ein System zu verschaffen. Das Tool glances ist sogar in der Lage das Monitoring über Netzwerk abrufbar zu machen. Bietet, anders wie top, mehr Informationen über das System. glances ist in den Reporsitorien von Debian und Derivaten und kann daher mit:
apt-get install glances
installiert werden. glances wurde in Python und psutils erstellt und verfügt über eine ncurses-Oberfläche.
Der Zeitstempel unter Linux
Der oder besser gesagt die Zeitstempel sind eine Eigenschaft von Dateien. Linux kennt vier Zeitstempel von denen drei ausgelesen werden können und für den Benutzer eine gewisse Relevanz haben. Die Zeitstempel einer Datei können mit dem Befehl stat ausgelesen und mit dem Befehl touch manipuliert werden.
Die drei Zeitstempel sind:
- Access Time (atime)
- Modify Time (mtime)
- Change Time (ctime)
Der Befehl stat zeigt die entsprechenden Zeitstempel:
$ stat ipsum.txt […] Zugriff : 2020-06-11 18:50:30.037729391 +0200 Modifiziert: 2020-06-05 18:18:11.006297528 +0200 Geändert : 2020-06-12 22:11:01.126806416 +0200 […]
Der unbekannte Befehl – „stat“ der Dateistatus
In einem weiteren Teil der Serie „Der unbekannte Befehl“ soll hier jetzt stat vorgestellt werden. Dieser Befehl wurde zwar bereits im Artikel über touch vorgestellt aber dieser Artikel hier widmet sich exklusiv diesem Befehl. Mit Hilfe von stat können verschiedene Eigenschaften einer Datei oder eines Ordners ausgelesen werden. Dazu gehören die Zeitstempel aber auch die Zugriffsrechte und allgemeine Dateiinformationen. Wird stat ohne Optionen aufgerufen, so erhält man als Beispiel folgende Ausgabe:
$ stat ipsum.txt Datei: ipsum.txt Größe: 146 Blöcke: 8 EA Block: 4096 reguläre Datei Gerät: 809h/2057d Inode: 7365099 Verknüpfungen: 2 Zugriff: (0644/-rw-r--r--) Uid: ( 1000/ max) Gid: ( 1000/ max) Zugriff : 2020-06-11 18:50:30.037729391 +0200 Modifiziert: 2020-06-05 18:18:11.006297528 +0200 Geändert : 2020-06-12 22:11:01.126806416 +0200 Geburt : -
Der unbekannte Befehl – „touch“ der Berührer
Der Befehl touch wird sicher dem einen oder anderen schon einmal unter gekommen sein. Auch dieser Befehl wird oft missbraucht um z.B. in Shellscripten eine leere Datei anzulegen.
$ touch lorem.txt $ ls -l lorem.txt -rw-r--r-- 1 max max 83 Jun 5 20:35 lorem.txt
legt eine leere Datei lorem.txt an.
Der unbekannte Befehl – „tac“ und „rev“ die Umkehrer
Den Befehl cat (catenate) lernen die meisten schnell kennen. Obwohl es zu den am meisten missbrauchten Befehle gehört (to caternate: verketten), cat ist eigentlich dazu da zwei Dateien aneinander zu hängen, wird er allgemein dazu benutzt um Dateiinhalte anzuzeigen oder per Pipe an ein anderes Programm zu übergeben. Dabei entstehen auch recht unschöne Konstrukte.
Der unbekannte Befehl – „watch“ der Wiederholer
Der Befehl watch ist der erste Teil der Serie „Der unbekannte Befehl“. watch macht eigentlich etwas völlig einfaches was man auch per Shellscript recht einfach ersetzen könnte. Ohne Optionen wäre folgendes Script eine Simulation des Befehls:
#!/bin/bash # Eine Simulation von watch # Aufruf "watch-sim <Befehl> <Zeit in Sekunden>" while true do $1 sleep $2 clear done
Webpage zur Anzeige der von fail2ban geblockten IP-Adressen
Irgendwie interessiert mich immer mal woher die IPs kommen die durch automatisierte Angriffscripts von fail2ban aussortiert werden. Was liegt hier nahe – ein Shellscript zu schreiben und dann mit crond regelmäßig zu erneuern. Geblockte IP-Adressen können mit:
fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}'
ausgelesen werden. Ist ein wenig unhandlich diese unformatierte Ausgabe.
Seltsame Zeichen in ncurses
Wenn man bei Anwendungen die ncurces benutzen, zum Beispiel midnight commander oder dpkg-reconfigure, statt Linien seltsame Buchstaben bekommt wie hier: