Я хотел знать, что лучший способ состоит в том, чтобы использовать команду находки эффективно?
Я обычно использую, find [filename] [dir]
который дает мне длинный список имен файлов ни один из них любой путь, связанный с моим поиском.
Я просто должен найти один файл в конкретном каталоге. Какова команда для этого?
Вы обычно говорите найти, где начать поиск и что искать. Таким образом, синтаксис путей поиска и того, что вы на самом деле пытаетесь найти, отличается.
Для случая использования, о котором вы упомянули, давайте предположим, что вы хотите найти файл passwd
в /etc
:
find /etc/ -name passwd
, который вы говорите «начиная с etc, найдите файл, чей [ 1111] name будет passwd
, если вы не указываете критерии (или «опции» в языке поиска), то, что делает поиск, начинается с указанного вами пути (или путей), и рекурсивно находит все файлы и каталоги внизу. Таким образом, опции «фильтруют» эти файлы, чтобы сузить то, что вы ищете.
Найдите все файлы JPG в любой точке вашей файловой системы:
find / -name "*jpg"
[ 1117] Рекомендуется использовать кавычки в ваших настройках, потому что в противном случае расширение оболочки может вызвать у вас головную боль.
Найдите любые PDF-файлы, независимо от регистра, в Документах или Загрузках:
find Documents/ Downloads/ -iname "*pdf"
выполните man find
и прокрутите вниз до пункта ТЕСТЫ, и вы найдете все «критерии», которые можно найти, чтобы сузить свой поиск. Вы можете искать файлы с определенными именами файлов, принадлежащими определенным пользователям или группам, с определенными правами доступа к файлам, существо из конкретный тип (например, -type d
найдет только каталоги, в то время как -type f
найдет только простые файлы, исключая каталоги), файлы, которые старше или старше определенного количества дней (или минут), пустые файлы, которые являются исполняемыми, и так далее.
На странице справки find вы также найдете раздел, который называется ACTIONS, они могут идти после критериев и запускаться любым файлом, который соответствует всем критериям. Таким образом, вы можете выполнять find
такие вещи, как удаление найденных файлов, выполнение произвольных команд над ними и т. Д.
Но, конечно, основной синтаксис остается:
find [starting path(s)] [conditions or criteria]