3 найкращі способи знайти файли та папки за допомогою терміналу Linux

Багато користувачів, шукаючи файли або каталоги на своєму комп’ютері з Linux, звертаються до файлового менеджера. Зазвичай, інструменти пошуку в файлових менеджерах здатні знайти потрібні елементи, але часто вони можуть бути повільними та неточними. Для більш ефективного пошуку файлів у Linux, варто розглянути використання терміналу.

СПОЙЛЕР: Перегляньте відеоінструкцію в кінці статті.

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

1. Комбінація Find та Grep

find – це потужний пошуковий інструмент для операційної системи Linux. Він працює в командному рядку, здійснюючи пошук на основі заданих ключових слів. Інструмент find є доволі складним у використанні, тому багато користувачів його оминають. Щоб почати користуватися find, відкрийте термінал і запустіть цю команду. Ви побачите, що find відображає майже всі файли на вашому комп’ютері. Хоча це і добре, такий обсяг інформації ускладнює пошук потрібного файлу.

Для ефективнішого використання інструмента пошуку, об’єднайте його з іншими командами, зокрема grep. grep також є потужним інструментом, який дозволяє фільтрувати результати пошуку за конкретними ключовими словами. Поєднання find і grep є чудовим рішенням. Наприклад, для пошуку файлів і папок, що містять слово “bitcoin” на вашому комп’ютері з Linux, введіть:

find | grep bitcoin

grep відфільтрує результати find, показуючи лише ті елементи, що містять слово “bitcoin”.

Цей метод також працює з певними розширеннями файлів. Наприклад, для пошуку всіх файлів PNG на вашому комп’ютері з Linux, виконайте команду:

find | grep .png

Оскільки на вашому комп’ютері, ймовірно, багато файлів PNG, щоб зробити список більш зручним, використайте додаткову команду:

find | grep .png | more

2. Застосування Mlocate

mlocate – ще одна дуже корисна команда, можливо, навіть більш зручна, ніж find. Причина в тому, що mlocate може краще шукати за ключовими словами, без потреби у додаткових параметрах або grep. Однак, mlocate не встановлений за замовчуванням у всіх дистрибутивах Linux. Ось як це налаштувати. Спочатку встановіть програмне забезпечення на свій ПК.

Ubuntu

sudo apt install mlocate

Debian

sudo apt-get install mlocate

Arch Linux

sudo pacman -S mlocate

Fedora

sudo dnf install mlocate

OpenSUSE

sudo zypper install mlocate

Після встановлення, відкрийте термінал та використайте команду updatedb для створення нової бази даних. Це необхідно зробити, інакше команда locate видаватиме помилку. База даних сканує УСІ файли на вашому комп’ютері, тому її необхідно запускати з правами root, а не як звичайну команду користувача.

sudo updatedb

Команда updatedb може зайняти деякий час, залежно від швидкості жорсткого диска та кількості файлів у системі. Залиште термінал відкритим і дочекайтеся завершення процесу. Після цього термінал знову прийматиме ввід.

Щоб здійснити пошук за допомогою locate, дотримуйтесь прикладів нижче, змінюючи “ім’я файлу” або “ключове слово” на власні пошукові терміни:

locate filename

або

locate keyword

або

locate "*.FileExtension"

Після введення пошукового терміна, locate перевірить базу даних та відобразить результати. Якщо результатів багато, розгляньте можливість передачі їх у текстовий файл для подальшого опрацювання.

locate keyword >> locate-keyword-results.txt

Фільтрація текстового файлу з Mlocate

Збереження результатів пошуку в текстовому файлі – зручний спосіб зберегти їх для подальшого використання. Щоб відфільтрувати ці результати, використайте команди cat і grep разом.

Наприклад, щоб відфільтрувати попередні результати пошуку та знайти всі файли MP3, скористайтеся командою:

cat locate-mp3-results.txt | grep "mp3 keyword"

grep відфільтрує потрібний вам файл.

3. Поєднання Ls та Grep

Окрім пошукових інструментів, існують інші способи пошуку файлів. Одним з основних способів у терміналі є використання команди ls (або List). Цей інструмент є простим і виводить список усіх елементів у каталозі. Це може бути корисним, якщо ви шукаєте конкретну папку. Однак, ls сам по собі може бути неефективним. Щоб покращити цю команду, об’єднайте її з grep, що полегшить фільтрацію папок або файлів, які ви шукаєте.

Спочатку, за допомогою cd, перейдіть до каталогу, в якому ви хочете здійснити пошук.

Потім об’єднайте ls і grep.

ls | grep keyword

Також, ls може показувати приховані папки за допомогою:

ls -a | grep keyword