Как найти файл в Linux с помощью командной строки

Несмотря на популярность оконных менеджеров, которые предлагают графические пользовательские интерфейсы, лучший способ поиска файлов в Linux все еще требует оболочки. находить Команда, с ее многочисленными опциями и переключателями, предлагает самые мощные и точные функции для отображения того, что вы ищете.

Поддержка всех современных дистрибутивов Linux находить из скорлупы Войдите в оболочку (иногда называемую окном терминала), щелкнув соответствующий значок или нажав Ctrl + Alt + T,.

Команда «найти»

Команда для поиска файлов называется находить.

Основной синтаксис находить команда является:

найти имя файла

Текущий активный путь отмечает местоположение поиска, по умолчанию. Чтобы начать поиск по всему диску, введите:

найти / имя файла

Однако, если вы хотите начать поиск папки, в которой вы находитесь, используйте следующий синтаксис:

находить . имя файла

Найти команду lorem.odt в окне терминала в Ubuntu Linux

При поиске по имени по всему диску используйте следующий синтаксис:

найти / -name имя файла
  • Первая часть команды поиска — это находить сама команда
  • Вторая часть — с чего начать поиск.
  • Следующая часть — это выражение, которое определяет, что искать.
  • Наконец, последняя часть — это название того, что нужно найти.

Поиск местоположения ярлыков

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

  • период: указывает текущую и все вложенные папки
  • Косая черта: определяет всю файловую систему
  • тильда: указывает домашний каталог активного пользователя

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

Выражения

Наиболее распространенное выражение, которое вы будете использовать -имя. -имя Выражение позволяет искать имя файла или папки.

Однако есть и другие выражения, которые вы можете использовать:

  • -амин н: К файлу последний раз обращались n минут назад
  • -anewer: Последний раз к файлу обращались позже, чем он был изменен
  • -всегда n: К файлу последний раз обращались более n дней назад.
  • -cmin n: Последний раз файл был изменен n минут назад
  • cnewer: Последний раз файл был изменен позднее, чем файл был изменен
  • -ctime n: Последний раз файл был изменен более n дней назад
  • -пусто: Файл пуст
  • исполняемым: Файл исполняемый
  • -ложный: Всегда ложно
  • -Тип fstype: Файл находится в указанной файловой системе
  • -gid n: Файл принадлежит группе с идентификатором n
  • -группа имя группы: Файл принадлежит к названной группе
  • -ilname pattern: Ищите символическую линию, но игнорируйте регистр
  • -шаблон iname: Ищите файл, но игнорируйте регистр
  • -Inum N: Поиск файла с указанным узлом
  • -путь ipath: Ищите путь, но игнорируйте регистр
  • -выражение iregex: Ищите выражение, но игнорируйте регистр
  • -ссылки n: Поиск файла с указанным количеством ссылок
  • -имя Поиск символической ссылки
  • -Ммин н: Данные файла были последний раз изменены n минут назад
  • -mtime n: Данные файла были последний раз изменены n дней назад
  • -имя имя: Поиск файла с указанным именем
  • -более новое имя: Поиск файла, отредактированного позднее, чем указанный файл
  • -nogroup: Поиск файла без идентификатора группы
  • -nouser: Поиск файла без прикрепленного к нему пользователя
  • -путь путь: Поиск пути
  • удобочитаемый: Найти файлы, которые доступны для чтения
  • -шаблон регулярного выражения: Поиск файлов, соответствующих регулярному выражению
  • -тип тип: Поиск определенного типа
  • -UID UID: Идентификатор пользователя файлов совпадает с идентификатором uid
  • -имя пользователя: Файл принадлежит указанному пользователем
  • -записываемый: Поиск файлов, в которые можно записать

Пример использования команды Find

Как найти файлы, к которым обращались более определенного количества дней назад

Чтобы найти все файлы в вашей домашней папке, к которым обращались более 100 дней назад:

найти ~ -atime 100

Как найти пустые файлы и папки

Чтобы найти все пустые файлы и папки в вашей системе:

найти / -пустой 

Как найти все исполняемые файлы

Чтобы найти все исполняемые файлы на вашем компьютере:

найти / -exec

Как найти все читаемые файлы

Чтобы найти все файлы, которые доступны для чтения:

найти / -читать

Узоры

При поиске файла вы можете использовать шаблон. Например, поиск всех файлов с расширением mp3:

Терминал в Ubuntu Linux показывает команду

найти / -имя * .mp3

Как отправить вывод из команды поиска в файл

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

find / -name * .mp3 -fprint nameoffiletoprintto

Как найти и выполнить команду для файла

Для одновременного поиска и редактирования файла:

найти / -name имя файла -exec nano '{}' \;

Приведенная выше команда ищет файл с именем filename, а затем запускает нано-редактор для найденного файла.

Ссылка на основную публикацию