web-dev-qa-db-ja.com

Linuxはルートパーティションのみを検索/検索しますか?

私がする必要があると言います:

検索/ -name somefile.txt 

ルートパーティション//dev/sda5にマウントされていると言います。ただし、250GBのパーティション(/dev/sda6/dev/sda7)が/mediaにマウントされているとします。これは、現在覚えていない別の場所です。また、探しているファイルが/dev/sda5にあることを知っているとします。

明らかに、上記のコマンドは/mediaおよび大きなパーティションを表す他のディレクトリにも下降し、間違った場所でファイルを探すのに時間を浪費します。

検索(または他のコマンド)に/only/dev/sda5を検索し、異なるパーティションにある場合はディレクトリに下がらないように指示する方法はありますか?

20
sdaau

使用 -xdev検索する引数

-xdev他のファイルシステムのディレクトリを降りません。

32
nos

POSIX標準 defines _-xdev_” primary“:

これにより、findは、異なるデバイスIDを持つ過去のディレクトリを下降し続けることができなくなります。

これはGNUのfindに実装されています(つまり、 findutils ; docs )。
GNU findでは、_-mount_を” _-xdev_の別名として使用して、他のバージョンのfindと互換性を持たせることもできます。

BSDシステムとmacOSでは、オプションは代わりに_-x_です。彼らは(混乱するかもしれませんが)_-xdev_を呼び出して、「 deprecated 」にします。ただし、代わりに_-mount_を使用できます。 [ FreeBSD および macOS のマンページ]

他のツール、参考までに

_rg --files_のように ripgreprg)を使用している場合は、と同じように_--one-file-system_オプションを使用できます。 find の_-xdev_オプション。

3
myrdd