Linux HANYA mencari / mencari partisi root?

17

Katakan yang perlu saya lakukan:

temukan / -name somefile.txt

dan mengatakan partisi root /sudah terpasang /dev/sda5; namun, katakanlah saya juga memiliki partisi 250GB ( /dev/sda6, /dev/sda7) yang terpasang di /media- DAN lokasi lain yang saat ini tidak dapat saya ingat. Katakan juga bahwa saya tahu file yang saya cari aktif /dev/sda5.

Jelas, perintah di atas juga akan turun /mediadan direktori lain yang mewakili partisi besar, membuang-buang waktu dalam mencari file di tempat yang salah.

Apakah ada cara untuk menginstruksikan find (atau perintah lain) untuk mencari hanya / pada /dev/sda5, dan TIDAK turun ke direktori jika mereka berada di partisi yang berbeda?

sdaau
sumber

Jawaban:

30

Gunakan -xdevargumen untuk menemukan

-xdev Jangan turun direktori di sistem file lain.

tidak
sumber
1
Terima kasih banyak - hanya untuk referensi, sintaksnya adalah: <pre> find / -xdev -name somefile.txt </pre>
sdaau
1
Untuk pengguna mac: find -x / -name somefile.txt
CodeReaper
1
Mencari halaman manual untuk --one-file-systema la dujuga tidak berguna. Setidaknya mereka berdua mulai dengan -xkurasa. Dan itu berarti "perangkat lintas" saya pikir.
Sridhar Sarnobat
2

Standar POSIX mendefinisikan yang -xdev“utama“:

itu akan menyebabkan find untuk tidak melanjutkan direktori terdahulu yang memiliki ID perangkat berbeda

Ini diimplementasikan dalam GNU find(yaitu findutils ; docs ).
GNU findjuga memungkinkan Anda untuk menggunakan -mount" nama pengganti untuk -xdev, untuk kompatibilitas dengan beberapa versi pencarian lainnya.

Pada sistem BSD dan macOS pilihannya adalah -xsebaliknya. Mereka (imho membingungkan) panggilan -xdevuntuk menjadi " usang ". Namun, Anda bisa menggunakannya -mount. [halaman manual FreeBSD dan macOS ]

alat lainnya, hanya FYI

Jika Anda menggunakan ripgrep ( rg) seperti rg --files, Anda dapat menggunakan --one-file-systempilihan, yang melakukan hal yang sama seperti find 's -xdevpilihan.

myrdd
sumber