Unter macOS alle Dateien eines Verzeichnisses hashen

Für die Überprüfung einiger Dateien unter macOS wollte ich diese mittels SHA1 hashen. Dazu dient das Kommando shasum:

shasum text.txt

Möchte man nun die Hashes aller Dateien eines Verzeichnisses berechnen, so kann man sich folgenden Befehls bedienen:

find . -type f -print0  | xargs -0 shasum

Anschließend erhält man eine Liste der Dateien mit den entsprechenden Hashwerten:

f6b53e378767be11ec05a25bc1be5cd6bd973fc6  ./schema.dxf
d5e5fb854be213410d8f734fee284bb12615349f  ./schema.svg
43ced91a43074bae41b5774bde6e35015ba1ed9c  ./schema.skb
0160e7f2265b51d6c5067a1468aa0cda42bc7e43  ./schema.skp
80b96f10c14b6c9bad809565d4be5c1ddc0c36a1  ./schema1.jpg
b4c9ecdc0cdec4b939049ad5e55164a09c7c6f85  ./schema2.jpg
821b657612029cf127cfb920b1943072ee333e54  ./schema.sh
64d44e1871aaa25cf0a5f34f76979f62be9617d6  ./schema.txt

Alle .git Ordner rekursiv entfernen

Vor kurzem stand ich vor dem Problem, das ich eine Menge Git-Repositories auf der Festplatte hatte und diese um den .git Ordner bereinigen wollte. Unter Linux und Mac OS X kann man sich für diese Aufgabe mit der Kommandozeile behelfen. Dazu wechselt man in den entsprechenden Ordner und gibt im Terminal folgendes ein:

find . | grep .git | xargs rm -rf

Damit werden sämtliche .git Ordner rekursiv gesucht und gelöscht. Was übrig bleibt sind die aktuellen Arbeitskopien der jeweiligen Git-Repositores.

Größere Dateien unter Linux finden

Möchte man unter Linux auf der Konsole nach Dateien suchen welche eine bestimmte Größe überschreiten, so kann man folgende Kommandozeile nutzen:

ls -lahS $(find / -type f -size +20000k)

Damit werden alle Dateien mit einer Größe von mindestens 20 Megabyte angezeigt. Die Ausgabe sieht in etwa so aus:

-rw------- 1 postgrey postgrey  10M Feb  1 18:22 /var/lib/postgrey/log.1000000002
-rw-r--r-- 1 root     root     9,9M Jul 13  2014 /usr/lib/locale/locale-archive

Rekursiv die Dateirechte verändern

Möchte man rekursiv die Dateirechte von Ordnern und Dateien verändern so gibt man folgendes auf der Konsole ein:

sudo find /home/seeseekey/test/ -type d -exec chmod 777 {} +
sudo find /home/seeseekey/test/ -type f -exec chmod 777 {} +

Der Wert bei chmod und der Pfad muss dabei natürlich den eigenen Wünschen angepasst werden.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Find
http://de.wikipedia.org/wiki/Chmod