Samstag, 30. Juli 2011

file-und Verzeichnisoperationen

Einige Kommandos die fallweise sehr nützlich sind:

find /home -name "*~" -exec rm "{}" \;

Dies bedeutet: "Lösche alle Dateien unterhalb des Verzeichnisses /home, deren Name auf eine Tilde endet".

 Über ein anderes Suchkriterium lassen sich mit find leere Dateien löschen:

find / -empty -ok rm "{}" \;
find . -empty -exec rm "{}" \;


Dateien über einer bestimmten größe finde:

ls -lahS $(find / -type f -size +100M)

findet alle Dateien grösser  100M (find und +) und gibt die Verzeichnisdaten aus (Suchergebnis mit $ an ls übergeben)

Mehrere Dateien in einem Verzeichnis umbenennen und fortlaufend nummerieren:

let counter=10000; for i in *.jpg; do let counter=counter+1; mv $i file$counter.jpg; done

Mit SEDs regulären Ausdrücken lässt sich sehr präzise formulieren, was man wie ändern möchte. Ein einfaches sed-Beispiel sieht so aus:

sed -e s/text1/text2/g datei.txt > datei.neu

Das Bedeutet so viel, wie: "Ersetze alle Vorkommen von text1 durch text2." Die geänderten Zeilen schreibt sed auf die Standardausgabe, von wo man sie mit einer Output-Umleitung (>) in eine neue Datei schreiben kann.


Mit

tail -f /var/log/messages

lassen sich die Ausgaben in die LogDatei "online" verfolgen 

Keine Kommentare:

Kommentar veröffentlichen