Linux найти / найти корневой раздел ТОЛЬКО?


17

Скажи, что мне нужно сделать:

find / -name somefile.txt

и говорят, что корневой раздел /смонтирован на /dev/sda5; однако, допустим, у меня также есть разделы ( /dev/sda6, /dev/sda7) объемом 250 ГБ , подключенные в /media- И другое место, которое я не могу вспомнить в настоящее время. Скажем также, что я знаю, что файл, который я ищу, включен /dev/sda5.

Очевидно, что вышеприведенная команда также сойдет в /mediaту и другую директорию, которая представляет большие разделы, тратя время на поиск файла в неправильном месте.

Есть ли способ дать команду find (или другую команду) искать только / по /dev/sda5НЕ, а НЕ спускаться в каталоги, если они находятся в разных разделах?

Ответы:


30

Используйте -xdevаргумент, чтобы найти

-xdev Не спускать каталоги на другие файловые системы.


1
Большое спасибо - просто для справки, синтаксис будет такой: <pre> find / -xdev -name somefile.txt </ pre>
sdaau

1
Для пользователей Mac: найдите -x / -name somefile.txt
CodeReaper

1
Поиск страницы справочника --one-file-systemа-ля duмне тоже не помог. По крайней мере, они оба начинаются с того, что -xя полагаю. И это означает «перекрестные устройства», я думаю.
Шридхар Сарнобат

2

Стандарт POSIX определяет-xdev «первичный«:

это приведет к тому, что find не будет продолжать убывать прошлые каталоги, которые имеют другой идентификатор устройства

Это реализовано в GNU find(например, findutils ; docs ).
GNU findтакже позволяет использовать в -mountкачестве « альтернативного имени» -xdevдля совместимости с некоторыми другими версиями find. «

В системах BSD и macOS опция -xвместо этого. Они (imho запутанно) призывают -xdevбыть « осуждаемыми ». Вы можете, однако, использовать -mountвместо этого. [руководства по FreeBSD и macOS ]

другие инструменты, только к вашему сведению

Если вы используете ripgrep ( rg) как rg --files, вы можете использовать --one-file-systemопцию, которая делает то же самое, что и опция find-xdev .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.