Comment trouver un fichier dans Linux en utilisant la commande Find

La commande find de Linux est l’une des commandes les plus importantes et pratiques dans les systèmes Linux. Elle peut, comme son nom l’indique, trouver des fichiers sur votre PC Linux en fonction de presque toutes les conditions et variables que vous définissez. Vous pouvez trouver des fichiers par permissions, utilisateurs, groupes, type de fichier, date, taille et d’autres critères possibles en utilisant la commande find. Ici, nous vous montrons comment trouver un fichier dans Linux en utilisant la commande find.
La commande find est disponible par défaut sur la plupart des distributions Linux, donc vous n’avez pas besoin d’installer un paquet pour cela.
Lisez aussi : Utiliser les commandes find, locate, which et whereis pour rechercher des fichiers dans Linux
Trouver des fichiers par nom dans les répertoires actuels
La façon la plus évidente de rechercher des fichiers est par nom. Pour trouver un fichier par nom dans le répertoire actuel, exécutez :
find . -name photo.png
Si vous voulez trouver un fichier par nom qui contient à la fois des lettres majuscules et minuscules, exécutez :
find . -iname photo.png
Si vous voulez trouver un fichier dans le répertoire racine, préfixez votre recherche avec sudo, ce qui vous donnera toutes les permissions nécessaires pour le faire, et aussi le symbole /, qui indique à Linux de rechercher dans le répertoire racine. Enfin, l’expression -print affiche les répertoires de vos résultats de recherche. Si vous cherchiez Gzip, vous taperiez :
sudofind/-namegzip-print
Lisez aussi : Comment trouver des fichiers volumineux dans Linux
Trouver des fichiers sous un répertoire spécifique
Si vous voulez trouver des fichiers sous un répertoire spécifique comme “/home,” exécutez :
find/home -name filename.txtSi vous voulez trouver des fichiers avec l’extension “.txt” sous le répertoire “/home,” exécutez :
find/home -name"*.txt"Pour trouver des fichiers dont le nom est “test.txt” sous plusieurs répertoires comme “/home” et “/opt”, exécutez :
find/home /opt -name test.txtPour trouver des fichiers cachés dans le répertoire “/home,” exécutez :
find/home -name".*"Pour trouver un fichier unique appelé “test.txt” et le supprimer, exécutez :
find/home -type f -name test.txt -execrm-f{}Pour trouver tous les fichiers vides sous le répertoire “/opt,” exécutez :
find/opt -type f -emptyTrouver des répertoires par nom
Si vous voulez trouver tous les répertoires dont le nom est “testdir” sous le répertoire “/home,” exécutez :
find/home -type d -name testdirPour trouver tous les répertoires vides sous “/home,” exécutez :
find/home -type d -emptyTrouver des fichiers avec certaines permissions
La commande find peut être utilisée pour trouver des fichiers avec une permission spécifique en utilisant l’option perm.
Pour trouver tous les fichiers dont les permissions sont “777” dans le répertoire “/home,” exécutez :
find/home -type f -perm 0777 -printPour trouver tous les fichiers sans permission “777,” exécutez :
find . -type f !-perm777Pour trouver tous les fichiers en lecture seule, exécutez :
find/home -perm/u=rPour trouver tous les fichiers exécutables, exécutez :
find/home -perm/a=xPour trouver tous les fichiers avec le bit collant défini dont les permissions sont “553,” exécutez :
find/home -perm1553Pour trouver tous les fichiers SUID définis, exécutez :
find/home -perm/u=sPour trouver tous les fichiers dont les permissions sont “777” et changer leurs permissions en “700,” exécutez :
find/home -type f -perm 0777 -print-execchmod700{} ;Trouver des fichiers et répertoires en fonction de la date et de l’heure
Pour trouver tous les fichiers sous “/opt” qui ont été modifiés il y a 20 jours, exécutez :
find/opt -mtime20Pour trouver tous les fichiers sous “/opt” qui ont été accédés il y a vingt jours, exécutez :
find/opt -atime20Pour trouver tous les fichiers sous “/opt” qui ont été modifiés il y a plus de 30 jours et moins de 50 jours après :
find/opt -mtime +30-mtime-50Pour trouver tous les fichiers sous “/opt” qui ont été changés dans les deux dernières heures, exécutez :
find/opt -cmin-120Trouver des fichiers et répertoires en fonction de la taille
Pour trouver tous les fichiers de 10 Mo sous le répertoire “/home,” exécutez :
find/home -size 10MPour trouver tous les fichiers sous le répertoire “/home” qui sont supérieurs à 10 Mo et inférieurs à 50 Mo, exécutez :
find/home -size +10M -size-50MPour trouver tous les fichiers “.mp4” sous le répertoire “/home” de plus de 10 Mo et les supprimer en utilisant une seule commande, exécutez :
find/home -type f -name*.mp4 -size +10M -execrm{} ;Comme vous pouvez le voir, la commande find est incroyablement utile pour administrer un système, parcourir les répertoires pour trouver des fichiers, et généralement élaguer l’arbre de répertoires virtuel dans Linux. Si vous avez apprécié cet article sur Linux, assurez-vous de consulter certains de nos autres contenus sur Linux, comme comment utiliser la commande scp pour transférer des fichiers en toute sécurité, comment utiliser nnn comme gestionnaire de fichiers dans le terminal, et comment réparer des paquets cassés.