Linux trouver / rechercher la partition racine UNIQUEMENT?

17

Dis que je dois faire:

trouver / -name somefile.txt

et dire que la partition racine /est montée /dev/sda5; cependant, disons que j'ai également des partitions de 250 Go ( /dev/sda6, /dev/sda7) montées dans /media- ET un autre emplacement dont je ne me souviens pas actuellement. Dites aussi que je sais que le fichier que je recherche est sur /dev/sda5.

Évidemment, la commande ci-dessus descendra également dans /mediacet autre répertoire qui représente les grandes partitions, perdant du temps à chercher le fichier au mauvais endroit.

Existe-t-il un moyen de demander à find (ou à une autre commande) de rechercher uniquement / sur /dev/sda5, et de ne PAS descendre dans les répertoires s'ils se trouvent sur des partitions différentes?

sdaau
la source

Réponses:

30

Utilisez l' -xdevargument pour trouver

-xdev Ne pas descendre les répertoires sur d'autres systèmes de fichiers.

non
la source
1
Merci beaucoup - juste pour référence, la syntaxe serait: <pre> find / -xdev -name somefile.txt </pre>
sdaau
1
Pour les utilisateurs de Mac: recherchez -x / -name somefile.txt
CodeReaper
1
La recherche de la page de manuel à --one-file-systemla recherche dune m'a pas aidé non plus. Au moins, ils commencent tous les deux, -xje suppose. Et cela signifie «appareils croisés» je pense.
Sridhar Sarnobat
2

Le standard POSIX définit le -xdev«primaire»:

cela doit empêcher find de continuer à descendre les anciens répertoires qui ont un ID de périphérique différent

Ceci est implémenté dans GNU find(ie les findutils ; docs ).
GNU findvous permet également d'utiliser -mount" un autre nom pour -xdev, pour des raisons de compatibilité avec certaines autres versions de find. "

Sur les systèmes BSD et macOS, l'option est à la -xplace. Ils (à mon humble avis) appellent -xdevà la « dépréciation ». Vous pouvez cependant utiliser à la -mountplace. [pages de manuel de FreeBSD et macOS ]

d'autres outils, juste FYI

Si vous utilisez ripgrep ( rg) comme rg --files, vous pouvez utiliser l' --one-file-systemoption, qui fait la même chose que l' option find-xdev .

myrdd
la source