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

14

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

RocketMan
la source

Réponses:

20

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

sudo find / -mount -name 'myfilename'

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

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

L' -mountoption est nécessaire pour éviter de traverser les systèmes de fichiers montés. Parmi ceux-ci, il y a /proc, /devet /sysc'est pratique à sauter.

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

sudo find /!(proc|sys|dev) -name 'myfilename'
enzotib
la source
pour trouver tous les fichiers commençant par "my" do: find. -name my \ * (bash interpréterait l'étoile s'il n'y avait pas de barre oblique)
krumpelstiltskin