0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p>Иллюстрация: Оля Ежак для Skillbox Media</p>
1
<p>Иллюстрация: Оля Ежак для Skillbox Media</p>
2
<p>Филолог и технарь, пишет об IT так, что поймут даже новички. Коммерческий редактор, автор технических статей для vc.ru и "Хабра".</p>
2
<p>Филолог и технарь, пишет об IT так, что поймут даже новички. Коммерческий редактор, автор технических статей для vc.ru и "Хабра".</p>
3
<p>Стандартная утилита для поиска в Linux-подобных системах ищет файлы и каталоги только по их названию. Чтобы повысить точность результатов и отфильтровать их, можно использовать утилиту<strong>find</strong>. Она есть в Ubuntu, Fedora, Mint и других дистрибутивах.</p>
3
<p>Стандартная утилита для поиска в Linux-подобных системах ищет файлы и каталоги только по их названию. Чтобы повысить точность результатов и отфильтровать их, можно использовать утилиту<strong>find</strong>. Она есть в Ubuntu, Fedora, Mint и других дистрибутивах.</p>
4
<p><strong>Содержание</strong></p>
4
<p><strong>Содержание</strong></p>
5
<ul><li><a>Что такое find и какой синтаксис запросов в ней используется</a></li>
5
<ul><li><a>Что такое find и какой синтаксис запросов в ней используется</a></li>
6
<li><a>Как написать запрос в find</a></li>
6
<li><a>Как написать запрос в find</a></li>
7
<li><a>Как найти файлы в директории</a></li>
7
<li><a>Как найти файлы в директории</a></li>
8
<li><a>Как найти файл по имени</a></li>
8
<li><a>Как найти файл по имени</a></li>
9
<li><a>Как найти файлы по расширению</a></li>
9
<li><a>Как найти файлы по расширению</a></li>
10
<li><a>Как искать по типу файла</a></li>
10
<li><a>Как искать по типу файла</a></li>
11
<li><a>Как исключить результаты в поиске</a></li>
11
<li><a>Как исключить результаты в поиске</a></li>
12
<li><a>Как искать в нескольких каталогах</a></li>
12
<li><a>Как искать в нескольких каталогах</a></li>
13
<li><a>Как показать файлы, принадлежащие конкретному пользователю</a></li>
13
<li><a>Как показать файлы, принадлежащие конкретному пользователю</a></li>
14
<li><a>Как настроить поиск по правам</a></li>
14
<li><a>Как настроить поиск по правам</a></li>
15
<li><a>Как искать по дате изменения</a></li>
15
<li><a>Как искать по дате изменения</a></li>
16
<li><a>Как настроить поиск файлов по размеру</a></li>
16
<li><a>Как настроить поиск файлов по размеру</a></li>
17
<li><a>Как найти пустые папки и файлы</a></li>
17
<li><a>Как найти пустые папки и файлы</a></li>
18
<li><a>Как удалить файлы в find</a></li>
18
<li><a>Как удалить файлы в find</a></li>
19
</ul><p><strong>Эксперт</strong></p>
19
</ul><p><strong>Эксперт</strong></p>
20
<p>Инженер во ФГУП "РФЯЦ - ВНИИТФ им. академика Е. И. Забабахина", эксперт Skillbox по кибербезопасности Linux (администрирование ОС Linux).</p>
20
<p>Инженер во ФГУП "РФЯЦ - ВНИИТФ им. академика Е. И. Забабахина", эксперт Skillbox по кибербезопасности Linux (администрирование ОС Linux).</p>
21
<p>Find - одна из самых полезных команд Linux для тех, кто работает с сотнями и тысячами файлов на своём компьютере. Например, для системных администраторов. Как можно догадаться из названия, она помогает найти нужные файлы и каталоги, причём не только по их именам.</p>
21
<p>Find - одна из самых полезных команд Linux для тех, кто работает с сотнями и тысячами файлов на своём компьютере. Например, для системных администраторов. Как можно догадаться из названия, она помогает найти нужные файлы и каталоги, причём не только по их именам.</p>
22
<p>Команда find имеет определённую структуру:</p>
22
<p>Команда find имеет определённую структуру:</p>
23
<p>find [каталог] [параметры] [критерий поиска] [паттерн]</p>
23
<p>find [каталог] [параметры] [критерий поиска] [паттерн]</p>
24
<p>Разберём её по частям:</p>
24
<p>Разберём её по частям:</p>
25
<p>find - команда запуска поиска.</p>
25
<p>find - команда запуска поиска.</p>
26
<p>Каталог - это путь к папке, в которой мы будем что-то искать. Если не задать его вручную, то по умолчанию используется /home/имя_учётной_записи, где хранятся файлы, созданные пользователем.</p>
26
<p>Каталог - это путь к папке, в которой мы будем что-то искать. Если не задать его вручную, то по умолчанию используется /home/имя_учётной_записи, где хранятся файлы, созданные пользователем.</p>
27
<p>Параметры - дополнительный критерий поиска. Например, можно искать только файлы или только каталоги.</p>
27
<p>Параметры - дополнительный критерий поиска. Например, можно искать только файлы или только каталоги.</p>
28
<p>Критерий поиска - указание на особенности файлов, по которым мы будем их искать: имя, дата создания или расширение.</p>
28
<p>Критерий поиска - указание на особенности файлов, по которым мы будем их искать: имя, дата создания или расширение.</p>
29
<p>Паттерн - значение, по которому будут отбираться файлы: их дата изменения, права доступа и так далее.</p>
29
<p>Паттерн - значение, по которому будут отбираться файлы: их дата изменения, права доступа и так далее.</p>
30
<p>Рассмотрим варианты применения утилиты find. Начнём с простого поиска и затем перейдём к настройке критериев поиска и паттернов.</p>
30
<p>Рассмотрим варианты применения утилиты find. Начнём с простого поиска и затем перейдём к настройке критериев поиска и паттернов.</p>
31
<p>При запуске терминала по умолчанию поиск идёт в каталоге /home/имя_учётной_записи. Если вы введёте команду find без дополнительных параметров, то получите список всех файлов, хранящихся в нём:</p>
31
<p>При запуске терминала по умолчанию поиск идёт в каталоге /home/имя_учётной_записи. Если вы введёте команду find без дополнительных параметров, то получите список всех файлов, хранящихся в нём:</p>
32
Результат поиска при помощи утилиты find<em>Скриншот: Skillbox Media</em><p>Откроем папку Документы и посмотрим, какие файлы в ней есть. Для этого используем команду:</p>
32
Результат поиска при помощи утилиты find<em>Скриншот: Skillbox Media</em><p>Откроем папку Документы и посмотрим, какие файлы в ней есть. Для этого используем команду:</p>
33
$ find ./Документы<p>У нас в этой папке лежит три документа:</p>
33
$ find ./Документы<p>У нас в этой папке лежит три документа:</p>
34
Результат поиска при помощи утилиты find<em>Скриншот: Skillbox Media</em><p>На вашем устройстве результат поиска будет другой.</p>
34
Результат поиска при помощи утилиты find<em>Скриншот: Skillbox Media</em><p>На вашем устройстве результат поиска будет другой.</p>
35
<p>Чтобы найти файл по имени, нужно к find добавить критерий поиска -name. Название не обязательно писать целиком. Будет достаточно нескольких букв и символа * после них. Например Озе*, вместо Озеро. Так find найдёт все файлы, содержащие такой набор букв в названии:</p>
35
<p>Чтобы найти файл по имени, нужно к find добавить критерий поиска -name. Название не обязательно писать целиком. Будет достаточно нескольких букв и символа * после них. Например Озе*, вместо Озеро. Так find найдёт все файлы, содержащие такой набор букв в названии:</p>
36
$ find . -name “Озе*”Мы нашли все файлы, которые содержат в себе "Озе"<em>Скриншот: Skillbox Media</em><p>Команду можно изменить, чтобы искать все файлы, кроме тех, которые содержат слово Озе в имени. Для этого перед -name добавьте -not:</p>
36
$ find . -name “Озе*”Мы нашли все файлы, которые содержат в себе "Озе"<em>Скриншот: Skillbox Media</em><p>Команду можно изменить, чтобы искать все файлы, кроме тех, которые содержат слово Озе в имени. Для этого перед -name добавьте -not:</p>
37
$ find . -not -name “Озе*”<p>Для того чтобы найти файлы с определённым расширением, к строке поиска добавляется его наименование в двойных кавычках. Например, изображения в формате JPG, можно найти так:</p>
37
$ find . -not -name “Озе*”<p>Для того чтобы найти файлы с определённым расширением, к строке поиска добавляется его наименование в двойных кавычках. Например, изображения в формате JPG, можно найти так:</p>
38
$ find . -name “*.jpg”<p>Результат поиска:</p>
38
$ find . -name “*.jpg”<p>Результат поиска:</p>
39
find нашла все файлы с расширением JPG<em>Скриншот: Skillbox Media</em><p>Для поиска можно указать сразу несколько форматов, например .jpg и .webp. Для этого используется команда -o, выполняющая функцию логического оператора ИЛИ:</p>
39
find нашла все файлы с расширением JPG<em>Скриншот: Skillbox Media</em><p>Для поиска можно указать сразу несколько форматов, например .jpg и .webp. Для этого используется команда -o, выполняющая функцию логического оператора ИЛИ:</p>
40
$ find . -name “*.jpg” -o -name “*.webp”<p>В результате find найдёт все файлы с расширением .jpg или .webp:</p>
40
$ find . -name “*.jpg” -o -name “*.webp”<p>В результате find найдёт все файлы с расширением .jpg или .webp:</p>
41
<em>Скриншот: Skillbox Media</em><p>Find по умолчанию ищет как файлы, так и каталоги. Это не всегда удобно. Чтобы провести поиск только в одной из этих категорий, используйте параметр -type с модификатором:</p>
41
<em>Скриншот: Skillbox Media</em><p>Find по умолчанию ищет как файлы, так и каталоги. Это не всегда удобно. Чтобы провести поиск только в одной из этих категорий, используйте параметр -type с модификатором:</p>
42
<ul><li>d - для каталогов;</li>
42
<ul><li>d - для каталогов;</li>
43
<li>f - для файлов.</li>
43
<li>f - для файлов.</li>
44
</ul><p>Попробуем найти каталог .var. Явно укажем, что ищем именно папку, а не файл с таким именем:</p>
44
</ul><p>Попробуем найти каталог .var. Явно укажем, что ищем именно папку, а не файл с таким именем:</p>
45
$ find . -type d -name “.var”<p>Всё получилось:</p>
45
$ find . -type d -name “.var”<p>Всё получилось:</p>
46
<em>Скриншот: Skillbox Media</em><p>Теперь попробуем найти файлы с sdk в названии. Укажем это в запросе:</p>
46
<em>Скриншот: Skillbox Media</em><p>Теперь попробуем найти файлы с sdk в названии. Укажем это в запросе:</p>
47
$ find . -type f -name “sdk*”<p>В ответ получаем один файл sdk.properties:</p>
47
$ find . -type f -name “sdk*”<p>В ответ получаем один файл sdk.properties:</p>
48
<em>Скриншот: Skillbox Media</em><p>Если есть несколько форматов файлов, например изображений с озером, можно исключить часть из них. Вернёмся к изображениям со словом "Озеро" в названии и найдём все, кроме тех, что имеют формат .webp.</p>
48
<em>Скриншот: Skillbox Media</em><p>Если есть несколько форматов файлов, например изображений с озером, можно исключить часть из них. Вернёмся к изображениям со словом "Озеро" в названии и найдём все, кроме тех, что имеют формат .webp.</p>
49
<p>Для этого используем уже знакомый логический оператор -not, который укажем перед параметром для исключения:</p>
49
<p>Для этого используем уже знакомый логический оператор -not, который укажем перед параметром для исключения:</p>
50
$ find . -name “Озеро*” -not -name “*.webp”<p>В результате у нас только файлы с расширением .jpg:</p>
50
$ find . -name “Озеро*” -not -name “*.webp”<p>В результате у нас только файлы с расширением .jpg:</p>
51
<em>Скриншот: Skillbox Media</em><p>Иногда файлы, которые требуется найти, находятся не в одном каталоге, а в нескольких. Чтобы не писать команду поиска дважды, можно перечислить папки через пробел.</p>
51
<em>Скриншот: Skillbox Media</em><p>Иногда файлы, которые требуется найти, находятся не в одном каталоге, а в нескольких. Чтобы не писать команду поиска дважды, можно перечислить папки через пробел.</p>
52
<p>Найдём все файлы с расширениями .jpg и .docx, которые находятся в каталогах Документы и Изображения. Имена папок указываем после find ., не забывая про символ / перед ними:</p>
52
<p>Найдём все файлы с расширениями .jpg и .docx, которые находятся в каталогах Документы и Изображения. Имена папок указываем после find ., не забывая про символ / перед ними:</p>
53
$ find . /Документы /Изображения -type f -name “*.jpg” -o -name “*.docx”<p>В ответ получаем список файлов в двух каталогах:</p>
53
$ find . /Документы /Изображения -type f -name “*.jpg” -o -name “*.docx”<p>В ответ получаем список файлов в двух каталогах:</p>
54
<em>Скриншот: Skillbox Media</em><p>Чтобы найти файлы, принадлежащие конкретному пользователю, можно применить одну из двух команд:</p>
54
<em>Скриншот: Skillbox Media</em><p>Чтобы найти файлы, принадлежащие конкретному пользователю, можно применить одну из двух команд:</p>
55
$ find . -user имя_пользователя<p>или</p>
55
$ find . -user имя_пользователя<p>или</p>
56
$ find ./Документы -user имя_пользователя<p>Второй вариант подойдёт для поиска в конкретном каталоге.</p>
56
$ find ./Документы -user имя_пользователя<p>Второй вариант подойдёт для поиска в конкретном каталоге.</p>
57
<p>Эти же команды можно применять для групп пользователей. Достаточно заменить параметр -user на -group.</p>
57
<p>Эти же команды можно применять для групп пользователей. Достаточно заменить параметр -user на -group.</p>
58
<p>Посмотрим на запрос для поиска в папке Документы пользователя fovpc:</p>
58
<p>Посмотрим на запрос для поиска в папке Документы пользователя fovpc:</p>
59
$ find ./Документы -user fovpc<p>В папке ему принадлежат три файла:</p>
59
$ find ./Документы -user fovpc<p>В папке ему принадлежат три файла:</p>
60
<em>Скриншот: Skillbox Media</em><p>Файлы можно искать по правам пользователей. Но перед этим предстоит разобраться с тем, как эта система устроена в Linux.</p>
60
<em>Скриншот: Skillbox Media</em><p>Файлы можно искать по правам пользователей. Но перед этим предстоит разобраться с тем, как эта система устроена в Linux.</p>
61
<p>Например, у файла могут быть указаны права 0664 - это соответствует записи -rw-rw-r--. Первые две буквы rw показывают, что пользователь имеет право на чтение и запись файла. Вторые rw означают то же самое для группы пользователей. А запись r- - относится к группе others, которая может только читать, но не перезаписывать файл. Символ -, стоящий в начале и конце строки, а также между указанием на права доступа, является разделителем.</p>
61
<p>Например, у файла могут быть указаны права 0664 - это соответствует записи -rw-rw-r--. Первые две буквы rw показывают, что пользователь имеет право на чтение и запись файла. Вторые rw означают то же самое для группы пользователей. А запись r- - относится к группе others, которая может только читать, но не перезаписывать файл. Символ -, стоящий в начале и конце строки, а также между указанием на права доступа, является разделителем.</p>
62
<p>Как расшифровать права, записанные цифрами? Сначала нужно разобрать, что значит каждая из них:</p>
62
<p>Как расшифровать права, записанные цифрами? Сначала нужно разобрать, что значит каждая из них:</p>
63
<ul><li>1-я цифра - разрешение на выполнение в качестве программы.</li>
63
<ul><li>1-я цифра - разрешение на выполнение в качестве программы.</li>
64
<li>2-я цифра - разрешения для владельца файла.</li>
64
<li>2-я цифра - разрешения для владельца файла.</li>
65
<li>3-я цифра - разрешения для пользовательской группы.</li>
65
<li>3-я цифра - разрешения для пользовательской группы.</li>
66
<li>4-я цифра - разрешения для всех остальных пользователей.</li>
66
<li>4-я цифра - разрешения для всех остальных пользователей.</li>
67
</ul><p>Каждый из показателей может иметь числовое значение от 0 до 7:</p>
67
</ul><p>Каждый из показателей может иметь числовое значение от 0 до 7:</p>
68
Числовое значениеПрава на работу с файломПрава на работу с директорией0Нет доступаНет доступа1ВыполнениеЧтение файлов и их свойств2ЗаписьНет доступа3Запись и выполнениеВсё, кроме чтения списка файлов4ЧтениеЧтение имён файлов5Чтение и выполнениеДоступ на чтение6Чтение и записьЧтение имён файлов7Все праваВсе права<p>Чтобы найти файлы с определёнными правами, требуется указать их с паттерном-perm:</p>
68
Числовое значениеПрава на работу с файломПрава на работу с директорией0Нет доступаНет доступа1ВыполнениеЧтение файлов и их свойств2ЗаписьНет доступа3Запись и выполнениеВсё, кроме чтения списка файлов4ЧтениеЧтение имён файлов5Чтение и выполнениеДоступ на чтение6Чтение и записьЧтение имён файлов7Все праваВсе права<p>Чтобы найти файлы с определёнными правами, требуется указать их с паттерном-perm:</p>
69
$ find . -type f -perm 0664<p>Файлов в итоговой выдаче получится много:</p>
69
$ find . -type f -perm 0664<p>Файлов в итоговой выдаче получится много:</p>
70
Список файлов, доступных для чтения и записи пользователю с правами 0664<em>Скриншот: Skillbox Media</em><p>Права, которые нужно найти, можно записать с помощью буквенных обозначений. Для этого сначала указывается, чьи права нужно найти:</p>
70
Список файлов, доступных для чтения и записи пользователю с правами 0664<em>Скриншот: Skillbox Media</em><p>Права, которые нужно найти, можно записать с помощью буквенных обозначений. Для этого сначала указывается, чьи права нужно найти:</p>
71
<ul><li>/u - пользователя;</li>
71
<ul><li>/u - пользователя;</li>
72
<li>/g - группы;</li>
72
<li>/g - группы;</li>
73
<li>/o - другие.</li>
73
<li>/o - другие.</li>
74
</ul><p>После этого обозначается, какие именно права доступа мы ищем:</p>
74
</ul><p>После этого обозначается, какие именно права доступа мы ищем:</p>
75
<ul><li>r - чтение;</li>
75
<ul><li>r - чтение;</li>
76
<li>w - запись;</li>
76
<li>w - запись;</li>
77
<li>х - выполнение;</li>
77
<li>х - выполнение;</li>
78
<li>X - выполнение, если файл является каталогом или уже имеет аналогичные права для какого-либо пользователя;</li>
78
<li>X - выполнение, если файл является каталогом или уже имеет аналогичные права для какого-либо пользователя;</li>
79
<li>s - SUID- или SGID-бит;</li>
79
<li>s - SUID- или SGID-бит;</li>
80
<li>t - sticky-бит. В этом случае только владелец файла и каталога сможет его удалить.</li>
80
<li>t - sticky-бит. В этом случае только владелец файла и каталога сможет его удалить.</li>
81
</ul><p>Например, проверим, какие программы, хранящиеся в /usr, пользователь может запускать временно, присваивая себе права другого пользователя, чаще всего их владельца. Они записываются в команду find как /u=s.</p>
81
</ul><p>Например, проверим, какие программы, хранящиеся в /usr, пользователь может запускать временно, присваивая себе права другого пользователя, чаще всего их владельца. Они записываются в команду find как /u=s.</p>
82
<p>Также для доступа к каталогу /usr нам нужно задействовать sudo - параметр повышения привилегий доступа:</p>
82
<p>Также для доступа к каталогу /usr нам нужно задействовать sudo - параметр повышения привилегий доступа:</p>
83
$ sudo find /usr -type f -perm /u=sСписок исполняемых файлов, для работы с которыми пользователю временно разрешены повышенные привилегии<em>Скриншот: Skillbox Media</em><p>За поиск по дате отвечают паттерны:</p>
83
$ sudo find /usr -type f -perm /u=sСписок исполняемых файлов, для работы с которыми пользователю временно разрешены повышенные привилегии<em>Скриншот: Skillbox Media</em><p>За поиск по дате отвечают паттерны:</p>
84
<ul><li>-mtime - файлы, в которые вносились изменения определённое количество дней назад;</li>
84
<ul><li>-mtime - файлы, в которые вносились изменения определённое количество дней назад;</li>
85
<li>-atime - файлы, открытые обозначенное количество дней назад;</li>
85
<li>-atime - файлы, открытые обозначенное количество дней назад;</li>
86
<li>-cmin - файлы, изменённые определённое количество минут назад.</li>
86
<li>-cmin - файлы, изменённые определённое количество минут назад.</li>
87
</ul><p>В примерах ниже мы обращаемся к пути /. Этим символом обозначается главный, корневой каталог, в котором лежат все файлы, в том числе системные. Чтобы find смог получить доступ к содержимому системных папок и найти нужные файлы, мы используем права суперпользователя, добавив sudo перед командой.</p>
87
</ul><p>В примерах ниже мы обращаемся к пути /. Этим символом обозначается главный, корневой каталог, в котором лежат все файлы, в том числе системные. Чтобы find смог получить доступ к содержимому системных папок и найти нужные файлы, мы используем права суперпользователя, добавив sudo перед командой.</p>
88
<p>Чтобы вывести файлы, изменённые в течение последних 30 дней, используется команда:</p>
88
<p>Чтобы вывести файлы, изменённые в течение последних 30 дней, используется команда:</p>
89
$ sudo find / -mtime 30<p>Если нужно вывести файлы, которые открывали за последние 30 дней, то запрос выглядит так:</p>
89
$ sudo find / -mtime 30<p>Если нужно вывести файлы, которые открывали за последние 30 дней, то запрос выглядит так:</p>
90
$ sudo find / -atime 30<p>Для вывода файлов, которые редактировались в последние 30 минут, используйте:</p>
90
$ sudo find / -atime 30<p>Для вывода файлов, которые редактировались в последние 30 минут, используйте:</p>
91
$ sudo find / -cmin 30<p>Поиск можно проводить в промежутке дат. Например, чтобы найти файлы, изменённые в промежутке от 30 до 60 дней, подойдёт такой запрос:</p>
91
$ sudo find / -cmin 30<p>Поиск можно проводить в промежутке дат. Например, чтобы найти файлы, изменённые в промежутке от 30 до 60 дней, подойдёт такой запрос:</p>
92
$ sudo find / -mtime +30 -mtime -60<p><strong>Важно!</strong></p>
92
$ sudo find / -mtime +30 -mtime -60<p><strong>Важно!</strong></p>
93
<p>Обратите внимание на символы перед числом дней. + означает, что мы ищем файлы, которые редактировались большее количество дней назад, чем мы указали, а символ - указывает на то, что мы ищем файлы, которые редактировались менее указанного количества дней назад.</p>
93
<p>Обратите внимание на символы перед числом дней. + означает, что мы ищем файлы, которые редактировались большее количество дней назад, чем мы указали, а символ - указывает на то, что мы ищем файлы, которые редактировались менее указанного количества дней назад.</p>
94
<p>В нашем случае это файлы, которые редактировались 30 или более дней назад и 60 или менее дней назад.</p>
94
<p>В нашем случае это файлы, которые редактировались 30 или более дней назад и 60 или менее дней назад.</p>
95
<p>Попробуем найти файлы, которые были изменены в течение последних 10 дней:</p>
95
<p>Попробуем найти файлы, которые были изменены в течение последних 10 дней:</p>
96
<em>Скриншот: Skillbox Media</em><p>С помощью find можно найти файлы определённого размера. Для этого используется критерий -size, в который передаётся ограничение по размеру. Для мегабайт используется символ M, для гигабайт - G.</p>
96
<em>Скриншот: Skillbox Media</em><p>С помощью find можно найти файлы определённого размера. Для этого используется критерий -size, в который передаётся ограничение по размеру. Для мегабайт используется символ M, для гигабайт - G.</p>
97
<p>Попробуем найти файлы размером менее 100 МБ:</p>
97
<p>Попробуем найти файлы размером менее 100 МБ:</p>
98
$ find / -size 100M<p>Список получился большим и не влез на один экран:</p>
98
$ find / -size 100M<p>Список получился большим и не влез на один экран:</p>
99
<em>Скриншот: Skillbox Media</em><p>Чтобы найти и вывести информацию о пустых файлах и папках, используется параметр -empty. Найдём пустые папки:</p>
99
<em>Скриншот: Skillbox Media</em><p>Чтобы найти и вывести информацию о пустых файлах и папках, используется параметр -empty. Найдём пустые папки:</p>
100
$ find . -type d -empty<em>Скриншот: Skillbox Media</em><p>Если ищем среди файлов, то используем модификатор f:</p>
100
$ find . -type d -empty<em>Скриншот: Skillbox Media</em><p>Если ищем среди файлов, то используем модификатор f:</p>
101
$ find . -type f -empty<em>Скриншот: Skillbox Media</em><p>Если мы хотим удалить найденные папки или файлы, то можем использовать функцию rm внутри запроса в find. Для этого добавляем в него -exec rm -f {}\;. Посмотрим, как это работает.</p>
101
$ find . -type f -empty<em>Скриншот: Skillbox Media</em><p>Если мы хотим удалить найденные папки или файлы, то можем использовать функцию rm внутри запроса в find. Для этого добавляем в него -exec rm -f {}\;. Посмотрим, как это работает.</p>
102
<p>Например, чтобы удалить все картинки с расширением .jpg из каталога Изображения, используем такой запрос:</p>
102
<p>Например, чтобы удалить все картинки с расширением .jpg из каталога Изображения, используем такой запрос:</p>
103
$ find ./Изображения -type f -name “*.jpg” -exec rm -f {}\;<p>Чтобы избиваться от файлов в загрузках объёмом выше 200 МБ:</p>
103
$ find ./Изображения -type f -name “*.jpg” -exec rm -f {}\;<p>Чтобы избиваться от файлов в загрузках объёмом выше 200 МБ:</p>
104
$ find ./Загрузки -type f -size +200M -exec rm -f {}\;<p>Это базовые операции с утилитой find. Обратите внимание, что любой запрос получается за счёт комбинации параметров, критериев и шаблонов. Это делает работу с find похожей на сборку конструктора или работу с <a>регулярными выражениями</a>.</p>
104
$ find ./Загрузки -type f -size +200M -exec rm -f {}\;<p>Это базовые операции с утилитой find. Обратите внимание, что любой запрос получается за счёт комбинации параметров, критериев и шаблонов. Это делает работу с find похожей на сборку конструктора или работу с <a>регулярными выражениями</a>.</p>
105
<p>Если вы хотите погрузиться в возможности утилиты глубже и научиться настраивать выдачу результатов, используя все возможности параметров и критериев, то рекомендуем вам<a>официальную документацию</a>.</p>
105
<p>Если вы хотите погрузиться в возможности утилиты глубже и научиться настраивать выдачу результатов, используя все возможности параметров и критериев, то рекомендуем вам<a>официальную документацию</a>.</p>
106
<a>Практический курс: "Администрирование ОС Linux" Узнать о курсе</a>
106
<a>Практический курс: "Администрирование ОС Linux" Узнать о курсе</a>