Коли йдеться про файли та папки ефективно знаходити на Linux-системі, є два основні команди, що доступні: find та locate. Обидві мають свої сильні сторони та випадки застосування. У цьому посібнику ви дізнаєтеся, як використовувати ці команди, щоб швидко та цілеспрямовано знаходити потрібні дані, будь то у домашньому каталозі чи на всьому диску.
Найважливіші висновки
- locate швидший, оскільки використовує базу даних, але, можливо, не є актуальним.
- find шукає безпосередньо на диску і завжди актуальний, але може бути повільнішим.
- Обидві команди пропонують різні параметри для уточнення ваших запитів.
Покрокова інструкція
1. Перший огляд: locate
Почніть свій пошук з команди locate. Це особливо просто, якщо ви знаєте точну назву або частину назви файлу. Припустимо, ви хочете знайти файл «Сонце». Перейдіть у ваш кореневий каталог і введіть наступну команду:
locate Сонце
Ця команда просканує всі записи в базі даних і покаже вам файли, які містять пошуковий термін «Сонце».

2. Ігнорування регістру
Бажаєте ігнорувати регістр під час пошуку? Тоді ви можете використовувати опцію -i:
locate -i сонце
Таким чином, ви отримаєте список, який містить як «Сонце», так і «сонце».

3. Точність через регулярні вирази
Якщо ви хочете здійснити більш точний пошук, ви також можете використовувати регулярні вирази з locate. Наприклад, щоб шукати тільки точно «ls», ви можете використовувати опцію -b у комбінації з захищеними дужками:
locate -b '/ls'
Це гарантує, що ви отримаєте тільки результати, які точно відповідають «ls».

4. Оновлення бази даних
Якщо ви створили новий файл і хочете впевнитися, що locate його знайде, потрібно оновити базу даних. Для цього виконайте команду:
sudo updatedb
Ця команда оновлює базу даних і приводить її в актуальний стан.

5. Використання find
Команда find особливо корисна, якщо ви хочете визначити більш точні критерії для своїх пошуків. Наприклад, щоб шукати файл з назвою «xyz» у домашньому каталозі, ви можете використовувати наступну команду:
find ~/ -name 'xyz'
Це просканує лише домашній каталог на предмет «xyz».

6. Фільтрація за типом файлу
Щоб шукати лише за певними типами файлів, ви можете використовувати опцію -type. Наприклад, щоб знайти лише директорії:
find /var/log -type d
Ця команда виведе всі директорії у каталозі /var/log.

7. Пошук файлів за розміром
Якщо ви хочете шукати файли залежно від їхнього розміру, ви можете використовувати опцію -size. Наприклад, щоб знайти файли, що перевищують 1 МБ:
find / -type f -size +1M
Ця команда здійснює пошук на всій системі файлів, які перевищують 1 мегабайт.

8. Пошук файлів за певний період часу
Ви також можете шукати файли, які були змінені протягом певного часу. Наприклад, якщо ви хочете знайти файли, які були змінені за останні 48 годин, використовуйте:
find / -type f -mtime -2
Тут «-mtime -2» означає файли, які були змінені за останні два дні.

9. Комбінації критеріїв пошуку
Поєднання кількох критеріїв пошуку покращує точність ваших запитів. Ви можете фільтрувати одночасно за типом файлу та останньою датою зміни:
find /opt -type f -mtime -1
Так ви знайдете всі файли в каталозі /opt, які були змінені за останні 24 години.

10. Висновок щодо пошуку файлів
З командами find та locate ви добре підготовлені для ефективного знаходження файлів та папок на вашій Linux-системі. Ви можете вибрати між швидкістю та актуальністю даних, в залежності від ваших потреб.
Підсумок – Пошук файлів та папок у Linux – find та locate в деталях
Знаходження файлів та папок у Linux з find та locate – це дитяча справа. Обидві команди пропонують різні можливості для налаштування пошуку на ваш розсуд.
Часті запитання
У чому різниця між find та locate?find шукає в реальному часі на диску, тоді як locate використовує базу даних, тому є швидшим, але може не надати актуальні результати.
Як я можу оновити базу даних locate?Використовуючи команду sudo updatedb, ви можете оновити базу даних locate.
Чи можу я шукати за розміром файлів за допомогою find?Так, це можливо, якщо ви використовуєте опцію -size.
Як я можу обмежити свій пошук за назвою файлу або директорії?Використовуйте параметри -name або -type, щоб цілеспрямовано шукати за певними іменами або типами файлів.
Який приклад комбінації критеріїв пошуку?Ви можете використовувати find, щоб шукати файли типу -type f і одночасно вказати, що файли були змінені за останні 24 години за допомогою -mtime -1.