Як я можу більш ефективно використовувати команду find?


15

Мені хотілося знати, який найкращий спосіб ефективно використовувати команду find?

Я, як правило, використовую, find [filename] [dir]що дає мені довгий список імен файлів, жодне з яких не стосується мого пошуку.

Мені просто потрібно знайти один файл у певному каталозі. Яка команда для цього?

Відповіді:


24

зазвичай ви кажете знайти, з чого почати пошук, і що шукати. Тож синтаксис шляхів пошуку та того, що ви насправді намагаєтесь знайти, відрізняється.

Для згадуваного вами випадку використання, припустимо, ви хочете знайти passwdфайл у /etc:

find /etc/ -name passwd

ви говорите "починаючи з тощо, шукайте файл, ім'я якогоpasswd

якщо ви не вказуєте критерії (або "параметри" в пошуку мови), те, що знаходить, це починається з вказаного вами шляху (або шляхів) і рекурсивно знаходить всі файли та каталоги під ним. Тож параметри "фільтрують" ці файли, щоб звузити те, що ви шукаєте.

Знайдіть усі файли JPG в будь-якій точці вашої файлової системи:

find / -name "*jpg" 

Використання котирувань у своїх параметрах рекомендується, оскільки в іншому випадку розширення оболонки може викликати у вас головний біль.

Знайдіть будь-які файли pdf, незалежно від випадку, в документах або завантаженнях:

find Documents/ Downloads/ -iname "*pdf"

Якщо ви зробите man findта прокрутіть до ТЕСТУ, ви знайдете всі "критерії", які можна знайти, щоб звузити ваш пошук. Ви можете шукати файли із конкретними іменами, що належать певним користувачам або групам, які мають певний дозвіл на файли, певного типу (наприклад, -type dви знайдете лише каталоги, тоді як -type fви знайдете лише звичайні файли, за винятком каталогів), новіші або старіші файли певну кількість днів (або хвилин), порожні файли, які можна виконати тощо.

На головній сторінці пошуку ви також знайдете розділ під назвою ДІЇ, вони можуть відповідати критеріям і викликати будь-який файл, який відповідає всім критеріям. Таким чином, ви можете findробити такі речі, як видалення файлів, які він знаходить, виконання довільних команд на них тощо.

Але звичайно основним синтаксисом залишається:

find [starting path(s)] [conditions or criteria]

спасибі це чудово працює. Я був дуже розгублений, і це допомагає налагодити все
Sam007

1
+1 Це хороший вступ до пошуку, а також вчить ОП, як шукати подальшу інформацію.
lgarzo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.