Find command

Recherche par nom

# find /path/to/search -name filename

Exemple

# find /etc -name hosts
 /etc/hosts

Recherche par nom (insensible à la casse)

# find /path/to/search -iname filename

Exemple

# find /etc -iname HOSTS
  /etc/hosts

Trouver uniquement les fichiers par nom

# find /path/to/search -name filename -type f

Exemple

# find /etc -name network* -type f
  /etc/init/networking.conf

Trouver seulement les répertoires par nom

# find /path/to/search -name dirname -type d

Exemple

# find /etc -name network* -type d
  /etc/apparmor/init/network-interface-security

Trouver tous les liens symboliques

# find /path/to/search -type l

Exemple

# find /etc -type l
  /etc/vtrgb

Trouve les choses par propriétaire

# find /path/to/search -user owner

Exemple

# find ./ -user root
  ./
  ./log.file

Rechercher des fichiers exécutables

# find /path/to/search -type f -executable

Exemple

# find ./ -type f -executable
 ./4/2651.file

Trouver des fichiers SUID

# find /path/to/search -perm -4000

Exemple

# find /sbin -perm -4000
 /sbin/mount.ecryptfs_private

Trouver les choses qui ont changé aujourd'hui

# find /path/to/search -daystart -ctime -1

Exemple

# find ./ -daystart -ctime -1
  ./

Trouvez les choses qui ont changé au cours des dernières 24 heures

# find /path/to/search -ctime -1

Exemple

# find ./ -ctime -1
  ./

Compter combien de choses vous trouvez

# find /path/to/search | wc -l

Exemple

# find ./ | wc -l
  14674

Supprimer les choses que vous trouvez

# find /path/to/search -delete

Supprimer les choses que vous trouvez (Avec xargs)

# find /path/to/search | xargs rm

Supprimer les choses que vous trouvez (Avec exec)

# find /path/to/search -exec rm {} ;

Affiche le Type de fichier, Nom de fichier et Inode

# find /path/to/search -printf "%y %i %prn"

Exemple

# find ./ -printf "%y %i %prn"
  d 4852409 ./

Trouver des liens symboliques brisés

# find /path/to/search -follow -lname "*"

Exemple

# find ./ -follow -lname "*"
  ./bad_link

Trouver les fichiers de plus de 31 jours et les supprimer

# find /path/to/search -mtime +31 -delete

Exemple

# find ./ -mtime +31
  ./sudoers.new
  ./file.symlink
  ./somedirectory
  ./play/list.txt2
  ./tar.tgz
# find ./ -mtime +31 -delete

Supprimer les répertoires vides

# find /path/to/search -type d -exec rmdir --ignore-fail-on-non-empty {} + ;

Fichiers Tar modifiés aujourd'hui

# tar -cvzf ../files_created_today.tgz `find /path/to/search -type f -daystart -ctime -1`

Trouver des fichiers plus gros que X Taille

# find /path/to/search -size +

Exemple

# find ./ -size +100M
 ./madflojo/Downloads/ubuntu-12.04-server-amd64.iso

Utiliser Regex avec find

# find /path/to/search -regex 'regex pattern (full path)'

Exemple

# find /var -regex '.*/tmp/.*[0-9]*.file'
 /var/tmp/testing/2/914.file