---
title: 'Практические примеры использования команды find в Linux - Часть 2 | Zomro'
description: 'Команда find — универсальный и мощный инструмент, который обязательно должен быть в арсенале каждого системного администратора..'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/01/20/dalle-2025-01-20-195411-a-sleek-and-modern-illustration-representing-more-advanced-practical-examples-of-using-the-find-command-in-linux-the-image-should-feature-a-termina_q50.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Практические примеры использования команды find в Linux - Часть 2 



# Практические примеры использования команды find в Linux - Часть 2

20-01-2025

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/01/20/dalle-2025-01-20-195411-a-sleek-and-modern-illustration-representing-more-advanced-practical-examples-of-using-the-find-command-in-linux-the-image-should-feature-a-termina_q50.jpg)

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

Мы разберём, как искать файлы на основе даты и времени (создания, последнего доступа или изменения), узнаем о фильтрации по размеру и научимся эффективно удалять найденные объекты. Эти навыки критически важны при администрировании систем, где необходимо своевременно чистить логи, отслеживать устаревшие или громоздкие файлы и поддерживать порядок в структуре каталогов.

**Удаление файлов и директорий напрямую с помощью find**

Иногда нужно найти определённые файлы и сразу их удалить (например, временные или ненужные).

**Удаление одного конкретного файла**  


Предположим, что нужно удалить файл zomro.txt:
    
    
    find . -type f -name "zomro.txt" -exec rm -f {} \;

  * -exec rm -f {} \; – команда удаления для каждого найденного файла.



**Удаление нескольких типов файлов**  


Если нужно удалить все файлы с расширением .txt или .mp3:
    
    
    find . -type f -name "*.txt" -exec rm -f {} \;

Или отдельно:
    
    
    find . -type f -name "*.mp3" -exec rm -f {} \;

**Поиск и удаление пустых файлов**

  
Иногда бывает полезно избавиться от пустых (размер 0) файлов в директории:
    
    
    find /tmp -type f -empty

Если нужно сразу удалить, то:  

    
    
    find /tmp -type f -empty -exec rm -f {} \;

**Поиск и удаление пустых директорий**

Чтобы найти все пустые директории в /tmp:
    
    
    find /tmp -type d -empty

Если хотите их сразу удалить:
    
    
    find /tmp -type d -empty -exec rmdir {} \;

**Поиск скрытых файлов**  


Скрытые файлы в Linux — это файлы, начинающиеся с точки (.). Чтобы найти такие файлы:
    
    
    find /tmp -type f -name ".*"

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

**Поиск по владельцам и группам (Часть III)**  


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

**Поиск конкретного файла определённого владельца**  


Допустим, нам нужно найти файл zomro.txt во всём корневом (/) каталоге, который принадлежит пользователю root:
    
    
    find / -user root -name zomro.txt

  * **-user root** – условие на владельца файла (root).



**Поиск всех файлов пользователя**  


Чтобы увидеть все файлы, владельцем которых является, например, zomro:
    
    
    find /home -user zomro

Это может пригодиться для проверки домашнего каталога пользователя или во время миграции.

**Поиск всех файлов, принадлежащих определённой группе**  


Для поиска всех файлов группы developer в /home:
    
    
    find /home -group developer

**Поиск файлов определённого типа по владельцу**  


Для поиска всех .txt файлов пользователя zomro (причём игнорируя регистр):
    
    
    find /home -user zomro -iname "*.txt"

**Поиск по дате и времени (Часть IV)**  


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

**Поиск файлов, изменённых 50 дней назад**

Опция -mtime учитывает дату последней модификации (modify time) файла:
    
    
    find / -mtime 50

Эта команда выведет файлы, которые ровно 50 дней назад были изменены.

**Поиск файлов, к которым обращались 50 дней назад**  


Опция -atime учитывает дату последнего доступа (access time):
    
    
    find / -atime 50

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

**Поиск файлов, изменённых более 50 и менее 100 дней назад**  


Если хотим найти файлы, модифицированные более 50 дней назад, но меньше 100 дней:
    
    
    find / -mtime +50 -mtime -100

  * **+50** означает «старше, чем 50 дней».
  * **-100** означает «моложе, чем 100 дней».



**Поиск файлов, изменённых за последний час**  


Если нужно отыскать файлы, которые поменялись за последние 60 минут, используем -cmin (ctime в минутах):
    
    
    find / -cmin -60
    

  * -60 означает, что прошло меньше 60 минут с последнего изменения статуса файла.



**Поиск файлов, модифицированных за последний час**  


Аналогично, но с ключом -mmin (modify time, в минутах):
    
    
    find / -mmin -60
    

Найдёт файлы, модифицированные менее часа назад.

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


Для поиска по времени последнего доступа (-amin):
    
    
    find / -amin -60
    

Выведет все файлы, к которым обращались в последние 60 минут.

**Поиск по размеру (Часть V)**  


Очень полезно быстро находить файлы, занимающие слишком много места, или наоборот, очень маленькие.

**Поиск файлов размером 50МБ**  


Чтобы найти все файлы размером ровно 50MB:
    
    
    find / -size 50M
    

Обратите внимание на суффиксы:

  * **M** – мегабайты
  * **k** – килобайты
  * **G** – гигабайты



**Поиск файлов в диапазоне 50МБ – 100МБ**  


Чтобы найти файлы, размер которых больше 50МБ, но меньше 100МБ:
    
    
    find / -size +50M -size -100M
    

  * +50M означает «больше, чем 50MB».
  * -100M означает «меньше, чем 100MB».



**Поиск и удаление файлов больше 100МБ**  


Для поиска и немедленного удаления всех файлов более 100МБ:
    
    
    find / -type f -size +100M -exec rm -f {} \;
    

Будьте предельно осторожны с такой командой: она безвозвратно удалит все подходящие файлы.

**Поиск и удаление файлов .mp3 больше 10МБ**  


Иногда нужно почистить большие медиафайлы. Например, найти все .mp3 свыше 10МБ и сразу удалить:
    
    
    find / -type f -name "*.mp3" -size +10M -exec rm {} \;
    

  * **-name "*.mp3"** – ищем только файлы с расширением **.mp3**.



**Дополнительные советы и рекомендации**  


**Используйте кавычки при поиске с пробелами**

Если имена файлов или путей содержат пробелы или специальные символы, указывайте их в кавычках, например **find /path -name "My File.txt"**.

**Комбинируйте несколько условий**  


**find** позволяет объединять условия с помощью логических операторов **-and, -or, -not.** Например, чтобы найти файлы, которые принадлежат пользователю root или группе developer, можно воспользоваться:
    
    
    find / -user root -or -group developer
    

**Используйте xargs для ускорения**  


Вместо**-exec** иногда лучше использовать конструкцию **| xargs**. Это может быть быстрее, потому что **-exec** запускает команду для каждого найденного файла, а **xargs** может пакетировать их вместе. Пример:
    
    
    find /tmp -type f -name "*.log" | xargs rm -f
    

Однако с файлами, содержащими пробелы, нужно быть осторожнее — потребуется флаг **-print0** и использование **xargs -0**.

**Проверяйте перед удалением**  


Если удаляете файлы, сначала проверьте результат поиска без -exec. Только когда убедились, что список найденных файлов корректен, добавляйте -exec rm.

**Учтите контекст**  


В некоторых системах или файлах может иметься смысл искать не только по владельцу или размеру, но и по более сложным критериям (например, регулярные выражения, атрибуты SELinux и т.д.). Команда find поддерживает множество ключей — изучайте man find, чтобы освоить их все.

**Глубина поиска**

  
Если нужно ограничить глубину поиска, используйте ключ -maxdepth. Например, -maxdepth 1 укажет find искать только в текущем каталоге (не спускаясь в подпапки).

**Поиск с учётом типов файловой системы**  


Если нужно исключить определённые файловые системы (например, сетевые nfs), используйте опцию -xdev, чтобы find не «переходил» на другие устройства.

**Заключение**

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

Перечисленные выше 35+ примеров — лишь вершина айсберга. В действительности find имеет куда более широкие возможности. Изучайте справочные страницы (man find), экспериментируйте и комбинируйте флаги — и вы увидите, насколько гибкой и незаменимой может стать эта утилита в повседневной работе.  


Похожие статьи

[Как установить Docker на Centos 7](https://zomro.com/rus/blog/faq/287-kak-ustanovit-docker-na-centos-7) [Как установить Docker на Ubuntu 20.04](https://zomro.com/rus/blog/faq/286-kak-ustanovit-docker-na-ubuntu-2004) [Production Stack для n8n: Postgres + Redis + Queue Mode](https://zomro.com/rus/blog/faq/618-production-stack-dlya-n8n-postgres-redis-queue-mode) [Как установить Python 3.10 на Ubuntu 20.04](https://zomro.com/rus/blog/faq/299-kak-ustanovit-python-310-na-ubuntu-2004) [Как установить Wordpress в Docker-Compose](https://zomro.com/rus/blog/faq/376-how-to-install-wordpress-in-docker-compose)

[ Виртуальный хостинг от €3.98/мес ](/rus/virtual)
