Темы
Некоторые примеры использования утилиты 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