В этой заметке я опишу несколько примеров поиска файлов в Linux. Для этого служит команда find. Поиск осуществляется по имени, по регулярному выражению, размеру файла, возрасту и другим параметрам.
В общем виде find выглядит так:
1 | find <directory> -name <file> |
Если директория не указана, то файл будет разыскиваться в текущей (ее можно узнать с помощью команды pwd).
Чтобы найти файл в домашней директории подойдет команда:
1 | find ~/ -name <file> |
Найти все файлы с расширением .log в директории /var
1 | find /var -name '*.log' |
Также можно искать путь:
1 | find -path '<path>' |
Искать файлы без учета регистра в названии:
1 | find /home -iname '<file>' |
Искать только директории:
1 | find / -type d -name <ditectory_name> |
Найти пустые директории:
1 | find /tmp -type d -empty |
Найти исполняемые файлы:
1 | find / -perm /a=x |
Найти файлы, редактированные в течение прошедшей недели:
1 | find / -mtime 7 |
Найти файлы, редактированные в течение часа:
1 | find / -mmin -60 |
Поиск по размеру. Найти файлы размером от 10 до 20 мегабайт.
1 | find / -size +10M -size -20M |
На базе этих примеров можно собрать свои комбинации.Возможностей find достаточно, чтобы найти что угодно.