Dateimanipulationen und -auflistungen

Allgemeiner Hinweis:

In diesen Beispielen mit find wird ausgehend vom aktuellen Verzeichnis und in allen Unterverzeichnissen gesucht, relativ zu dem Ordner in dem sich das Terminal gerade befindet. Statt des . kann auch ein Verzeichnis angegeben werden, z.B. /home/benutzername/mein_verzeichnis

Dateiberechtigungen

Da der chmod-Befehl zum Setzen von Dateirechten nicht zwischen Dateien und Ordner unterscheidet, muss man sich mit einem kleinen Trick behelfen um dies zu erreichen:

find . -type d -exec chmod 755 {} + && find . -type f -exec chmod 644 {} +

Alle Ordner in den untergeordneten Verzeichnissen werden mit Rechten 755 versehen, alle Dateien mit 644.

Dateien verschieben

Dateien aus einer Liste finden und verschieben

Aus einem Ordner, der sehr viele Dateien beinhaltet, sollen bestimmte Dateien herauskopiert werden. Die gesuchten Dateien befinden sich zeilenweise (pro Zeile ein Dateiname, ohne Dateiendung) in einer Textdatei. Dafür wird folgender Befehl verwendet.

for i in `cat dateinamen.txt`; do cp download/$i.gif work/$i.gif; done;

Im Unterordner download befinden sich alle Dateien. Die gefundenen Dateien sollen ins Unterverzeichnis work kopiert werden.

Dateien löschen

Dateien mit Tilde entfernen

Beim Bearbeiten von Dateien werden oft Sicherungskopien angelegt, die daran erkennbar sind dass eine Tilde an den Original-Dateinamen angehängt ist. Beim Webdesign entstehen so im Arbeitsverzeichnis entsprechende Dateien. Wenn ganzen Ordner bzw. Unterordner hochgeladen werden sollen, beinhalten diese die Sicherungskopien welche mit auf den Webspace übertragen werden.

Um das zu verhindern, lösche ich diese Sicherheitskopien vor dem Hochladen mittels folgendem Befehl auf dem Terminal. Zuerst lasse ich mir aber alle Dateien nur auflisten, um nicht versehentlich eine falsche Datei zu löschen:

find . -type f -iname "*~"

Wenn alle gelisteten Dateien gelöscht werden sollen, muss der Befehl noch um einen Teil ergänzt werden:

find . -type f -iname "*~" -exec rm {} \;

Die gelöschten Dateien werden bei diesem Vorgang allerdings nicht noch einmal angezeigt.

Dateien finden

große Dateien finden

Der Befehl

find . -size +5000000c -ls

listet alle Dateien auf die größer als 5 MB sind.

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information