Командите which, whereis и whatis може да звучат подобно на новодошлия Linux, но са по-различни, отколкото може би си мислите.
Може да сте използвали команди which, whereis и whatis на Linux няколко пъти. И трите команди ви помагат да намерите информация за други команди на Linux. Тези команди изглеждат подобни, но имат някои разлики.
Ето подробно сравнение на командите which, whereis и whatis в Linux.
Командата which
Някои команди имат множество двоични изпълними файлове, разположени в различни директории. Когато изпълните команда, обвивката търси нейните изпълними файлове в директориите, посочени в променливата на средата PATH.
За да разберете какви директории има в променливата на средата PATH, отворете терминала на Linux и изпълнете следната команда:
ехо $PATH
Можете и ръчно добавете директория към вашата променлива на средата PATH.
Когато обвивката намери първия изпълним път, тя го изпълнява. Използвайки командата which в Linux, можете да идентифицирате пътя на този изпълним файл.
Това е полезно в сценарии, при които имате две различни версии на една и съща програма или две различни програми с едно и също име, инсталирани на вашата система. С помощта на командата which можете да намерите коя ще бъде изпълнена първа.
Ето синтаксиса на командата which:
коя [опция] [команда]
Например, за да проверите действителния път на катран команда, трябва да въведете:
който катран
Тази команда ще покаже първия изпълним път, т.е. /usr/bin намерени за командата tar в PATH. Това означава, че всеки път, когато изпълните командата tar, обвивката изпълнява двоичния файл, намиращ се в /usr/bin указател.
За да покажете всички налични изпълними пътища за команда, използвайте командата which с -а опция:
който -катран
Можете също така да покажете изпълними пътища за множество команди наведнъж по следния начин:
което [команда1] [команда2] [команда3]
Командата whereis
Командата whereis показва пътя на двоичните, изходните и файловете с ръчна страница, свързани с посочената команда. За разлика от командата which, тя не само търси изпълнимия файл в $PATH, но и $MANPATH и други предварително дефинирани местоположения.
Без каквато и да е опция на командния ред, командата whereis показва двоичните, изходните и файловете с ръчна страница за команда:
където е катран
За да покажете само пътя на двоичния файл, използвайте -б опция:
където е -b катран
За да покажете само изходния файл, използвайте -с флаг:
където е -s катран
За да покажете само страницата с ръководство, използвайте -м опция:
където е -m катран
Командата какво е
Командата whatis предоставя едноредово описание на дадена Linux команда. Той намира тази информация от страницата на ръководството на командата.
Например, за да разберете какво прави командата tar, изпълнете:
какво е катран
Можете също да намерите информация за множество команди едновременно, като използвате:
какво е ls cp mkdir котешка глава
което срещу където е срещу whatis: Какви са разликите?
Ако търсите пътя на двоичния файл, който се изпълнява при изпълнение на команда в обвивката, използвайте командата which. Като има предвид, че ако търсите изходния код, двоичната и справочната страница за команда, използвайте whereis.
Командата whereis изброява всички двоични изпълними файлове, докато командата which показва само първия изпълним файл, който се изпълнява, когато въведете споменатата команда в обвивката.
Командата which извършва търсене в променливата PATH, докато команда whereis търси стандартни Linux директории, включително $PATH и $MANPATH.
И накрая, командата whatis просто показва едноредово описание на команда.
Намиране на информация за Linux команди
Командите which, whereis и whatis ви помагат да намерите информация за други команди на Linux, като пълния път на изпълними файлове, двоичен файл, източник, страници с ръководство и функционалност на команда.
Заедно с whatis можете да използвате други команди като apropos, man, info и помощ за получаване на подробна информация и по-добро разбиране на командите на Linux и техните функции.