Suchen & Finden

find
  • Durchsucht die Verzeichnishierarchie nach Dateien/Verzeichnissen
  • Komplexe Filtermöglichkeiten

find <Verzeichnis> <Filter> <Begriff>

Suche in /home in allen Ordnern die dem User Hugo gehören alle Dateien, die mit .jpg enden:

find /home -user hugo -type f -iname "*.jpg"

Suche alle Dateien mit der exakten Größe von 10MB (Größer als 10MB: +10M):

find / -size 10M -type f

Suche im aktuellen Verzeichnis alle Dateien, die neuer als ‘file’ sind:

find . -newer file

Suche in Home alle Dateien, die äter als 29 Tage sind, und lösche diese (mit Nachfrage):

find $HOME -atime +29 -exec rm -i '{}'\;

Suche im aktuellen Verzeichnis alle Ordner, die die Zeichenkette FOO enthalten (-a agiert als und; - verknüpft die Suchfilter):

find . \(-type d -a -name "*FOO*"\)
locate/slocate
  • Sucht Dateien in einem Index (wird mittels updatedb erstellt)

  • Vorteil: schneller, da nur der Index durchsucht wird.

  • Nachteil: updatedb läft als root, indexiert also alle Dateien. Jeder User kann sich den vollen Index ansehen, dadurch auch den Inhalt fremder Home-Ordner..

  • Abhilde durch: slocate

  • Beispiele:

    locate foo
    locate */bla.???
    locate Projekte/Baumhaus
    

Finde ‘name’ in $PATH:

which name

Durchsuchte $PATH nach ‘name’, gibt deren Standardverzeichnisse, deren Manpages und alles, was mit ‘name’ noch zu tun hat aus:

whereis name

Hilfe zum Thema ‘name’ finden:

apropos 'name'