Вступ

Команда whereis — це інструмент в Linux, який використовується для пошуку розташування виконуваних файлів, вихідних кодів та сторінок керівництва (man pages) для певних команд. Вона є важливою для системних адміністраторів, розробників та користувачів, які хочуть дізнатися, де знаходяться програми та їхні ресурси в системі.
whereis шукає файли у стандартних системних директоріях, таких як /bin, /sbin, /usr/bin, /usr/sbin, та інших, і виводить шляхи до знайдених файлів. Це дозволяє користувачам легко знайти не тільки виконуваний файл, але й пов’язані з ним ресурси.

Синтаксис

whereis [опції] ім'я_команди

Де ім’я_команди — це назва програми або команди, для якої ви хочете знайти файли.

Пункти, про які слід пам’ятати під час використання команди whereis

  1. Розташування результатів:
    • Команда whereis шукає виконувані файли, вихідні коди та довідки(man pages) програми.
    • Вона виводить шляхи до всіх цих файлів, якщо вони існують.
  2. Обмеження пошуку:
    • whereis шукає файли тільки в певних директоріях, таких як /bin, /sbin, /usr/bin, /usr/sbin, тощо.
    • Вона не шукає файли в користувацьких директоріях або в директоріях, які не включені в список пошуку.
  3. Використання опцій:
    • Використовуйте -b, щоб шукати тільки виконувані файли.
    • Використовуйте -s, щоб шукати тільки вихідні файли.
    • Використовуйте -m, щоб шукати тільки довідки.
    • Використовуйте -B, -S, -M для вказівки конкретних директорій пошуку для бінарних файлів, вихідних файлів та сторінок керівництва відповідно.
  4. Відсутність результатів:
    • Якщо whereis не може знайти файли для зазначеної команди, вона просто поверне ім’я команди без будь-яких шляхів. Це означає, що файли не були знайдені в стандартних директоріях
  5. Виключення з пошуку:
    • Ви можете використовувати опцію -u для пошуку “незвичайних” команд, тобто таких, для яких не знайдено всі типи файлів (бінарні, вихідні або довідки).
  6. Швидкість і точність:
    • whereis швидка, але не завжди найточніша. Якщо вам потрібен більш гнучкий інструмент для пошуку файлів, розгляньте використання команд find або locate.
  7. Не відображає змінні середовища:
    • На відміну від команди which, whereis не враховує змінні середовища PATH. Це означає, що вона може не знаходити файли, які which може знайти.
  8. Сумісність з різними командними оболочками:
    • whereis сумісна з більшістю шеллів, таких як bash, zsh, і sh, що робить її універсальним інструментом для пошуку файлів у системі.
  9. Системні привілеї:
    • Пам’ятайте, що whereis не потребує спеціальних привілеїв (як-от sudo) для виконання своїх операцій, оскільки вона працює з файлами, доступними для звичайного користувача.
  10. Актуальність інформації:
    • Якщо ви нещодавно встановили програму, але 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.

Від ittutorials

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *