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