
SSH
# find / -size +100M -printВсе находится и все выводится красиво, но… Каждый раз при поиске файлов (больших, конкретного размера, типа, с определенным именем) требуется еще и сделать что-то с ним, вот как это стоит делать: Примеры использования Вывести список файлов во всей файловой системе, изменённых в течение последней минуты:
find / -mmin -1 -printВывести список файлов, которые были изменены в течение последних 24 часов:
# find / -type f -iname "*.php" -mtime -3 # Ищем файлы PHP, полезное!
# find . -mtime -1 -type f -print
# find . -mtime -1 -type f -exec ls -l {} \;
# find . -mtime -1 -type f -print | wc # находим и командой wc считаем количество
# find . -mtime -1 -type f -delete # удаляем эти файлы
Сменить рекурсивно права на 644 на все файлы начиная с текущей директории:
$ find . -type f -exec chmod 644 {} \;
Сменить рекурсивно права на 755 на все директории начиная с текущей директории:
$ find . -type d -exec chmod 755 {} \;
Поиск директорий, доступных на запись, относительно текущей:
$ find . -perm -2 -type d -ls 540771 4 drwxrwxrwx 2 user user 4096 Мар 3 20:49 ./.clamtk/viruses 540772 4 drwxrwxrwx 2 user user 4096 Мар 3 20:49 ./.clamtk/historyРекурсивно выведет список файлов, имена которых соответствуют указанному шаблону "*.py":
$ find ./ -name "*.py"Поиск файлов с установленным SUID -битом
$ find / -type f -perm -04000 -ls
622 28 -rwsr-xr-x 1 root root 26228 Янв 28 20:07 /bin/fusermount
113 36 -rwsr-xr-x 1 root root 34696 Май 12 2009 /bin/ping
114 32 -rwsr-xr-x 1 root root 30492 Май 12 2009 /bin/ping6
144 48 -rwsr-xr-x 1 root root 47096 Окт 23 00:54 /bin/umount
91 72 -rwsr-xr-x 1 root root 72188 Окт 23 00:54 /bin/mount
135 32 -rwsr-xr-x 1 root root 31124 Июл 31 2009 /bin/su
find: `/etc/cups/ssl': Permission denied
find: `/etc/chatscripts': Permission denied
find: `/etc/ppp/peers': Permission denied
95333 8 -rwsr-x--- 1 root gnokii 5548 Апр 30 2009 /usr/sbin/mgnokiidev
чтобы избавится от ошибок Permission denied, команду можно запустить так
$ find / -type f -perm -04000 -ls 2>/dev/nullто есть сообщения об ошибках (2 – это дескриптор потока STDERR) выбрасываются, остается лишь нормальный вывод STDOUT. Все файлы с расширением jpg переносит в директорию Images
$ find /var/phoenix/ -name “*.jpg” | xargs -I mv {}/var/phoenix/Images
Перемещает все файлы меньше 1MБ в папку tiny
$ find /var/phoenix/Images/ -name “*.jpg” -size -1024k | xargs -i
mv {} /var/phoenix/Images/tiny
Спасибо за материалы: http://wiki.dieg.info/find