Как найти файлы в Linux

Автор: Monica Porter
Дата создания: 20 Март 2021
Дата обновления: 1 Июль 2024
Anonim
Поиск файлов в Linux и Unix — find, grep, ack, ripgrep
Видео: Поиск файлов в Linux и Unix — find, grep, ack, ripgrep

Содержание

Если вы не знаете, как это сделать, найти файлы в Linux может быть сложно.Здесь лучше всего использовать несколько различных команд терминала. Они намного мощнее простого поиска в других операционных системах, и когда вы знаете, как их правильно использовать, вы получаете полный контроль над своими файлами.

Шаги

Метод 1 из 3. Используйте команду "найти"

  1. Найдите файлы по имени. Это самый простой метод поиска, который вы можете выполнить с помощью команды находить. Приведенная ниже команда найдет файл в текущем каталоге и во всех его подпапках.
    • Использовать -iname вместо того -имя чтобы игнорировать элементы верхнего и нижнего регистра в ваших запросах. Comeinand -имя учтите этот фактор.

  2. Настройка поиска запускается из корневого каталога. Для поиска по компьютеру вы можете добавить модификаторы / в запрос. Благодаря этому команда находить распознает и перейдет к поиску всех каталогов из корневого каталога.
    • Вы можете начать поиск в определенном каталоге, заменив запятую / по пути, например / домой / погладить.
    • Вы можете использовать . вместо / для выполнения поиска только в текущем каталоге и его подкаталогах.

  3. Используйте подстановочные знаки.* чтобы найти все файлы, содержащие части запроса. Символы * Это может быть полезно для поиска элементов, для которых вы не знаете полное имя, или когда вы хотите найти все файлы с определенным расширением.
    • Приведенная выше команда вернет все файлы .conf в каталоге пользователя (и подкаталогах) Pat.
    • Вы также можете использовать его для поиска всех файлов, содержащих часть имени файла. Если, например, есть много материалов, связанных с wikiHow, вы можете просмотреть все это, набрав " * вики *".

  4. Упростите результаты. Если возвращается слишком много результатов, может быть сложно выполнить проверку. На этом этапе используйте символ | и отправить результаты поиска в программу проверки с меньшим количеством запросов. После этого вам будет намного проще просматривать и фильтровать результаты.
  5. Найдите определенный тип результата поиска. Вы можете использовать дополнительные символы для получения результатов поиска определенного типа. Вы можете найти обычные файлы (ж), папка (d), символическая ссылка (л), Драйверы устройств (c) и блокировать устройство (б) с соответствующим модификатором.
  6. Отфильтруйте результаты поиска по размеру. Если у вас есть несколько файлов с одинаковым именем и вы знаете размер файла, который ищете, вы можете фильтровать результаты поиска по этому критерию.
    • Приведенная выше команда вернет файлы размером 50 МБ или более. Вы можете использовать символы + или - для поиска файлов большего или меньшего размера. Когда эти символы не используются, поиск вернет файл с размером правда требуемый размер
    • Вы можете фильтровать по байтам (c), килобайт (k), мегабайты (M), гигабайт (г) или 512-байтовые блоки (б). Обратите внимание, что в этом разделе учитывается регистр.
  7. Используйте логические операторы, чтобы комбинировать типы уточняющего поиска. Вы можете использовать операторы -а также (а также), -или (или) и -не (ноль) для объединения различных типов поиска.
    • Вышеупомянутая команда будет искать файлы, расположенные в папке «calendar», размер которых превышает 200 килобайт и имя которых не содержит «2015».
  8. Найдите файлы по владельцу или доступу. Если вы ищете чей-то файл или файл с определенными разрешениями, вы можете минимизировать область поиска.
    • В приведенных выше примерах, в свою очередь, запрашиваются определенные пользователи, группы и разрешения. Вы также можете опустить имя файла, чтобы получить все файлы указанного типа. Такие как find / -perm 777 вернет любые файлы с 777 (неограниченным) доступом.
  9. Комбинируйте команды, чтобы продолжить после нахождения файла. Вы можете смешивать команды находить с другими командами для выполнения этих команд в возвращенных файлах. Разделить заказ находить а второй равен -exec и завершите командную строку ударением {} ;
    • Приведенная выше комбинация команд найдет все файлы с доступом 777 в текущем каталоге (и подкаталогах), а затем воспользуется командой chmod чтобы изменить этот доступ на 755.
    рекламное объявление

Метод 2 из 3. Используйте команду "найти"

  1. Настройки функции.найти. В общем, команда найти бежать быстрее чем команда находить спасибо за работу над файловой структурой базы данных. Эта функция доступна не во всех дистрибутивах Linux. Следовательно, вам понадобятся следующие команды, чтобы попытаться их установить:
    • Тип sudo apt-get update и нажмите ↵ Enter.
    • Вы можете установить на Debian и Ubuntu: Введите sudo apt-get install mlocate и нажмите ↵ Enter. Если найти уже установлен, появится следующее сообщение :.
    • В Linux Arch используйте менеджер пакетов pacman: pacman -Syu mlocate
    • Для Gentoo используйте emerge: Emerge Mlocate
  2. Обновление базы данных.найтитвой. Comeinand найти Ничего не будет найдено, пока его база данных не будет построена и обновлена. Несмотря на то, что эта задача запускается автоматически каждый день, вы можете сделать это самостоятельно, и вам придется сделать это, чтобы она заработала. найти право.
    • Тип sudo updatedb и нажмите ↵ Enter.
  3. Используйте.найтивыполнять простые запросы. Хоть и быстро, но командно найти Вариантов не так много, как команд находить. Выполнение базового поиска в этой команде очень похоже на базовый поиск, используемый в команде находить.
    • Приведенная выше команда ищет файл с расширением .webp по всей системе. Репрезентативный характер * играет ту же роль, что и в команде находить.
    • Как команды находить, не учитывайте коэффициент капитализации, нижний регистр в вашем запросе.
  4. Ограничьте результаты поиска. Если поиск возвращает слишком много результатов, вы можете сузить их, используя параметры -n, за которым следует количество результатов, которые вы хотите отобразить.
    • Будут отображены только первые 20 результатов поиска, соответствующих запросу.
    • Вы также можете использовать акценты | отправить результаты в Меньше для облегчения просмотра.
    рекламное объявление

Метод 3 из 3. Найдите файл, содержащий определенный текст

  1. Используйте команды.grep для поиска файлов, содержащих определенное текстовое содержимое. Чтобы найти файлы, содержащие определенные фразы или строки, вы можете использовать команду grep. Comeinand grep Базовый формат выглядит следующим образом:
    • устанавливает «рекурсивный» поиск, что означает поиск любого файла, содержащего ключевое слово в текущем каталоге и всех его подпапках.
    • указывает, что в приведенном выше запросе регистр не учитывается. Если вы хотите учитывать регистр, опустите оператор .
  2. Удалите текстовое содержимое. При выполнении поиска grep С такой же структурой, как указано выше, вы получите результаты, включающие имя файла и выделенный текст, соответствующие содержанию запроса. Вы можете скрыть этот совпадающий текст, отображая только имя файла и путь, добавив в команду следующее:
  3. Скрыть сообщения об ошибках. Comeinand grep ошибка возвращается при попытке доступа к каталогу без необходимых разрешений или поиске пустого каталога. Вы можете отправить сообщение об ошибке в / dev / null, чтобы скрыть его на выходе. рекламное объявление