Как найти файлы в Linux?
Опубликовано: 2022-04-07Оглавление
Введение:
Find — это утилита командной строки UNIX, которая просматривает файловую иерархию. Вы можете использовать его для поиска и работы с файлами и каталогами. С помощью этой команды можно искать файлы, папки, имена, даты создания, даты модификации, владельцев и разрешения.
Вы можете дополнительно комбинировать его с опцией « exec
» для выполнения различных действий с результатами, найденными командой find
.
В этой статье мы узнаем, как найти файлы в Linux с помощью команды « Найти ».
Как работает команда «Найти»?
Find
находит файлы на вашем компьютере. В соответствии с правилами приоритета он оценивает каждое выражение слева направо в каждом дереве каталогов, заданном заданными путями. В операциях И или ИЛИ результат «известен», когда левая часть выражения равна ИСТИНА или ЛОЖЬ. Поиск затем переходит к следующему пути, пока все пути не будут исследованы.
Команда find
— самый фундаментальный и мощный инструмент для работы с файлами в системе Linux. Файлы могут быть расположены сами по себе или в сочетании с другими программами.
Синтаксис:
find [options] [path…] [expression]
или же
$ find [where to start searching from]
[выражение определяет, что искать] [-параметры] [что искать]
- Обработка символической ссылки, параметры отладки и стратегия оптимизации контролируются свойством options .
- Свойство path … указывает каталог или каталоги, в которых find будет искать файлы.
- Параметры, шаблоны поиска и действия разделены операторами в атрибуте выражения .
-exec CMD : искомый файл, который соответствует вышеуказанным критериям и возвращает 0 для успешного завершения выполнения команды.
-ok CMD : аналогично -exec, но пользователю предлагается заранее.
-inum N : искать файлы с номером «N» в индексном узле.
-links N : найти файлы, имеющие N ссылок.
-name demo : искать файлы с именем «demo» в имени файла.
-newer file : поиск файлов, которые были обновлены или созданы после «файла».
-perm octal : если разрешение «восьмеричное», найдите файл.
-print : напечатать пути к файлам, идентифицированным с использованием оставшихся критериев.
-empty : искать файлы и папки, которые пусты.
-size +N/-N : искать файлы с N блоками; «N», за которым следует «c», можно использовать для измерения размера символа; '+N' обозначает размер > 'N' блоков, а '-N' означает размер 'N' блоков.
-user name : искать файлы с именем пользователя «имя» или идентификатором «имя».
(выражение) : если «выражение» истинно, то истинно; используется для группировки критериев с ИЛИ или И.
! expr : Истинно, если 'expr' ложно.
Опции (которые влияют на общую операцию, а не на обработку файлов и всегда возвращают true), тесты (которые возвращают значение true или false) и действия (которые имеют побочные эффекты и возвращают значение true или false) разделены операторами в выражении. . Когда оператор отсутствует, выводится -and.
Если выражение не содержит дополнительных действий, то -prune, -print применяется ко всем файлам, для которых оно истинно.
Например, давайте посмотрим на следующую команду в качестве примера
find -L /var/www -name "*.js"
- Параметр -L ( параметры ) указывает команде поиска переходить по символическим ссылкам.
- /var/www (путь…) указывает каталог , в котором будет производиться поиск.
- (Выражение) -name "*.js указывает find искать файлы, оканчивающиеся на .js (файлы JavaScript).
Как найти файлы в Linux по имени
Файлы можно найти по имени с помощью команды find . Вы можете искать файл по его имени, используя опцию -name.

find -type f -name functions.php

используйте -iname вместо -name, чтобы запустить поиск с учетом регистра
Как найти файлы в Linux по расширению
Вы можете искать файлы по расширению так же, как вы можете искать файлы по имени.
find -type f -name '*.php'


чтобы найти файлы без данного расширения, используйте следующую команду
find -type f - not -name '*.php'


Поиск файлов по типу
Если вам нужно найти определенный тип файла, например обычный файл, каталог или символическую ссылку, вам может потребоваться выполнить поиск файлов определенных типов. Все в Linux является файлом.
Укажите тип искомого файла, используя параметр -type и один из следующих дескрипторов:
- f: обычный файл
- д: каталог
- л: символическая ссылка
- c: символьные устройства
- б: блокировать устройства
- p: именованный канал (FIFO)
- с: сокет
find public_html/wp-admin/ -type d

Поиск файлов по размеру
Параметр -size следует передавать вместе с параметром размера для поиска файлов по их размеру. Для указания размера файла можно использовать следующие суффиксы:
- b: блоки по 512 байт (по умолчанию)
- с: байты
- w: двухбайтовые слова
- к: килобайты
- М: Мегабайты
- Г: гигабайты
find . -type f -size -1M

Если вы хотите найти файлы размером более 1 МБ, используйте +
find . -type f -size +1M

Вы даже можете искать файлы в диапазоне размеров
find . -type f -size +1M -size 3M

Найти файлы по модификации
Команду find также можно использовать для поиска файлов на основе того, когда они в последний раз модифицировались, открывались или изменялись.
Используйте символы «плюс» и «минус» для слов «больше чем» и «меньше чем», как при поиске по размеру.
find . -mtime +30 -daystart



Найти с разрешения
Вы можете использовать параметр -perm для поиска файлов на основе их разрешений.
find public_html/wp-admin/css -perm /444

/ используется в качестве префикса, то, по крайней мере, в категории должен быть установлен хотя бы соответствующий бит для соответствия файла.
-prefix, то должны быть установлены как минимум указанные биты.
Найти по владельцу
Используйте параметры -user и -group для поиска файлов, принадлежащих определенному пользователю или группе.
find -user testc7963

Вывод
Мы продемонстрировали, как применять команду find с различными критериями и аргументами.
Эта статья должна дать вам общее представление о том, как найти файлы на компьютерах с Linux.