Niveau de difficulté Facile
Privilèges de la racine Oui
Exigences Terminal Linux
Catégorie Gestion des fichiers
Conditions préalables commandes find et locate
Compatibilité avec les systèmes d'exploitation Alma-Alpine-Arch-BSD-Debian-Fedora- Mint -openSUSE- Pop!_OS -RHEL- Rocky -Stream-SUSE-Ubuntu-Unix-WSL
Temps de lecture estimé 4 minutes
 
Vous devez utiliser la commande find, qui est utilisée pour trouver des fichiers sur Linux ou les systèmes de type Unix. Une autre option est la commande locate pour rechercher dans une base de données préconstruite de fichiers générée par updatedb. Cependant, la commande find recherchera dans le système de fichiers en direct les fichiers qui correspondent aux critères de recherche.
Comment trouver un répertoire sous Unix/linux ?

 

 

Comment trouver un répertoire sous Linux

La syntaxe de la commande find est la suivante :

find /where/to/look/up criteria action
find /dir/path/look/up criteria action
find /dir/path/look/up -name "dir-name-here"
find /dir/path/look/up -name "pattern"
find /dir/path/look/up -name "dir-name-here" -print
find /dir/path/look/up -name "dir-name-here"
find / -name "dir-name-here"
find / -type d -name "dir-name-here"
find / -type d -name "dir-name-here" 2>/dev/null

Commande Linux find directory

L'exemple suivant affichera tous les fichiers du répertoire actuel et tous les sous-répertoires :

find 
find .
find . -print

Trouver un répertoire

Alerte: Lors d'une recherche dans le système de fichiers / (racine), vous devez exécuter la commande find en tant qu'utilisateur root.

Pour trouver un répertoire appelé apt dans le système de fichiers / (racine), entrez :

find / -type d -name "apt" 
sudo find / -type d -name "apt"

Exemples de résultats :

/var/log/apt
/var/lib/apt
/var/cache/apt
/etc/apt
/etc/logrotate.d/apt
/etc/cron.daily/apt

Traitement des messages d'erreur "Permission refusée" sous Linux

Find affichera un message d'erreur pour chaque répertoire/fichier sur lequel vous n'avez pas fait de recherche.

Find affichera un message d'erreur pour chaque répertoire/fichier pour lequel vous n'avez pas les droits de lecture.

Pour éviter ces messages, ajoutez 2>2>2>2>2>2>2>2>/dev/null à la fin de chaque commande :

 

find /where/to/look/ criteria action 2>/dev/null
sudo find / -type d -name "apt" 2>/dev/null

Comment trouver un répertoire nommé Documents sous Linux ?

Tapez la commande suivante pour rechercher le répertoire Documents dans votre répertoire $HOME :

$ find $HOME -type d -name Documents

Exemples de résultats :

 

/home/vivek/Documents

Obtenir une liste détaillée des fichiers/dossiers

Passez le -ls pour lister le fichier courant au format de sortie de la commande ls :

find  / -name "apt" -ls

Exemples de résultats :

4719035    4 drwxr-xr-x   2 root     root         4096 Aug 22 06:25 /var/log/apt
4718597    4 drwxr-xr-x   5 root     root         4096 Aug  4 13:46 /var/lib/apt
4718601    4 drwxr-xr-x   3 root     root         4096 Aug  8 09:37 /var/cache/apt
917524    4 drwxr-xr-x   6 root     root         4096 Jun 18 02:28 /etc/apt
917721    4 -rw-r--r--   1 root     root          173 Apr 15  2011 /etc/logrotate.d/apt
918762   16 -rwxr-xr-x   1 root     root        14985 Mar 14 12:48 /etc/cron.daily/apt

Comment lister uniquement les répertoires ?

Il suffit de trouver les répertoires et d'ignorer les noms de fichiers en passant la commande -type d comme suit :

find  / -type d -name "apt" -ls

Exemples de résultats :

4719035    4 drwxr-xr-x   2 root     root         4096 Aug 22 06:25 /var/log/apt
4718597    4 drwxr-xr-x   5 root     root         4096 Aug  4 13:46 /var/lib/apt
4718601    4 drwxr-xr-x   3 root     root         4096 Aug  8 09:37 /var/cache/apt
917524    4 drwxr-xr-x   6 root     root         4096 Jun 18 02:28 /etc/apt

Comment effectuer une recherche sans tenir compte de la casse ?

Remplacer -name option avec -iname comme suit :

find  / -type d -iname "apt" -ls

OU

find  / -type d -iname "apt"

Le motif 'apt' correspond aux noms de répertoire 'apt', 'APT', 'Apt', 'apT', etc.

Comment trouver un répertoire appelé project.images ?

Tapez l'une des commandes suivantes :

find  / -type d -iname "project.images" -ls

OU

find  / -type d -name "project.images" -ls

OU

find  / -type d -name "project.images"

Il est également possible d'utiliser les jokers de la manière suivante :

find  / -type d -name "project.*"
find  /dir/to/search/ -type d -name "project.image??"

Une note sur la commande locate

Pour rechercher un fichier/répertoire nommé exactement project.images (et non *project.images*), tapez :

locate -b 'project.images'

Résumé

Vous avez appris à trouver un répertoire ou un dossier sous Linux à l'aide de la CLI. La commande Find a beaucoup plus d'options ; consultez donc la page de manuel en utilisant la commande man/help :

$ man find
$ man locate
$ find --help

 

Voir aussi

  • Tous trouvent des exemples de commandes dans nos sections /faq/.

 

Cette réponse était-elle pertinente? 23 Utilisateurs l'ont trouvée utile (87 Votes)

Powered by WHMCompleteSolution