Вступ
Команда whereis — це інструмент в Linux, який використовується для пошуку розташування виконуваних файлів, вихідних кодів та сторінок керівництва (man pages) для певних команд. Вона є важливою для системних адміністраторів, розробників та користувачів, які хочуть дізнатися, де знаходяться програми та їхні ресурси в системі.whereis шукає файли у стандартних системних директоріях, таких як /bin, /sbin, /usr/bin, /usr/sbin, та інших, і виводить шляхи до знайдених файлів. Це дозволяє користувачам легко знайти не тільки виконуваний файл, але й пов’язані з ним ресурси.
Синтаксис
whereis [опції] ім'я_команди
Де ім’я_команди — це назва програми або команди, для якої ви хочете знайти файли.
Пункти, про які слід пам’ятати під час використання команди whereis
- Розташування результатів:
- Команда
whereisшукає виконувані файли, вихідні коди та довідки(man pages) програми. - Вона виводить шляхи до всіх цих файлів, якщо вони існують.
- Команда
- Обмеження пошуку:
whereisшукає файли тільки в певних директоріях, таких як/bin,/sbin,/usr/bin,/usr/sbin, тощо.- Вона не шукає файли в користувацьких директоріях або в директоріях, які не включені в список пошуку.
- Використання опцій:
- Використовуйте
-b, щоб шукати тільки виконувані файли. - Використовуйте
-s, щоб шукати тільки вихідні файли. - Використовуйте
-m, щоб шукати тільки довідки. - Використовуйте
-B,-S,-Mдля вказівки конкретних директорій пошуку для бінарних файлів, вихідних файлів та сторінок керівництва відповідно.
- Використовуйте
- Відсутність результатів:
- Якщо
whereisне може знайти файли для зазначеної команди, вона просто поверне ім’я команди без будь-яких шляхів. Це означає, що файли не були знайдені в стандартних директоріях
- Якщо
- Виключення з пошуку:
- Ви можете використовувати опцію
-uдля пошуку “незвичайних” команд, тобто таких, для яких не знайдено всі типи файлів (бінарні, вихідні або довідки).
- Ви можете використовувати опцію
- Швидкість і точність:
- Не відображає змінні середовища:
- На відміну від команди
which,whereisне враховує змінні середовищаPATH. Це означає, що вона може не знаходити файли, якіwhichможе знайти.
- На відміну від команди
- Сумісність з різними командними оболочками:
whereisсумісна з більшістю шеллів, таких як bash, zsh, і sh, що робить її універсальним інструментом для пошуку файлів у системі.
- Системні привілеї:
- Пам’ятайте, що
whereisне потребує спеціальних привілеїв (як-от sudo) для виконання своїх операцій, оскільки вона працює з файлами, доступними для звичайного користувача.
- Пам’ятайте, що
- Актуальність інформації:
- Якщо ви нещодавно встановили програму, але
whereisне може знайти її файли, спробуйте оновити кеш системи командоюupdatedb, яка використовується для оновлення бази даних файлів.
- Якщо ви нещодавно встановили програму, але
Дотримуючись цих пунктів, ви зможете ефективніше використовувати команду whereis і отримувати більш точні результати при пошуку програмних файлів у вашій системі.
Приклад використання
Розглянемо кілька прикладів використання команди whereis для пошуку файлів, пов’язаних із певною командою.
Приклад 1: Пошук всіх файлів, пов’язаних з командою ls
Щоб знайти місцезнаходження виконуваного файлу, сторінок керівництва та інших пов’язаних файлів для команди ls, введіть:
whereis ls
Результат може виглядати так:
ls: /bin/ls /usr/share/man/man1/ls.1.gz
Цей результат означає:
- /bin/ls: Місцезнаходження виконуваного файлу
ls. - /usr/share/man/man1/ls.1.gz: Місцезнаходження сторінки керівництва для
ls.
Приклад 2: Пошук лише виконуваного файлу команди bash
Якщо вас цікавить лише виконуваний файл команди bash, використовуйте опцію -b:
whereis -b bash
Результат буде таким:
bash: /bin/bash
Тут вказано, що виконуваний файл bash знаходиться в директорії /bin.
Приклад 3: Пошук сторінок керівництва для команди grep
Щоб знайти лише довідку для команди grep, використовуйте опцію -m:
whereis -m grep
Результат може бути таким:
grep: /usr/share/man/man1/grep.1.gz
Це вказує на те, що сторінка керівництва для grep знаходиться в директорії /usr/share/man/man1/.
Приклад 4: Пошук всіх можливих розташувань виконуваного файлу python
Щоб побачити всі можливі розташування виконуваного файлу для команди python, використовуйте опцію -a:
whereis -b -a python
Результат може бути таким:
python: /usr/bin/python /usr/local/bin/python
Цей результат показує, що є кілька версій python, і вони знаходяться у /usr/bin/ та /usr/local/bin/.
Приклад 5: Пошук файлів у визначеній директорії
Якщо ви хочете шукати команду gcc лише в певній директорії, наприклад /usr/bin, використовуйте опцію -B для вказівки директорії:
whereis -B /usr/bin -f gcc
Результат може бути таким:
gcc: /usr/bin/gcc
Це вказує на те, що gcc знаходиться в директорії /usr/bin.
Відмінності від інших команд
which: Шукає лише виконуваний файл у змінній середовищаPATH, тоді якwhereisнадає більше інформації.find: Виконує більш глибокий і комплексний пошук по файловій системі, але менш зручний для швидкого пошуку системних команд.
Висновок
Команда whereis — це простий, але потужний інструмент для швидкого пошуку розташування системних команд і пов’язаних з ними файлів. Вона є корисною у випадках, коли потрібно дізнатися, де знаходиться виконуваний файл програми, чи існує його сторінка керівництва, або де розташований вихідний код. Знання цієї команди спрощує роботу з системою та допомагає краще розуміти структуру файлової системи Linux.