In diesem Beitrag werden einige Befehle für Dateioperationen dargestellt. Diese Dateioperationen erleichtern den Umgang mit Dateien (Umbenennen, Kopieren, Suchen, etc.) unter Linux. Alle Beispiele beziehen sich auf XML-Dateien.

Dateien umbenennen

Das folgendes Kommando benennt alle XML-Dateien in XSD-Dateien um …

$ for i in *.xml ; do mv $i `basename $i | sed 's/xml/xsd/g'`; done
$

… oder alternativ mit folgendem Befehl.

$ rename .xml .xsd *.xml
$

Der erste Parameter gibt die alte Dateiendung und der zweite Parameter die neue Dateiendung an. Danach folgen die Parameter für die zu ändernden Dateien.

Kopieren mit tar und ssh

Es sollen viele kleine XML-Dateien auf einen entfernten Rechner kopiert werden. Um den Kopiervorgang zu beschleunigen wird mit tar cf ein Datenstrom erzeugt. Dieser Datenstrom wird über die Standardausgabe auf den ssh-Befehl umgelenkt und auf dem entfernten Rechner (example.org) wieder mit tar xf von der Standardeingabe gelesen.

$ tar cf - *.xml | ssh example.org "cd /home/user/xml ; tar xf -"
$

Dieser Datenstrom kann mit tar czf auch komprimiert werden.

$ tar czf - *.xml | ssh example.org "cd /home/user/xml ; tar xzf -"
$

Mit dem nächsten Befehl wird noch ein Buffer erzeugt, um den Datentransfer noch zu beschleunigen.

$ tar czf - *.xml | buffer -m 10m | ssh example.org "cd /home/user/xml ; tar xzf -"
$

Das Ablegen einer Backup-Datei auf einen Server …

$ tar cjvf - /home/user | ssh example.org "cat > /backup/user_20081221.tar.bz2"

… und das Wiederherstellen der Daten.

$ ssh example.org "cat /backup/user_20081221.tar.bz2" | tar xjpf -
$

Suchen nach Dateien

Suche alle Verzeichnisse, ab den aktuellen Verzeichnis, die für alle beschreibbar sind.

$ find . -type d -perm /o+w -print
$

Suche alle Dateien, ab den aktuellen Verzeichnis, die für alle beschreibbar sind.

$ find . -type f -perm /o+w -print
$

Suche alle Dateien, ab den aktuellen Verzeichnis, die für alle beschreibbar sind und setze den Schreibschutz für diese Benutzergruppe zurück.

$ find . -type f -perm /o+w -print | xargs /bin/chmod o-w
$

Gleiche Suche wie oben! Aber wenn im Dateinamen Leerzeichen oder Zeilenumbrüche enthalten sind (ist bei Unix-Systemen zulässig), dann müssen zusätzliche Parameter gesetzt werden.

$ find . -type f -perm /o+w -print0 | xargs -0 /bin/chmod o-w
$

Suche alle Dateien, die in den letzten 2 Tagen verändert wurden.

$ find . -type f -mtime -2 -print
$
Frank Rahn
Letzte Artikel von Frank Rahn (Alle anzeigen)
0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ihre E-Mail-Adresse wird nicht veröffentlicht. Ihr Kommentar wird verschlüsselt an meinen Server gesendet. Erforderliche Felder sind mit * markiert.

Weitere Informationen und Widerrufshinweise finden Sie in meiner Datenschutzerklärung.