find [папка в которой начинаем искать] [опции поиска] [критерии поиска] [результат]
[папка в которой начинаем искать] - начинаем искать в указанной папке всех вложенных в нее папках. если не указано начинаем поиск с текущей папки.
[опции поиска] - типы файлов, имя размеры и т.д.
[критерии поиска] - используется в паре с опциями, к примеру задает имя или шаблон имени файла для поиска
[результат] - определяет что делать с найденным, если не задано выдает имя файла на экран (STDOUT).
-name задаем имя файла который ищем (с учетом регистра).
Ищем файл hosts в папке /etc:
sysadmin@localhost:~$ find /etc -name hosts
find: `/etc/dhcp': Permission denied
/etc/hosts
Если у пользователя недостаточно прав на чтение папки, будет выведена ошибка. чтобы не засорять вывод результата поиска на экран мы можем перенаправить STDERR в файл (если нам нужна эта информация):
sysadmin@localhost:~$ find /etc -name hosts 2> errors.txt
/etc/hosts
/etc/hosts
/etc/avahi.hosts
Если информация по ошибкам поиска нам не нужна, можно перенаправить вывод в null (т.е. выкинуть):
sysadmin@localhost:~$ find /etc -name hosts 2> /dev/null
/etc/hosts
/etc/hosts
/etc/avahi/hosts
-ls позволяет добавить в выдачу подробную информацию по найденным файлам в стиле утилиты ls.
sysadmin@localhost:~$ find /etc -name hosts -ls 2> /dev/null
41 4 -rw-r--r-- 1 root root 158 Jan 12 2010 /etc/hosts
41 4 -rw-r--r-- 1 root root 158 Jan 12 2010 /etc/hosts
6549 4 -rw-r--r-- 1 root root 1130 Jul 19 2011 /etc/avahi/hosts
Первые два столбца указывают на inode number файла и номера блоков в которых он хранится.
-size позволяет указать точный размер файла который ищем, или же больше(+)/меньше(-). Для указания размера можно использовать Байты (c), килобайты (k), мегабайты (M), гигабайты (G).
Ищем файл размером 10 байт:
sysadmin@localhost:~$ find /etc -size 10c -ls 2>/dev/null
432 4 -rw-r--r-- 1 root root 10 Jan 28 2015 /etc/adjtime
432 4 -rw-r--r-- 1 root root 10 Jan 28 2015 /etc/adjtime
Ищем файл размером более 100 мегабайт:
sysadmin@localhost:~$ find /usr -size +100M -ls 2> /dev/null
574683 104652 -rw-r--r-- 1 root root 107158256 Aug 7 11:06 /usr/share/icons/oxygen/icon-theme.cache
574683 104652 -rw-r--r-- 1 root root 107158256 Aug 7 11:06 /usr/share/icons/oxygen/icon-theme.cache
-maxdepth n ищем файлы на указанной глубине субдиректорий.
-group groupname ищем файлы принадлежащие указанной группе.
-iname filename ищем по имени без учета регистра.
-mmin n ищем файлы измененные n минут назад.
-type type ищем файлы указанного типа (f - файл, d - папка).
-user username ищем файлы принадлежащие указанному пользователю.
Объединение нескольких опций в поиске действует как инюнкция (все опции должны совпасть).
Ищем только файлы в папке /etc размером 10 байт.
sysadmin@localhost:~$ find /etc -size 10c -type f -ls 2>/dev/null
432 4 -rw-r--r-- 1 root root 10 Jan 28 2015 /etc/adjtime
73468 4 -rw-r--r-- 1 root root 10 Nov 16 20:42 /etc/hostname
432 4 -rw-r--r-- 1 root root 10 Jan 28 2015 /etc/adjtime
73468 4 -rw-r--r-- 1 root root 10 Nov 16 20:42 /etc/hostname
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.