Exemples d'utilisation de la commande find
Mise à jour : Debian 9.0
(1) Recherche, dans le répertoire /sys et ses sous-répertoires, des fichiers, répertoires et liens ayant pour nom rfkill
# find /sys -name rfkill
/sys/devices/platform/asus-nb-wmi/rfkill
/sys/devices/virtual/misc/rfkill
/sys/class/misc/rfkill
/sys/class/rfkill
/sys/module/rfkill
Idem (1), en limitant la profondeur de recherche à deux niveaux de sous-répertoires
# find /sys -maxdepth 2 -name rfkill
/sys/class/rfkill
/sys/module/rfkill
Idem (1), en limitant la recherche aux dossiers
# find /sys -type d -name rfkill
/sys/devices/platform/asus-nb-wmi/rfkill
/sys/devices/virtual/misc/rfkill
/sys/class/rfkill
/sys/module/rfkill
Idem (1), en limitant la recherche aux fichiers
# find /sys -type f -name rfkill
Idem (1), en limitant la recherche aux liens
# find /sys -type l -name rfkill
/sys/class/misc/rfkill
# find /sys -name rfkill -perm 755
/sys/devices/platform/asus-nb-wmi/rfkill
/sys/devices/virtual/misc/rfkill
/sys/class/rfkill
/sys/module/rfkill
# find /sys -name rfkill -user root
/sys/devices/platform/asus-nb-wmi/rfkill
/sys/devices/virtual/misc/rfkill
/sys/class/misc/rfkill
/sys/class/rfkill
/sys/module/rfkill
Recherche des fichiers, répertoires ou liens de /sys
# find /sys -size +2k -size -4k
/sys/firmware/dmi/tables/DMI
/sys/firmware/acpi/tables/SSDT2
/sys/firmware/acpi/tables/SSDT1
Ayant des liens cassés
# find /sys -xtype l
# find /sys/class -type d -empty
/sys/class/dma
/sys/class/spi_master
/sys/class/ppdev
/sys/class/devfreq
/sys/class/watchdog
/sys/class/printer
/sys/class/phy
/sys/class/iommu
/sys/class/tpm
Rechercher les fichiers modifiés dans les dernières 24 heures
# find /etc -type m -ctime 0
Rechercher les fichiers modifiés, il y a 100 jours
# find /etc -type f -mtime 100
Rechercher les fichiers modifiés depuis plus de 10 jours et moins de 12 jours :
# find /etc -type f -mtime +10 -ctime -12
Les mêmes recherches peuvent être effectués sur
les temps d'accès et de changement : atime et ctime
les temps de modification, d'accès et de changement exprimés en minutes : mmin, amin et cmin
Utiliser des jokers dans la désignation du chemin : * ou ?
# find /sys/*/drm* -name taint
/sys/module/drm/taint
/sys/module/drm_kms_helper/taint
# find /sys /var -name rfkill
/sys/devices/platform/asus-nb-wmi/rfkill
/sys/devices/virtual/misc/rfkill
/sys/class/misc/rfkill
/sys/class/rfkill
/sys/module/rfkill
/var/lib/systemd/rfkill
Ne pas tenir compte de la casse : iname
# find /sys -type l -iname RFkill
/sys/class/misc/rfkill
Utiliser des jokers : ? ou *
# find /sys -type l -name "rfkill?"
/sys/class/rfkill/rfkill2
/sys/class/rfkill/rfkill0
/sys/class/rfkill/rfkill1
Inversion du critère : par exemple, fichiers n'ayant pas pour nom taint
# find /sys/*/drm* -not -name taint |head -5
/sys/class/drm
/sys/class/drm/card0-LVDS-1
/sys/class/drm/version
/sys/class/drm/renderD128
/sys/class/drm/card0-VGA-1
Critères multiples :
Un motif et pas l'autre : asus* et pas *nb*
# find /sys -name asus* -not -name *nb*
/sys/module/asus_wmi
/sys/module/video/holders/asus_wmi
/sys/module/rfkill/holders/asus_wmi
/sys/module/sparse_keymap/holders/asus_wmi
/sys/module/wmi/holders/asus_wmi
Un motif ou l'autre : asus* ou intel*
# find /sys/kernel -name asus* -or -name intel*
/sys/kernel/debug/asus-nb-wmi
/sys/kernel/debug/intel_powerclamp
/sys/kernel/debug/tracing/events/i915/intel_gpu_freq_change
Recherche des fichiers ayant pour nom taint et affichage avec ls -l :
# find /sys -name taint -exec ls -l {} \;
-r--r--r-- 1 root root 4096 mars 3 22:05 /sys/module/lp/taint
-r--r--r-- 1 root root 4096 mars 3 22:05 /sys/module/asus_wmi/taint
-r--r--r-- 1 root root 4096 mars 3 22:05 /sys/module/ac/taint
-r--r--r-- 1 root root 4096 mars 3 22:05 /sys/module/snd_hda_intel/taint
-r--r--r-- 1 root root 4096 mars 3 22:05 /sys/module/iwlwifi/taint
...........
Recherche des fichiers ayant pour nom "name" et affichage de leur contenu avec cat :
# find /sys -name name -exec cat {} \; |sort
acpitz
asus
asus-bluetooth
ASUS USB2.0 Webcam
ASUS USB2.0 Webcam
.......
Recherche des fichiers ayant pour nom "name",
Affichage des fichiers contenant le mot "asus" avec grep -l (grep -l sélectionne le premier fichier où se trouve le motif)
Affichage de leur contenu avec cat
# find /sys -type f -name name -exec grep -l asus {} \; -exec cat {} \;
/sys/devices/platform/asus-nb-wmi/hwmon/hwmon2/name
asus
/sys/devices/platform/asus-nb-wmi/rfkill/rfkill2/name
asus-bluetooth
/sys/devices/platform/asus-nb-wmi/rfkill/rfkill1/name
asus-wlan
Lister les résultats (format ls -dils)
# find /sys -name rfkill -ls
19277 0 drwxr-xr-x 4 root root 0 mars 5 14:25 /sys/devices/platform/asus-nb-wmi/rfkill
15568 0 drwxr-xr-x 3 root root 0 mars 5 13:26 /sys/devices/virtual/misc/rfkill
15571 0 lrwxrwxrwx 1 root root 0 mars 5 14:24 /sys/class/misc/rfkill -> ../../devices/virtual/misc/rfkill
15567 0 drwxr-xr-x 2 root root 0 mars 5 13:26 /sys/class/rfkill
12591 0 drwxr-xr-x 6 root root 0 mars 5 13:26 /sys/module/rfkill
Imprimer les résultats dans un fichier
# find /sys -name rfkill -fprint test.txt
$ cat test
/sys/devices/platform/asus-nb-wmi/rfkill
/sys/devices/virtual/misc/rfkill
/sys/class/misc/rfkill
/sys/class/rfkill
/sys/module/rfkill
Supprimer les résultats : -delete