Багато користувачів, шукаючи файли або каталоги на своєму комп’ютері з 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