Вступ
Команда 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.