web-dev-qa-db-fra.com

Rechercher un fichier ou un répertoire dans la structure de répertoires

Comment puis-je trouver un fichier avec un nom spécifique dans bash. Je veux chercher dans tout le système. J'ai essayé avec find, mais cela ne fonctionne que sur un niveau.

13
RocketMan

Non, findpar défaut traverse tous les niveaux disponibles:

Sudo find / -mount -name 'myfilename'

Si vous avez une partition de départ distincte, ou une maison chiffrée ou un disque dur secondaire, vous pouvez également lister leurs points de montage, à côté de /, par exemple

Sudo find / /home/enzotib /media/data -mount -name 'myfilename'

L'option -mount est nécessaire pour éviter de traverser les systèmes de fichiers montés. Parmi ceux-ci, il y a /proc, /dev et /sys, qu'il est commode d'ignorer.

Une alternative pour parcourir tous les fichiers, en évitant seulement ces trois derniers chemins est

Sudo find /!(proc|sys|dev) -name 'myfilename'
19
enzotib