Comment chercher un fichier sur Linux

Bien que nous puissions rechercher et localiser des fichiers et des répertoires sur Linux, le plus simple et le plus rapide soit probablement à travers le terminal.
Cependant, peu d'utilisateurs de Linux savent comment faire une recherche de fichiers dans un terminal.

Voici un guide rapide qui vous aidera à localiser ce que vous recherchez dans votre système grâce aux commandes locate ou find dédiées à la recherche de fichiers.

Comment chercher un fichier sur Linux

Comment chercher un fichier sur Linux avec locate

La commande locate est la solution la plus simple pour effectuer une recherche de fichiers, car elle est beaucoup plus rapide que tout ce qui est là. La raison de cette vitesse inégalée est que la commande de localisation ne cherche pas réellement les fichiers dans disques durs locaux pour les fichiers ou les répertoires.
En effet, il créé une base de données MLOCK.DB de vos fichiers et leurs chemins.
Ainsi, la recherche s'effectue directement dans celle-ci.
La base de données est mise à jour tous les jours à travers un cron (dans /etc/cron.daily/locate).

L'utilitaire locate est en général installé par défaut dans les distributions Linux modernes.
Toutefois, vous pouvez utiliser le gestionnaire de paquets de votre distribution pour l'installer.

Utilisez APT pour les distributions de type Debian (Ubuntu, Mint, etc) :

sudo apt-get install locate

Utilisez DNF pour les distributions de type Redhat (Fedora, etc) :

sudo dnf install locate

Pour mettre à jour la base de données locate, on utilise la commande updatedb :

sudo updatedb

Puis pour chercher un fichier, spécifiez simplement son nom, par exemple pour chercher le fichier malekal.txt :

locate malekal
Comment chercher un fichier sur Linux avec locate

Comme toute commande Linux, locate est case sensitive.
Ainsi, l'utilisation suivante ne donnera pas les mêmes résultats que précédemment :

locate Malekal

Pour ignorer la casse, utilisez l'option -i :

locate -i malekal

D'autres exemples d'utilisations dans le tutoriel suivant :

Comment chercher un fichier sur Linux avec find

Find est une commande Linux qui permet de chercher en temps réel sur vos disques dur locaux.
Elle est donc plus lente que locate mais elle est plus puissante car elle propose de nombreuses options.
Par exemple, la commande find peut trouver des fichiers vides, chercher des fichiers sur une une plage de taille spécifique, des fichiers cachés, des exécutables, des fichiers en lecture seule et des fichiers avec certaines autorisations.
On peut aussi restreindre la rechercher sur un répertoire spécifique.
De plus, il est possible de combiner find avec d'autres commandes grâce à l'option -exec.

Par exemple pour rechercher dans le répertoire courant tous les fichiers ou répertoires avec le mot malekal dans le nom :

sudo find . -name "*malekal*"
Comment chercher un fichier sur Linux avec find

Pour faire une recherche de fichiers en ignorant la case, utilisez -iname :

sudo find . -iname "*poster*"

Pour chercher des fichiers sur une taille de fichiers, on utilise l'option -size

find ~/ -size -5M

Pour spécifier un intervalle de taille de fichier, utilisez -and :

find / -size -10M -and -size +5M

Enfin, vous venez d'accéder à un fichier mais vous vous ne souvenez plus du nom et son emplacement.
Vous pouvez retrouver le fichier que vous venez accédez, par exemple, il y a 5 minutes grâce à l'option -amin :

find / -amin -3

Pour une demi-heure, ce serait "find / -amin -30" et "-amin -120" pour les deux dernières heures, etc.
Si vous avez accédé au fichier il y a trois jours, utilisez l'option -time à la place :

find / -time -3

Retrouvez d'autres exemples de l'utilisation de la commande find dansc ce tutoriel :

Tags: