SADECE Linux bulma / arama kök bölümü?


20

Yapmam gerektiğini söyle:

find / -name bazı dosya.txt

ve kök bölümünün /monte edildiğini varsayalım /dev/sda5; Bununla birlikte, 250GB bölümlerim ( /dev/sda6, /dev/sda7) takılı /mediaolduğumu ve şu anda hatırlayamadığım başka bir konumum olduğunu varsayalım. Ayrıca, aradığım dosyanın olduğunu biliyorum /dev/sda5.

Açıkçası, yukarıdaki komut da iner /mediave büyük bölümleri temsil eden diğer dizin, dosyayı yanlış yerde aramak için zaman harcar.

Talimat find (ya da diğer komuta) aramak için bir yol var mı sadece / üzerinde /dev/sda5farklı bölümleri üzerinde ise ve NOT dizinlere inerek için?

Yanıtlar:


32

-xdevBulmak için argümanı kullanın

-xdev Diğer dosya sistemlerindeki dizinleri azaltma.


1
Çok teşekkürler - sadece referans için, sözdizimi şöyle olacaktır: <pre> find / -xdev -name somefile.txt </pre>
sdaau

1
Mac kullanıcıları için: -x / -name somefile.txt
dosyasını

1
Man sayfasını --one-file-systembir la için aramak da dubana iyi gelmedi. En azından ikisi de -xsanırım başlıyor . Sanırım "cihazlar arası" demek.
Sridhar Sarnobat

3

POSIX standardı tanımlar-xdev “birincil“:

farklı bir cihaz kimliğine sahip dizinleri geçmeye devam etmemeye neden olur.

Bu GNU'lardafind (yani findutils ; docs ) uygulanır.
GNU findayrıca bazı buluntu sürümleriyle uyumluluk için-mountalternatif bir ad-xdev olarak kullanmanızı sağlar .

BSD sistemlerinde ve macOS'ta bu seçenek -xyerine geçer. Onlar (kafa karıştırıcı bir şekilde) -xdevitiraz edilmeye” çağırıyorlar . Ancak -mountbunun yerine kullanabilirsiniz . [ FreeBSD ve macOS yönetimi ]

diğer araçlar, sadece FYI

Eğer kullanıyorsanız ripgrep ( rg) gibi rg --files, sen kullanabilirsiniz --one-file-systemgibi aynısını yapar seçeneği bulmak 'ın -xdevseçeneği.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.