Как я могу использовать команду find более эффективно?

Я хотел бы знать, что лучший способ эффективно использовать команду find?

Обычно я использую find [filename] [dir], который дает мне длинный список имен файлов, ни один из них не имеет отношения к мой поиск.

Мне просто нужно найти один файл в определенном каталоге. Для чего это команда?

15
задан 20 June 2012 в 00:16

8 ответов

вы обычно говорите, где начать поиск, и что искать. Таким образом, синтаксис для поиска путей и того, что вы на самом деле пытаетесь найти, различен.

В случае использования вы упомянули, предположим, что вы хотите найти файл passwd в /etc:

find /etc/ -name passwd

вы говорите «начиная с etc», ищите файл, имя - passwd

, если вы не укажете критерии ( или «параметры» в языке поиска), что находит, он начинается с пути (или пути), который вы указываете, и находит все файлы и каталоги под ним рекурсивно. Поэтому параметры «фильтруют» эти файлы, чтобы сузить то,

Найти все файлы JPG в любом месте вашей файловой системы:

find / -name "*jpg" 

Рекомендуется использовать кавычки в ваших настройках, поскольку в противном случае расширение оболочки может вызвать головные боли.

Найти любые файлы PDF, независимо от случая, в Документах или Загрузках:

find Documents/ Downloads/ -iname "*pdf"

Если вы сделаете man find и прокрутите страницу вниз до TESTS, вы найдете все «критерии», которые находят может использоваться для сужения поиска. Вы можете искать файлы с определенными именами файлов, принадлежащими спецификациям IC пользователей или групп, имеющих определенное разрешение файла, имеющее определенный тип (например, -type d найдут только каталоги, в то время как -type f найдет только простые файлы, за исключением каталогов), файлы, новые или более старые, чем определенное количество дней (или минут), файлы, которые являются пустыми, которые являются исполняемыми, и так далее.

В man-странице find вы также найдете раздел ACTIONS, который может идти по критериям и будет запускаться любым файлом, который соответствует всем критериям. Таким образом, вы можете find делать такие вещи, как удаление найденных файлов, выполнение на них произвольных команд и т. Д.

Но, конечно, основной синтаксис остается:

find [starting path(s)] [conditions or criteria]
23
ответ дан 25 July 2018 в 18:25

вы обычно говорите, где начать поиск, и что искать. Таким образом, синтаксис для поиска путей и того, что вы на самом деле пытаетесь найти, различен.

В случае использования вы упомянули, предположим, что вы хотите найти файл passwd в /etc:

find /etc/ -name passwd

вы говорите «начиная с etc», ищите файл, имя - passwd

, если вы не укажете критерии ( или «параметры» в языке поиска), что находит, он начинается с пути (или пути), который вы указываете, и находит все файлы и каталоги под ним рекурсивно. Поэтому параметры «фильтруют» эти файлы, чтобы сузить то,

Найти все файлы JPG в любом месте вашей файловой системы:

find / -name "*jpg" 

Рекомендуется использовать кавычки в ваших настройках, поскольку в противном случае расширение оболочки может вызвать головные боли.

Найти любые файлы PDF, независимо от случая, в Документах или Загрузках:

find Documents/ Downloads/ -iname "*pdf"

Если вы сделаете man find и прокрутите страницу вниз до TESTS, вы найдете все «критерии», которые находят может использоваться для сужения поиска. Вы можете искать файлы с определенными именами файлов, принадлежащими спецификациям IC пользователей или групп, имеющих определенное разрешение файла, имеющее определенный тип (например, -type d найдут только каталоги, в то время как -type f найдет только простые файлы, за исключением каталогов), файлы, новые или более старые, чем определенное количество дней (или минут), файлы, которые являются пустыми, которые являются исполняемыми, и так далее.

В man-странице find вы также найдете раздел ACTIONS, который может идти по критериям и будет запускаться любым файлом, который соответствует всем критериям. Таким образом, вы можете find делать такие вещи, как удаление найденных файлов, выполнение на них произвольных команд и т. Д.

Но, конечно, основной синтаксис остается:

find [starting path(s)] [conditions or criteria]
23
ответ дан 31 July 2018 в 10:40

вы обычно говорите, где начать поиск, и что искать. Таким образом, синтаксис для поиска путей и того, что вы на самом деле пытаетесь найти, различен.

В случае использования вы упомянули, предположим, что вы хотите найти файл passwd в /etc:

find /etc/ -name passwd

вы говорите «начиная с etc», ищите файл, имя - passwd

, если вы не укажете критерии ( или «параметры» в языке поиска), что находит, он начинается с пути (или пути), который вы указываете, и находит все файлы и каталоги под ним рекурсивно. Поэтому параметры «фильтруют» эти файлы, чтобы сузить то,

Найти все файлы JPG в любом месте вашей файловой системы:

find / -name "*jpg" 

Рекомендуется использовать кавычки в ваших настройках, поскольку в противном случае расширение оболочки может вызвать головные боли.

Найти любые файлы PDF, независимо от случая, в Документах или Загрузках:

find Documents/ Downloads/ -iname "*pdf"

Если вы сделаете man find и прокрутите страницу вниз до TESTS, вы найдете все «критерии», которые находят может использоваться для сужения поиска. Вы можете искать файлы с определенными именами файлов, принадлежащими спецификациям IC пользователей или групп, имеющих определенное разрешение файла, имеющее определенный тип (например, -type d найдут только каталоги, в то время как -type f найдет только простые файлы, за исключением каталогов), файлы, новые или более старые, чем определенное количество дней (или минут), файлы, которые являются пустыми, которые являются исполняемыми, и так далее.

В man-странице find вы также найдете раздел ACTIONS, который может идти по критериям и будет запускаться любым файлом, который соответствует всем критериям. Таким образом, вы можете find делать такие вещи, как удаление найденных файлов, выполнение на них произвольных команд и т. Д.

Но, конечно, основной синтаксис остается:

find [starting path(s)] [conditions or criteria]
23
ответ дан 31 July 2018 в 11:44

вы обычно говорите, где начать поиск, и что искать. Таким образом, синтаксис для поиска путей и того, что вы на самом деле пытаетесь найти, различен.

В случае использования вы упомянули, предположим, что вы хотите найти файл passwd в /etc:

find /etc/ -name passwd

вы говорите «начиная с etc», ищите файл, имя - passwd

, если вы не укажете критерии ( или «параметры» в языке поиска), что находит, он начинается с пути (или пути), который вы указываете, и находит все файлы и каталоги под ним рекурсивно. Поэтому параметры «фильтруют» эти файлы, чтобы сузить то,

Найти все файлы JPG в любом месте вашей файловой системы:

find / -name "*jpg" 

Рекомендуется использовать кавычки в ваших настройках, поскольку в противном случае расширение оболочки может вызвать головные боли.

Найти любые файлы PDF, независимо от случая, в Документах или Загрузках:

find Documents/ Downloads/ -iname "*pdf"

Если вы сделаете man find и прокрутите страницу вниз до TESTS, вы найдете все «критерии», которые находят может использоваться для сужения поиска. Вы можете искать файлы с определенными именами файлов, принадлежащими спецификациям IC пользователей или групп, имеющих определенное разрешение файла, имеющее определенный тип (например, -type d найдут только каталоги, в то время как -type f найдет только простые файлы, за исключением каталогов), файлы, новые или более старые, чем определенное количество дней (или минут), файлы, которые являются пустыми, которые являются исполняемыми, и так далее.

В man-странице find вы также найдете раздел ACTIONS, который может идти по критериям и будет запускаться любым файлом, который соответствует всем критериям. Таким образом, вы можете find делать такие вещи, как удаление найденных файлов, выполнение на них произвольных команд и т. Д.

Но, конечно, основной синтаксис остается:

find [starting path(s)] [conditions or criteria]
23
ответ дан 4 August 2018 в 16:07

вы обычно говорите, где начать поиск, и что искать. Таким образом, синтаксис для поиска путей и того, что вы на самом деле пытаетесь найти, различен.

В случае использования вы упомянули, предположим, что вы хотите найти файл passwd в /etc:

find /etc/ -name passwd

вы говорите «начиная с etc», ищите файл, имя - passwd

, если вы не укажете критерии ( или «параметры» в языке поиска), что находит, он начинается с пути (или пути), который вы указываете, и находит все файлы и каталоги под ним рекурсивно. Поэтому параметры «фильтруют» эти файлы, чтобы сузить то,

Найти все файлы JPG в любом месте вашей файловой системы:

find / -name "*jpg" 

Рекомендуется использовать кавычки в ваших настройках, поскольку в противном случае расширение оболочки может вызвать головные боли.

Найти любые файлы PDF, независимо от случая, в Документах или Загрузках:

find Documents/ Downloads/ -iname "*pdf"

Если вы сделаете man find и прокрутите страницу вниз до TESTS, вы найдете все «критерии», которые находят может использоваться для сужения поиска. Вы можете искать файлы с определенными именами файлов, принадлежащими спецификациям IC пользователей или групп, имеющих определенное разрешение файла, имеющее определенный тип (например, -type d найдут только каталоги, в то время как -type f найдет только простые файлы, за исключением каталогов), файлы, новые или более старые, чем определенное количество дней (или минут), файлы, которые являются пустыми, которые являются исполняемыми, и так далее.

В man-странице find вы также найдете раздел ACTIONS, который может идти по критериям и будет запускаться любым файлом, который соответствует всем критериям. Таким образом, вы можете find делать такие вещи, как удаление найденных файлов, выполнение на них произвольных команд и т. Д.

Но, конечно, основной синтаксис остается:

find [starting path(s)] [conditions or criteria]
23
ответ дан 6 August 2018 в 00:45

вы обычно говорите, где начать поиск, и что искать. Таким образом, синтаксис для поиска путей и того, что вы на самом деле пытаетесь найти, различен.

В случае использования вы упомянули, предположим, что вы хотите найти файл passwd в /etc:

find /etc/ -name passwd

вы говорите «начиная с etc», ищите файл, имя - passwd

, если вы не укажете критерии ( или «параметры» в языке поиска), что находит, он начинается с пути (или пути), который вы указываете, и находит все файлы и каталоги под ним рекурсивно. Поэтому параметры «фильтруют» эти файлы, чтобы сузить то,

Найти все файлы JPG в любом месте вашей файловой системы:

find / -name "*jpg" 

Рекомендуется использовать кавычки в ваших настройках, поскольку в противном случае расширение оболочки может вызвать головные боли.

Найти любые файлы PDF, независимо от случая, в Документах или Загрузках:

find Documents/ Downloads/ -iname "*pdf"

Если вы сделаете man find и прокрутите страницу вниз до TESTS, вы найдете все «критерии», которые находят может использоваться для сужения поиска. Вы можете искать файлы с определенными именами файлов, принадлежащими спецификациям IC пользователей или групп, имеющих определенное разрешение файла, имеющее определенный тип (например, -type d найдут только каталоги, в то время как -type f найдет только простые файлы, за исключением каталогов), файлы, новые или более старые, чем определенное количество дней (или минут), файлы, которые являются пустыми, которые являются исполняемыми, и так далее.

В man-странице find вы также найдете раздел ACTIONS, который может идти по критериям и будет запускаться любым файлом, который соответствует всем критериям. Таким образом, вы можете find делать такие вещи, как удаление найденных файлов, выполнение на них произвольных команд и т. Д.

Но, конечно, основной синтаксис остается:

find [starting path(s)] [conditions or criteria]
23
ответ дан 7 August 2018 в 18:10

вы обычно говорите, где начать поиск, и что искать. Таким образом, синтаксис для поиска путей и того, что вы на самом деле пытаетесь найти, различен.

В случае использования вы упомянули, предположим, что вы хотите найти файл passwd в /etc:

find /etc/ -name passwd

вы говорите «начиная с etc», ищите файл, имя - passwd

, если вы не укажете критерии ( или «параметры» в языке поиска), что находит, он начинается с пути (или пути), который вы указываете, и находит все файлы и каталоги под ним рекурсивно. Поэтому параметры «фильтруют» эти файлы, чтобы сузить то,

Найти все файлы JPG в любом месте вашей файловой системы:

find / -name "*jpg" 

Рекомендуется использовать кавычки в ваших настройках, поскольку в противном случае расширение оболочки может вызвать головные боли.

Найти любые файлы PDF, независимо от случая, в Документах или Загрузках:

find Documents/ Downloads/ -iname "*pdf"

Если вы сделаете man find и прокрутите страницу вниз до TESTS, вы найдете все «критерии», которые находят может использоваться для сужения поиска. Вы можете искать файлы с определенными именами файлов, принадлежащими спецификациям IC пользователей или групп, имеющих определенное разрешение файла, имеющее определенный тип (например, -type d найдут только каталоги, в то время как -type f найдет только простые файлы, за исключением каталогов), файлы, новые или более старые, чем определенное количество дней (или минут), файлы, которые являются пустыми, которые являются исполняемыми, и так далее.

В man-странице find вы также найдете раздел ACTIONS, который может идти по критериям и будет запускаться любым файлом, который соответствует всем критериям. Таким образом, вы можете find делать такие вещи, как удаление найденных файлов, выполнение на них произвольных команд и т. Д.

Но, конечно, основной синтаксис остается:

find [starting path(s)] [conditions or criteria]
23
ответ дан 10 August 2018 в 06:56

вы обычно говорите, где начать поиск, и что искать. Таким образом, синтаксис для поиска путей и того, что вы на самом деле пытаетесь найти, различен.

В случае использования вы упомянули, предположим, что вы хотите найти файл passwd в /etc:

find /etc/ -name passwd

вы говорите «начиная с etc», ищите файл, имя - passwd

, если вы не укажете критерии ( или «параметры» в языке поиска), что находит, он начинается с пути (или пути), который вы указываете, и находит все файлы и каталоги под ним рекурсивно. Поэтому параметры «фильтруют» эти файлы, чтобы сузить то,

Найти все файлы JPG в любом месте вашей файловой системы:

find / -name "*jpg" 

Рекомендуется использовать кавычки в ваших настройках, поскольку в противном случае расширение оболочки может вызвать головные боли.

Найти любые файлы PDF, независимо от случая, в Документах или Загрузках:

find Documents/ Downloads/ -iname "*pdf"

Если вы сделаете man find и прокрутите страницу вниз до TESTS, вы найдете все «критерии», которые находят может использоваться для сужения поиска. Вы можете искать файлы с определенными именами файлов, принадлежащими спецификациям IC пользователей или групп, имеющих определенное разрешение файла, имеющее определенный тип (например, -type d найдут только каталоги, в то время как -type f найдет только простые файлы, за исключением каталогов), файлы, новые или более старые, чем определенное количество дней (или минут), файлы, которые являются пустыми, которые являются исполняемыми, и так далее.

В man-странице find вы также найдете раздел ACTIONS, который может идти по критериям и будет запускаться любым файлом, который соответствует всем критериям. Таким образом, вы можете find делать такие вещи, как удаление найденных файлов, выполнение на них произвольных команд и т. Д.

Но, конечно, основной синтаксис остается:

find [starting path(s)] [conditions or criteria]
23
ответ дан 15 August 2018 в 18:53
  • 1
    спасибо, это отлично работает. Я был очень смущен, и это помогает установить вещи прямо – Sam007 19 June 2012 в 23:58
  • 2
    +1 Это хорошее введение, чтобы найти, а также учит OP, как найти дополнительную информацию. – lgarzo 20 June 2012 в 00:06

Другие вопросы по тегам:

Похожие вопросы: