diff options
Diffstat (limited to 'LINUX/FIND.md')
| -rw-r--r-- | LINUX/FIND.md | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/LINUX/FIND.md b/LINUX/FIND.md new file mode 100644 index 0000000..8ae6c17 --- /dev/null +++ b/LINUX/FIND.md @@ -0,0 +1,156 @@ +```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 ./<folderName> -prune -o -name "*.json" - print + +find . -type d -name "*<folderName*"> -prune -o -name "*.json" - print + +# поиск без учета регистра: +find . -iname "*.JSoN" + +# поиск файлов которые были изменены ДО: +find . -type f -atime 0 # =0= суток + +# или ПОСЛЕ: +find . -type f -mtime 0 # =0= суток + +# найти файлы доступ к которому был позднее чем: +find . -type f -anewer <fileName> + +# найти файлы измененные позднее чем: +find . -type f -cnewer <fileName> + +# ищем файлы размером: +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 {} \; + |
