Якщо не вдалося знайти потрібний файл командою ls, то можна використати для пошуку команду find. Ця команда є дуже потужною, що робить її складною у використанні та розумінні.
Використання команди find складається з трьох етапів, кожен з яких у свою чергу може складатися з одного або декількох підетапів:
- Де шукати
- Що шукати
- Що робити, коли файл знайдено
Якщо відома назва файла, але невідомо його знаходження, то для пошуку можна скористатися такою командою:
find / -name <filename> -print
Водночас, якщо пошук починається з кореня файлової системи, він може тривати протягом довгого часу, так як при цьому будуть аналізуватися кожнен каталог і кожен файл усіх файлових систем. Якщо відомо, що потрібний файл скорш за все знаходиться у певних каталогах, то скоротити час пошуку можна якщо вказати каталоги пошуку.
find /usr1 /usr2 –name <filename> -print
У таблиці наведені найбільш вживані ключі команди find
Команда
| Опис
|
-name file
| Параметр file може бути назвою файлу або шаблоном, що використовує символи підстановки. При використанні шаблону в результаті пошуку обирається кожен файл, назва якого задовільняє шаблону
|
-links n
| Вибираються усі файли, на які є n або більше посилань
|
-size n[c]
| Для опрацювання обирають усі файли розмір яких дорівнює або більше ніж n блоків по 512 байт. Якщо вказано символ с то шукають файли, що мають довжину n та більше символів
|
-atime n
| Обираються усі файли, до яких зверталися протягом останніх n днів. Сама команда find виконує доступ до файлів і змінює час останнього доступу до них.
|
-exec cmd
| Для кожного знайденого файла виконується команда cmd яка в якості параметра приймає назву знайденого файла. Назва файлу у команді подається як {}, команда повинна закінчуватися послідовністю символів \;
|
-print
| Відображає назви усіх знайдених файлів
|
Команда find дозволяє комбінувати критерії пошуку. При цьому критерії пошуку об”єднуються логічними операторами AND (за замовчуванням) та OR (ключ –o)
find /home (-name file1 –o –name file2) -print