Dit is een zoekprogramma waarmee echt op je harde
schijf wordt gezocht naar een bepaald bestand. Eerst moet de begindirectory
opgegeven worden, daarna de opties. Voorbeeld:
find / -name Makefile -print Hiermee worden alle Makefile-bestanden in / en
in alle subdirectories daarvan getoond.
Door -iname
te gebruiken wordt niet op hoofd- en kleine letters gelet.
Door de optie -ls
te gebruiken i.p.v. -print
krijg je de bestanden te
zien in de vorm van ls -li.
Als je weet hoe groot het gezochte bestand is, kun je de optie -size
gebruiken. Zet
daar een getal achter en de eenheid (b voor 512-byte blokken, c voor bytes, k
voor kilobytes en 2 voor 2-byte words). Voorbeeld: find /usr -size 100k.
Als je een bepaald type bestand zoekt, kun je de optie -type
gebruiken. Zet
daar een letter achter om aan te geven wat voor type bestand je zoekt.
Een b staat voor block (buffered) special, c voor character (unbuffered) special,
d voor directory, p voor een named pipe (FIFO), f voor een normaal bestand,
l voor een symbolic link en s voor een socket. Deze letters zie je ook helemaal
links als je ls -l gebruikt (alleen is f dan een streepje).
Voorbeeld: find /tmp -type l.
Om iets met de gevonden bestanden te laten doen, kan de optie -exec
gebruikt worden. Zet daar een commando achter dat voor alle bestanden
uitgevoerd moet worden. Gebruik daarin '{}'
(met enkele quotes dus)
om de bestandsnaam te laten invullen op die plaats en ';'
om aan te
geven dat het einde van het commando is bereikt. Om bijv. naar alle .c-bestanden
in /usr/src/linux met de tekst foo erin te zoeken, gebruik je:
find /usr/src/linux -name "*.c" -exec grep -l foo '{}' ';'