Хотя терминал Linux представляет собой текстовый интерфейс, который кажется сложным, на самом деле он очень гибкий, простой в использовании и довольно полезный инструмент. Команды можно легко скопировать из онлайн-источников и вставить в терминал для выполнения различных операций. Команд существует множество, но этот пост будет посвящен команде find.
Команда find используется для поиска, фильтрации или поиска файлов и папок в вашей системе в соответствии с заданными пользователем условиями и выполнения с ними нескольких операций.
Давайте подробно обсудим, как использовать команду find, ее синтаксис и различные операции, выполняемые этой командой.
Синтаксис команды find в Linux
Синтаксис команды find показан ниже:
найти [дорожка] [параметры] [выражение]
С командой find идут три атрибута:
- [путь]: определяет каталог, в котором следует начать поиск.
- [параметры]: определяет критерии фильтрации, например поиск файла / папки по его имени, разрешению, времени или дате.
- [выражение]: определяет, какие действия выполнять с файлом.
Все вышеперечисленные атрибуты являются необязательными, поскольку их можно использовать в соответствии с требованиями.
Для демонстрации я создал разные каталоги и несколько текстовых файлов, см. Изображение ниже:
Поиск файла по имени
Чтобы найти файл по имени, используйте следующую команду:
$найти.-имяMyTextFile1.txt
Точка после find в приведенной выше команде указывает текущий каталог.
Если вы не помните точное имя файла, поиск можно уточнить и сделать его нечувствительным к регистру, используя вместо имени -iname:
$найти.-inamemytextfile1.txt
Поиск файла по типу
Чтобы найти файл по его типу, используйте параметр -type с буквами, которые также известны как дескрипторы, например f для файлов, d для каталогов, l для символической ссылки и s для сокетов.
Для поиска по всем каталогам используйте:
$найти.-типd
Для поиска файлов используйте:
$найти.-типж
Поиск файла по расширению файла
Для поиска файла по шаблону, например, по расширению файла, например для отображения всех файлов с расширением .txt, используйте следующую команду:
$найти.-имя *.текст
Все файлы с расширением .txt будут отображаться вместе с соответствующими каталогами.
Поиск и удаление файла
Чтобы найти и удалить файл, используйте команду ниже:
$найти.-inamemytextfile1.txt-exec rm {};
Приведенная выше команда сначала ищет файл, а затем удаляет его. Изображение демонстрирует, что MyTextFile1 был удален.
Чтобы удалить все файлы с расширением .txt, вы можете использовать добавленную команду:
$найти.-имя *.текст-удалять
Поиск файла по размеру
Команда find также может искать файл по размеру. Просто используйте параметр -size вместе с его дескрипторами, такими как b для блоков по 512 Кб, c для байтов, k для килобайт, M и G для мегабайт и гигабайт соответственно:
$найти.-типж-размер -1024c
Упомянутая выше команда ищет все файлы размером менее 1024 байтов. Поиск можно дополнительно уточнить, например, если мы хотим найти все файлы размером менее 1 МБ, мы используем следующую команду:
$найти.-типж-размер1 млн
Для всех файлов размером более 1 МБ используйте следующую команду:
$найти.-типж-размер+ 1 млн
Диапазон размеров также можно определить с помощью добавленной команды:
$найти. -типж-размер+ 1 млн-размер10 млнПоиск файлов по разрешению
Для поиска файла по разрешению мы будем использовать параметр -perm, а затем код разрешения, как показано ниже:
$найти.-перма 664
Найти текст в текстовых файлах
Чтобы найти текст в нескольких текстовых файлах в вашей системе, используйте команду, приведенную ниже:
$найти.-типж-имя *.текст-exec рукоятка'Привет'{};
Команда ищет слово Hello в текстовых файлах. Результатом являются текстовые строки из текстовых файлов, содержащих Hello.
Поиск файла по дате и времени изменения
Чтобы получить доступ к файлу по его последней модификации, используйте команду ниже:
$найти.-типж-iname *.текст-ммин+10
Приведенная выше команда ищет файл, последний раз измененный четыре минуты назад, и m означает изменение.
$найти. -типж-iname *.текст-амин -10
Вышеупомянутая команда ищет файл, к которому последний раз доступ осуществлялся 4 минуты назад, а символ a в amin означает доступ. Чтобы получить доступ к файлу, который был изменен четыре дня назад, используйте -mtime +4 вместо mmin +4.
Заключение
Команда find в Linux - очень полезная команда, которая позволяет вам искать файл или каталог, используя различные критерии, и даже позволяет вам изменять файлы с терминала. В этом руководстве мы рассмотрели синтаксис команды find в Linux и узнали, как использовать команду find для выполнения различных функций.