Rekursives Suchen und Löschen von Verzeichnissen unter Linux und Unix

Ein Kollege hat mich gerade gefragt, wie man unter Linux von einem Verzeichnis ausgehend in einem Befehl alle Unterverzeichnisse mit einem bestimmten Namen löschen kann. Da ichs auch spontan nicht im Kopf hatte und vermutlich mir auch nicht gleich wieder merken kann, hier die Lösung:

find . -name WVXYZ -type d -exec rm -rf {} \;

Wobei WVXYZ auch durch andere Namen zu ersetzen ist. Lässt man „-type d“ weg, so werden auch alle Dateien mit dem Namen WVXYZgelöscht.

Crash von fdisk unter busybox mit Fehler „Segmentation fault“

Seit langer Zeit melden sich immer wieder Leser bei mir, dass bei ihnen bei bestimmten USB-Sticks das Programm fdisk mit der Meldung, dass es auf einen „Segmentation fault“ gestoßen sei, abgestürzt sei.

Anscheinend ist dies ein Bug des Input-Handlings, weshalb mir ein Leser den folgenden Weg für den Aufruf von fdisk schickte:

cat | fdisk /dev/sdc

So bescheuert wie dieser Aufruf aussieht, er behebt den Fehler interessanterweise.

Danke an Martin K.!

Qemu 0.9.1 unter Gentoo installieren

Für ein neues Projekt habe ich heut auf Gentoo das Virtualisierungstool Qemu in der Version 0.9.1 benötigt. Blöderweise wird bei der Installation folgender Fehler geworfen:

* qemu requires gcc-3 in order to build and work
* correctly
* please compile it switching to gcc-3.
* We are aware that qemu can guess a gcc-3 but this
* feature could be harmful.

Qemu 0.9.1 unter Gentoo installieren weiterlesen

Wie findet man unter Linux heraus, welches Programm auf eine Datei zugreift?

Genau diese Frage habe ich mir heute gestellt, da mir nicht klar war, welcher Prozess eine bestimmte Datei erstellt hat und auf diese ständig geschrieben hat.

Eine Lösung ist die Nutzung von fuser:

fuser logfile.log
logfile.log: 8278

Wie findet man unter Linux heraus, welches Programm auf eine Datei zugreift? weiterlesen

Wie findet man unter Linux heraus, welcher Nutzer auf eine Datei zugreift?

Genau diese Frage habe ich mir heute gestellt, da mir nicht klar war, welcher Nutzer eine bestimmte Datei erstellt hat und auf diese ständig geschrieben hat.

Eine Lösung ist die Nutzung von fuser:

fuser -u logfile.log
logfile.log: 8278(mysql)

Wie findet man unter Linux heraus, welcher Nutzer auf eine Datei zugreift? weiterlesen

Linux: Befehl für die TOP10 der am häufigsten verwendeten Programme

Gerade eben bin ich über die Frage gestolpert, welches Programm ich am häufigsten auf der Kommandozeile verwende. Die History ist ganz nett, aber einzeln durchzählen ist nicht so mein Fall…
Daher hier ein kleines Snippet:

history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c|sort -rn|head -10

Bei mir kam dabei auf meinem frischen Root raus, dass ich in den letzten zwei Wochen folgende Programme verwendet habe:

141 nano
98 ls
57 cd
27 rm
14 emerge
12 rcnginx
12 cat
9 /etc/init.d/nginx
8 iptables
7 tail

Sieht man, dass ich ein nano-Fan bin und grad viel mit nginx rumspiele?

Was kommt bei euch raus?

Linux: Ausgabe einer Konfigurationsdatei ohne Kommentarzeilen mittels grep

Gerade habe ich einen Weg gesucht, alle Zeilen einer Datei, die keine Kommentare sind, auszugeben. Für meine Notizen hier das Ergebnis:

grep ^[^#] DATEINAME

Der reguläre Ausdruck ^[^#] findet alle Zeilen, die kein # zu beginn haben und lässt diese ausgeben.