Linux znaleźć / przeszukać TYLKO partycję główną?


17

Powiedz, że muszę zrobić:

znajdź / -name somefile.txt

i powiedzmy, że partycja root /jest zamontowana /dev/sda5; powiedzmy jednak, że mam również zamontowane partycje o pojemności 250 GB ( /dev/sda6, /dev/sda7) /media- ORAZ inną lokalizację, której obecnie nie pamiętam. Powiedz też, że wiem, że plik, którego szukam, jest włączony /dev/sda5.

Oczywiście powyższe polecenie również zejdzie do /mediainnego katalogu reprezentującego duże partycje, marnując czas na szukanie pliku w niewłaściwym miejscu.

Czy istnieje sposób, aby poinstruować find (lub inne polecenie), aby wyszukiwał tylko / na /dev/sda5, a NIE schodził do katalogów, jeśli znajdują się na różnych partycjach?

Odpowiedzi:


30

Użyj -xdevargumentu, aby znaleźć

-xdev Nie schodź do katalogów w innych systemach plików.


1
Wielkie dzięki - tylko dla odniesienia, składnia wyglądałaby następująco: <pre> find / -xdev -name somefile.txt </pre>
sdaau

1
Dla użytkowników komputerów Mac: znajdź -x / -name somefile.txt
CodeReaper

1
Przeszukiwanie strony podręcznika pod kątem --one-file-systemla duteż mi nie pomogło. Przynajmniej obaj zaczynają od, jak -xsądzę. I myślę, że oznacza to „wiele urządzeń”.
Sridhar Sarnobat

2

POSIX'owych norma określa-xdev „pierwotna„

spowoduje to, że find nie będzie kontynuował schodzenia do poprzednich katalogów, które mają inny identyfikator urządzenia

Jest to zaimplementowane w GNU find(tj. Findutils ; docs ).
GNU findpozwala także używać -mountjako „ alternatywnej nazwy dla -xdev, dla kompatybilności z niektórymi innymi wersjami find.

W systemach BSD i macOS opcja jest -xzamiast tego. (Imho myląco) wzywają -xdevdo „ przestarzałych ”. Możesz jednak użyć -mountzamiast tego. [strony FreeBSD i macOS ]

inne narzędzia, po prostu FYI

Jeśli używasz ripgrep ( rg) jak rg --filesmożna korzystać z --one-file-systemopcji, która robi to samo jak find „s -xdevopcji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.