```sh find . # find .. find /var/log | less # ищем файлы по маске: find . -name "*.json" find . -name "f*.json" # ищем файлы по маске только с 1 уровнем вложенности: find . -maxdepth 1 -name "*.json" # ищем только файлы: find . -type f -name "*first*" # ищем только папки: find . -type d -nameo "*first*" # ищем файл с исключением папки: find . -type d -path ./ -prune -o -name "*.json" - print find . -type d -name "* -prune -o -name "*.json" - print # поиск без учета регистра: find . -iname "*.JSoN" # поиск файлов которые были изменены ДО: find . -type f -atime 0 # =0= суток # или ПОСЛЕ: find . -type f -mtime 0 # =0= суток # найти файлы доступ к которому был позднее чем: find . -type f -anewer # найти файлы измененные позднее чем: find . -type f -cnewer # ищем файлы размером: find . -type f -size 140M # ищем файлы размером больше чем: find . -type f -size +140M # ищем файлы размером меньше чем: find . -type f -size -140M # ищем файлы размером между: find . -type f -size -140M -a -type f -size +120M # отображаем размер файлов с сортировкой по размеру: find . -type f -exec du -sh {} \; | sort -h | tail -3 # или | head -3 # вывести содержимое всех файлов: find . -type f -exec {} \; # вывести содержимое всех файлов с разделением: find . -type f -exec ls -la {} \; -exec cat {} \; -exec echo "" \; ``` ======================================= 💡 Архивируйте и удаляйте логи старше 7 дней с помощью этой команды: `find /var/log -type f -mtime +7 -exec tar -rvf old_logs.tar {} \; -exec rm {} \; 🌟 Вы также можете запланировать это в cron, чтобы автоматизировать очистку! ======================================= ⚙️ **Поиск последних измененных файлов в Linux** Когда нужно найти недавно измененные файлы, например, для отладки или мониторинга активности, можно использовать команду find. **📌 Поиск файлов по времени изменения** **🟢 Найти файлы, измененные за последние 24 часа:** find /path/to/dir -type f -mtime -1 Выведет файлы, измененные за последние сутки. **🟢 Найти файлы, измененные за последние 10 минут:** find /var/log -type f -mmin -10 Полезно для отслеживания активных логов. **🟢 Вывести 10 последних измененных файлов:** ls -lt | head -10 Сортирует файлы по времени изменения и показывает 10 самых свежих. 🗣 **Эти команды помогают быстро находить файлы, с которыми недавно работали, а также анализировать активность в системе.** ======================================= ⚙️ **Поиск и удаление пустых файлов и папок в Linux** Со временем в системе накапливаются пустые файлы и каталоги, занимая место и создавая беспорядок. Эти команды помогут быстро их найти и удалить. **📌 Поиск и очистка пустых файлов и папок** **🟢 Найти все пустые файлы в каталоге:** find /path/to/dir -type f -empty Выведет список всех пустых файлов в указанной директории. **🟢 Удалить все пустые файлы:** find /path/to/dir -type f -empty -delete Автоматически удалит все найденные пустые файлы. **🟢 Найти все пустые папки:** find /path/to/dir -type d -empty Выведет список пустых каталогов. **🟢 Удалить пустые папки:** find /path/to/dir -type d -empty -delete Очищает систему от ненужных пустых директорий. ➡️ **Автоматическая проверка битых символических ссылок в Linux** ```sh #!/bin/bash # Целевая директория TARGET_DIR="$HOME" # Поиск и удаление битых симлинков find "$TARGET_DIR" -xtype l -print -delete echo "✅ Все битые символические ссылки удалены из $TARGET_DIR" ``` 🟢 Использует find с флагом -xtype l для поиска битых ссылок 🟢 Удаляет только символические ссылки, указывающие на несуществующие файлы. ➡️ **Можно добавить в crontab для автоматической очистки раз в месяц:** `0 5 1 * * /path/to/script.sh 🗣 **Эти команды помогают поддерживать порядок в системе и освобождать место на диске.** #========================= 🖥 Команда **find** очень мощная, но многие пользователи не осознают, насколько гибкой может быть опция -exec! 🌟 Так можно найти и удалить все файлы .log, которым больше 7 дней: `find /path/to/logs -type f -name "*.log" -mtime +7 -exec rm {} \; 🌟 А вот так найти и сжать все файлы .txt: `find /path/to/files -type f -name "*.txt" -exec gzip {} \;