Знайомство з використанням команди "whereis" у Linux та BSD з прикладами
17:50, 12.12.2023
Перш ніж перейти до практичних прикладів, важливо зрозуміти, що таке команда "whereis" і чим вона корисна. Команда "whereis" в Linux використовується для пошуку бінарних файлів, вихідного коду і довідкових сторінок для команди. Вона шукає файли у каталозі, що робить її швидшою за інші команди, такі як "find".
Розуміння команди "whereis"
Команда "whereis" - це інструмент пошуку, спеціально розроблений для пошуку бінарних, вихідних і файлів довідкових сторінок. На відміну від інструментів пошуку загального призначення, "whereis" працює із заздалегідь визначеним набором каталогів, які зазвичай використовуються для зберігання файлів команд. Ця особливість дає "whereis" перевагу у швидкості і точності.
Розуміння розташування командних файлів може бути корисним у наступних сценаріях:
- Пошук і усунення несправностей. Знання розташування бінарних або вихідних файлів команди може допомогти виявити проблеми з цією командою.
- Написання сценаріїв. При написанні скриптів, особливо призначених для запуску на різних системах, важливо вказувати правильний шлях до команди.
- Системне адміністрування. Адміністраторам часто потрібно перевірити, чи встановлені певні утиліти або їх версії. За місцем розташування програми іноді можна визначити її версію або спосіб встановлення.
Хоча спеціальні команди, такі як "find", пропонують більш широкі можливості пошуку, вони сканують всю файлову систему (або вказаний каталог). Для порівняння, команда "whereis" у Linux обмежує пошук заздалегідь визначеним списком каталогів, які як відомо, містять виконувані файли команд, вихідні файли та сторінки довідки. Такий підхід значно скорочує час пошуку, особливо на великих файлових системах.
Як використовувати "whereis" в Linux
Основний синтаксис команди в Linux наступний:
whereis [параметри] ім'я_файлу
Секція імені файлу в синтаксисі повинна містити файл, який ви хочете знайти. Наприклад, щоб знайти шлях до бінарних виконуваних файлів, вихідного коду або сторінок довідки, ви можете додати до синтаксису команду "ls":
whereis ls
Результат виконання наведеної вище команди може виглядати приблизно так:
ls: /bin/ls /usr/share/man/man1/ls.1.gz
Визначення місця розташування бінарного файлу
Якщо вам потрібно визначити місцезнаходження бінарного файлу Linux, ви можете скористатися командою "-b":
whereis -b whereis
whereis: /usr/bin/whereis /usr/bin/X11/whereis
Зазначена команда знайде бінарний файл команди "whereis" і вкаже напрямок, де ця команда доступна у системі Linux.
Пошук довідкових сторінок
Для пошуку довідкових сторінок використовується команда "-m":
whereis -m whereis
whereis: /usr/share/man/man1/whereis.1.gz
Вона працює подібно до пошуку бінарного файлу і надає вам шлях до довідкових сторінок у системі Linux.
Приклади використання "whereis" у системах BSD
1. Команди у FreeBSD
За допомогою whereis ви також можете шукати декілька аргументів одночасно. Ось приклад для bash і nano:
whereis bash nano
bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz
nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz
У прикладі nano ви можете шукати бінарні файли саме так:
whereis -b nano nano: /usr/bin/nano /usr/share/nano
І для довідкових сторінок nano:
whereis -m nano nano: /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz
За бажанням, ви можете шукати декілька речей одночасно, наприклад, бінарні файли firefox і nano, а також сторінки довідки bash:
whereis -bm nano firefox -m bash
nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz firefox-m:
bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz
2. Бібліотеки у OpenBSD
Припустимо, ви хочете побачити всі розташування. Опція "-l" надасть вам всі шляхи таким чином:
whereis -l
bin: /usr/bin
bin: /usr/sbin
bin: /usr/lib
bin: /usr/lib64
bin: /etc bin: /usr/games
bin: /usr/local/bin
bin: /usr/local/sbin
bin: /usr/local/etc
bin: /usr/local/lib
bin: /usr/local/game
Отже, команда "whereis" дає вам декілька збігів шляхів, включно з бібліотеками.
Поради та рекомендації щодо ефективного використання "whereis"
Ось список опцій "whereis", які ви можете використовувати для швидкого застосування:
-b | Бінарні файли |
-s | Вихідні коди |
-m | Посібник |
-u | Незвичайні записи. (якщо команда має лише один запис такого типу). |
-B (list) | Обмежити місця пошуку для бінарних файлів. |
-S (list) | Обмежити місця пошуку для вихідних файлів. |
-M (list) | Обмежити місця пошуку для довідників і документації. |
-f | Шукати за іменами файлів. (Слід використовувати з будь-якими опціями -B, -S або -M). |
-l | Перерахувати усі шляхи пошуку. |