$ find ~ -name WWW find: `/home/alexander/.cache/dconf': Permission denied /home/alexander/VirtualBox VMs/WWW
Код и вывод команды find - поиск файлов в каталоге. В данном примере ищется каталог WWW в домашней папке пользователя
find ~/WWW/dokuwiki/www/data/*
Найти все файлы в папке ~/WWW/dokuwiki/www/data/
find / -nouser
Найти все файлы, которые не принадлежат ни одному пользователю.
find ~/WWW/mfn-dev/ -type f -newermt '2020-12-01 00:00:00' ! -newermt '2020-12-14 23:59:59'
find /home/alexander/WWW/dokuwiki/www/data/ -name '*.txt' -exec ls -d --full-time "{}" \; | sort -nk 6
Найти все файлы *.txt в каталоге /home/alexander/WWW/dokuwiki/www/data/ и вывести их, отсортировав по времени изменения, от большего к меньшему (если sort -k – то сортировка от меньшего к большему)
В отличие от ls | sort, данная конструкция найдет файлы не только в /home/alexander/WWW/dokuwiki/www/data/ - но и во вложенных каталогах
find /home/alexander/WWW/dokuwiki/www/data/ \( -name '*.txt' -or -name '*.jpg' \) -exec ls -d --full-time "{}" \; | sort -nk 6
Работает как в предыдущем примере, но ищет файлы, подпадающие под *txt или *.jpg
find /home/alexander/WWW/dokuwiki/www/data/ \( -name '*.txt' -or -name '*.jpg' \) -exec ls -d --full-time "{}" \; | sort -nk 6 | head -1
Работает как в предыдущем примере, но выводит только первую строку из вывода
$ find /home/alexander/WWW/dokuwiki/www/data/ \( -name '*.txt' -or -name '*.jpg' \) \( ! -regex '.*/cache.*' \) -type f -printf "%T@ %p\n" | sort -n -r | head -1
Найти все файлы в папке ~/WWW/dokuwiki/www/data/, исключив из поиска /WWW/dokuwiki/www/data/cache и выведя первую строку вывода (расширение предыдущего примера)
find /dirmane -mount -type f -ls 2> /dev/null | sort -rnk7 | head -10 | awk '{printf "%10d MB\t%s\n",($7/1024)/1024,$NF}'
Найти самые большие файлы в каталоге, и вывести первые 10 файлов с максимальным размером.
find ~/123 -mount -type f -ls 2> /dev/null | sort -rnk7 | head -30 | awk '{printf "%s\n",$11,$NF}'
Найти и вывести первые 30 самых больших файлов. (без указания размера)
$ find ~/WWW/tervenichi/www/images/0_ST* -exec rm -f {} \;
В данном примере ищется файл по маске ~/WWW/tervenichi/www/images/0_ST* и для каждого найденного вызывается rm -f {}, где вместо {} подставялется найденное имя файла.
Опция -size позволяет произвести поиск файлов определенного размера и имеет следующий вид при выполнении:
$ find /dirname -size 2000k -print
Вышеуказанная команда отыщет и отобразит на экране файлы размером 2 мегабайта, находящийся в текущем каталоге. Если, к примеру, необходимо найти файлы размером менее 500 килобайт, то вид команды будет следующий:
$ find /dirname -size -500k -print
Если нужно найти файлы размером более 600 мегабайт, то применим команду:
$ find /dirname -size +600M -print
Еще пример. Найти и скопировать файлы, размер которых превышает 1 Мб:
find /sourcedir -size +1M -print -exec cp {} /destdir \;
Найти и вывести все файлы старше 5 дней:
find /home/alex/YandexDisk/alex/Backups/* -mtime +5 -print