Ранее было показано, как использовать утилиту поиска файлов find. Эта команда позволяет искать файлы по целому ряду свойств, например, таких как: полное совпадение имени или части символов в нем (использование шаблонов), время доступа, принадлежность пользователю или группе, заданные права доступа и другие. Рассматриваемая утилита имеет следующий формат:
find <путь в дереве каталогов> ОПЦИИ
Первый параметр <путь в дереве каталогов> определяет, что поиск файлов осуществляется в этом каталоге и всех, подчиненных ему. Например,find / требует искать во всей файловой системе. Количество опций этой команды огромно. В рассматриваемой версии они описаны более чем на 20 страницах справочного руководства man.
Для команды find параметр -name означает, что после него указывается имя файла, которое нужно искать в файловой системе.
Дадим несколько команд find, задавая разные параметры. В первом примере ищем файлы, начинающиеся на символы .bash в каталоге /root
find /root –name “.bash*”
/root/.bash_profile
/root/.bash_logout
/root/.bashrc
/root/.bash_history
Вторая команда ищет файлы с такими же символами в имени, но в каталоге /home/asplinux
find /home/asplinux –name “.bash*”
/home/asplinux/.bash_profile
/home/asplinux/.bash_logout
/home/asplinux/.bashrc
/home/asplinux/.bash_history
Как видим, для обоих пользователей в домашнем каталоге есть системные сценарии.
Далее приводится пример применения двух команд, позволяющий определить количество найденных файлов. Мы рассматривали его ранее.
find /root –name “.bash*” | wc-l
Еще одной опцией изучаемой команды является –type, после которой можно задать тип файла. Такие варианты команд определяют количество директорий в каталоге /root