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.

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information