Kataloge
mkdir
Mittels mkdir legt man ein neues Verzeichnis an.
Mit der Option -p kann man komplette Pfade anlegen.
Per Default werden
die Zugriffsrechte durch die umask festgelegt. Man kann sie aber auch per
Hand angeben.
ptschorn@Bedlam:~ > mkdir arbeit
rmdir
Leere Verzeichnisse wird man mit rmdir wieder los.
ptschorn@Bedlam:~ > rmdir arbeit/
rmdir: arbeit: Directory not empty
find
find wandert durch das Dateisystem und stöbert Dateien nach
bestimmten Kriterien auf. Als erster Parameter wird der Katalog benötigt,
in dem die Suche starten soll. Der zweite Parameter, ein sogenannter Ausdruck
hat es in sich. Ein Ausdruck kann bestehen aus eine[rm]:
Option, die das generelle Verhalten von find steuert, etwa -follow,
um symbolischen Links nachzugehen. Optionen evaluieren zu true.
Test, der eine Datei untersucht. Z.B.: -empty, um auf leere Dateien zu
testen. Tests liefern entweder true oder false.
Aktionen, die einen Seiteneffekt auf die Datei haben: z.B.: -exec Kommando.
Auf diese Weise kann man mit find z.B. Dateien löschen. Aktionen liefern
true oder false.
Operatoren, die es ermöglichen, Optionen, Tests und Aktionen logisch
miteinander zu verknüpfen. Zunächst mal sind Ausdrücke und-verknüpft,
man kann sie jedoch mit ! negieren und mit -o oder-verknüpfen.
Ausdrücke können mit /( und /) geklammert werden.
Einige Ausdrücke
-print
aktuellen Pfad ausgeben; immer wahr
-atime -5
Zugriff seit weniger als 5 Tagen?
-name muster paßt
Dateiname?
-size 0
leer?
-type d
ist es ein Katalog?
-user name
richtiger Besitzer?
All dies macht find zu einem sehr mächtigen Kommando, mit
dem man sehr aufwendige Arbeiten durchführen kann.
Alle Dateien in /home finden, deren Namen die
Zeichenkette she enthalten:
ptschorn@Bedlam:~ > find /home -name "*she*" -print
/home/ptschorn/.gimp/brushes
/home/ptschorn/shell
/home/ptschorn/shell2
Alle Dateien in /home/ptschorn/shell2 finden, die innerhalb der letzten
1*24 Stunden geändert worden sind:
ptschorn@Bedlam:~ > find /home/ptschorn/shell2 -mtime -1 -print
/home/ptschorn/shell2
/home/ptschorn/shell2/kataloge.hmtl
/home/ptschorn/shell2/service.html