2.11.3. Пошук файлів і каталогів через консоль

Через консоль за допомогою утиліти find можна шукати файли та каталоги за різними критеріями. У командах замість крапки . можна вказувати шлях до конкретного каталогу, всередині якого потрібно виконувати пошук.

Для пошуку всіх файлів і каталогів за назвою (без урахування регістру) в поточному каталозі та всіх його підкаталогах використовуйте команду:

find . -iname NAME

У команді замініть NAME на назву шуканого файлу або каталогу.

Для пошуку всіх файлів з розширенням .php (без урахування регістру) в поточному каталозі та всіх його підкаталогах використовуйте команду:

find . -iname '*.php'

Для пошуку всіх файлів розміром понад 1000 КБ у поточному каталозі та всіх його підкаталогах використовуйте команду:

find . -size +1000k

Для пошуку всіх файлів розміром менше 500 Б у поточному каталозі та всіх його підкаталогах використовуйте команду:

find . -size -500b

Розмір можна вказувати в різних форматах: 10 — байти, 10k — КБ, 10M — МБ, 10G — ГБ.

Для пошуку всіх файлів і каталогів, змінених за останні 24 години, в поточному каталозі та всіх його підкаталогах використовуйте команду:

find . -mtime 1

Для пошуку всіх файлів і каталогів, змінених за останні 15 хвилин, у поточному каталозі та всіх його підкаталогах використовуйте команду:

find . -mmin 15

Для пошуку всіх файлів і каталогів, змінених від 5 до 10 днів тому, в поточному каталозі і всіх його підкаталогах використовуйте команду:

find . -mtime 5 -mtime -10 -daystart

Для пошуку всіх файлів з розширенням env, php, xml, yml або ini, що містять вказаний фрагмент рядка, в поточному каталозі та всіх його підкаталогах використовуйте команду:

find ./ -type f -regex ".*\.\(env\|php\|xml\|yml\|ini\)" -exec grep -i -H "STRING" {} \;

У команді замініть STRING на шуканий текст.

Для пошуку по всіх файлах у всіх каталогах рекурсивно використовуйте команду:

grep -rn "STRING" ~/
Зміст