В Unix-подібних та деяких інших операційних системах, find
- утиліта командного рядка, яка виконує пошук в одній чи більше директорії файлової системи, знаходить розташування файла, який відповідає певним критеріям заданим користувачем, і виконує певну вказану користувачем дію. Можливими критеріями для пошуку можуть бути, наприклад, співстановка з шаблоном його назви, чи часовий проміжок, в межах якого файл міг модифікуватись. За замовчуванням команда find
повертає список всіх файлів в поточній робочій директорії та її піддиректоріях.
Пов'язана програма locate
використовує базу даних проіндексованих файлів, отриманих за допомогою find
(яка оновлюється через однорідні відрізки часу, зазвичай за допомогою cron
), щоб організувати швидший метод пошуку по всій файловій системі за ім'ям. Це приносить в жертву загальну ефективність ОС (файлова система повинна регулярно скануватись) та точність пошуку (база даних не оновлюється в реальному часі) заради значного зростання швидкості пошуку (особливо з великими файловими системами). На швидких системах з невеликими обсягами зовнішньої пам'яті locate
не обов'язкова й не бажана.
Синтаксис команди
find path... [expression]
Перед виразом який описує критерії пошуку потрібно задати хоча б один шлях, з якого починати пошук.
Елементи виразів розділяються пропусками і обчислюються зліва направо. Вони можуть містити як логічні елементи, такі як AND (-a) та OR (-o), так і складніші предикати.
GNU find
має багато додаткових можливостей, не описаних стандартом POSIX.
Дивись також