Темы
Некоторые примеры использования утилиты Find
Некоторые примеры использования
утилиты Find
Если в текущей директории есть скрытые каталоги, то вывод команд будет различаться. Первая будет искать везде, а вторая - проигнорирует скрытые папки на текущем уровне:
- Код: выделить все
 find .
find *
- Поиск по части имени
- Код: выделить все
 find ~/ -name dead*
или
find ~/ -name *dead*
 - Замена слов в скриптах
- Код: выделить все
 find -name '*.php' -exec sed -i -e s/было/стало/g {} \;
 - Найти и удалить все временные файлы
- Код: выделить все
 find ./ -name '*~' -delete
 - Сохранить все *.xml вместе с деревом каталогов в архиве.
- Код: выделить все
 find ./dir -name "*.xml" -print | zip archive -@
 - Установка прав доступа на каталоги
- Код: выделить все
 find -type d -print0 | xargs -0 chmod 750
 - Установка прав доступа на файлы
- Код: выделить все
 find -type f -print0 | xargs -0 chmod 640
 - найти и удалить все не рабочие ссылки в указанном каталоге
- Код: выделить все
 find /etc/ -xtype l -delete
 - Найти файлы, которые не являются видимыми для всех
- Код: выделить все
 find -type f ! -perm -444
 - Найти директории не доступные для всех
- Код: выделить все
 find -type d ! -perm -111
 - Искать файлы определённого пользователя
- Код: выделить все
 find . -user apache
 - Показать файлы которые менялись за последние 10 дней
- Код: выделить все
 find /usr/bin -type f -mtime -10
 - Найти все файлы, чьё имя состоит лишь из символов
- Код: выделить все
 find * -type f -name '[0-9]*'
 - Найти все скрытые файлы
- Код: выделить все
 find . -type f -iname ".*"
 - Удалить все пустые директории
- Код: выделить все
 find -depth -type d -empty -print0 | xargs -0 rmdir
 - Вывести только файлы из текущего каталога
- Код: выделить все
 find * -maxdepth 0 -type f
 - Ищем файлы которые изменялись в определённом диапазоне времени
- Код: выделить все
 touch -t yyyymmddHHMM range_start
touch -t yyyymmddHHMM range_end
find . -type f -newer range_start ! -newer range_end -ls
 - Найти символьные ссылки
- Код: выделить все
 find ~/ -type l
// можно сразу посмотреть куда они ведут:
find ~/ -type l -exec ls -l {} \;
 - Найти файлы по определенной маске, содержащие определенный текст. Отображает имя файла, номер строки где найден текст, и саму строку. Все это красиво раскрашивает (если консоль позволяет раскраску)
- Код: выделить все
 $ find . -name "*.php" | while read i; do cat "$i" | grep -H --label="$i" -n "print_r"; done
 - Найти файлы *.php и проверить их лексическим анализатором
- Код: выделить все
 find . -name "*.php" | while read i; do php -l $i; done
 
