Мощнейшая утилита с массой опций для поиска файлов по различным критериям. Вот лишь некоторые из опций:
Опция | Описание |
---|---|
-type | Поиск по типу файла - f или d |
-name | Поиск по шаблону имени файла |
-mtime | Поиск файлов СТАРШЕ +5 , МОЛОЖЕ -5 или ТОЧНЫМ ВОЗРАСТОМ 5 дней |
-size | Поиск файлов размером БОЛЬШЕ +1M , МЕНЬШЕ -1G или РАВНЫХ 100k указанному размеру |
-user | Поиск файлов указанного пользователя |
-group | Поиск файлов указанной группы |
-perm | Поиск файлов с указанными правами на них |
-mindepth | Минимальная глубина поиска (вложенность директорий) |
-maxdepth | Максимальная глубина поиска (вложенность директорий) |
-newer | Поиск файлов новее, чем указанный |
-mount | Поиск файлов только в текущей ФС |
Логические операторы:
Оператор | Описание |
---|---|
-and | Логическое И |
-not | Логическое НЕ |
-or | Логическое ИЛИ |
Операции с найденными файлами:
Операция | Описание |
---|---|
-exec | Выполнить команду для найденного файла |
-ok | То же самое, что и -exec, но для каждого действия будет запрошено подтверждение пользователя |
-execdir | То же самое, что и -exec, но выполнение команды происходит из каталога, содержащего файл |
-okdir | То же, что и -execdir, но запрашивает подтверждения пользователя |
-ls | Выводит подробную информацию о найденных файлах |
Примеры:
find /var/log -type f -name boot*
- найдет в директории /var/log все файлы, начинающиеся на boot
find /etc -user root
- Поиск всех файлов пользователя root в директории /etc
find ~ -name “*.txt” -ls
- Найти в домашнем каталоге все файлы с расширением txt и вывести о них подробную информацию
find . -not -type f
- Найти и показать все директории начиная от текущего местоположения
find /var/www -mtime -7
- Найти в каталоге /var/www все файлы, которые были обновлены за последнюю неделю.
find /var/log -type f -mtime +10 -size +500k -exec rm {} \;
- В каталоге /var/log найти и удалить все файлы размером более 500Кб, которые не обновлялись более 10 дней
Используется для определения расположения исполняемого файла (консольной команды).
Примеры - which nano
, which bash
, which ls
.
grep и его форк egrep ищут указанные данные внутри файлов.
grep <keyword> <filename>
- выведет строку с заданным ключевым словом из указанного файла. Пример - grep tux /etc/passwd
grep -B1 -A1 <keyword> <filename>
- ведет строку с заданным ключевым словом, а также одну строку перед ним и одну - после. Пример - grep -B1 -A1 tux /etc/passwd
Ищет файлы по названию с использованием собственной БД, не всегда входит в базовую установку ОС. Подходит для систем с большим количеством дискового пространства.
Базу данных необходимо обновлять вручную.
updatedb
- обновление базы данных файлов и их расположений.
locate <filename>
- ищет в системе указанный файл и выводит его расположение. Пример - locate test1
.