Например, я git
установил в моей системе. Но я не помню, где я его установил, так какая команда подходит, чтобы это выяснить?
Например, я git
установил в моей системе. Но я не помню, где я его установил, так какая команда подходит, чтобы это выяснить?
Ответы:
Если это на вашем пути, то вы можете запустить либо type git
или which git
. У which
команды возникли проблемы с получением правильного пути (путаница между окружением и точечными файлами). Ведь type
вы можете получить только путь с -p
аргументом.
Если он не находится на вашем пути, то лучше всего поискать его. locate -b git
Он найдет что-нибудь с именем 'git'. Это будет длинный список, так что, возможно, было бы неплохо его квалифицировать locate -b git | fgrep -w bin
.
locate
бесконечно (это очень быстро), но для тех, кто не знает об этом, locate
он настолько же актуален, как и его самое последнее обновление базы данных, которое автоматически запускается ежедневно на моей Ubuntu. Обновления команда sudo updatedb
... Также locate
имеет встроенные возможности регулярных выражений, так что команды , как это работает: locate -br "^git$"
... -b` означает ограничить поиск , чтобы только базовое имя ... или без -b
, она ищет полный путь .. Также , он ищет только те пути, которые вы настроили для поиска. В командной строке это не контролируется, кроме ваших фильтров регулярных выражений.
type
встроенная оболочка, которая сообщает мне псевдонимы и тому подобное, и which
внешняя программа, которая показывает мне путь к исполняемому файлу ... хотя, если есть встроенная функция, которая попадает в так, что исполняемый файл не будет вызван.
which
, что он не знает о встроенных функциях и функциях оболочки (что важно, когда вам интересно, что будет делать ввод команды), и в $PATH
некоторых системах он использует другое .
Стандарт POSIX способ сделать это command -v git
. Все UNIX-подобные системы должны поддерживать это.
whereis git
и вы получите путь к команде.
это просто, если git находится в переменной PATH, если вы установили ее не через менеджер пакетов, она более сложна, и вам следует использовать команды find
or locate
.
which
также рекомендуется.
Другие ответы здесь , кажется, в значительной степени ориентирована на современных версиях Linux, так что если вы решили использовать git
в ОС , которая не имеет locate
, whereis
, which
или apropos
(как Solaris, HP - UX, и т.д.), то всегда есть старый резерв find
.
find / -name git
Для некоторых более старых версий систем, перечисленных выше, вам может потребоваться дополнительная -print
опция find
.
find / -name git -print
И если вы используете locate
, убедитесь, что вы запускаете updatedb
периодически. ( locate.updatedb
на некоторых производных BSD)
type
; это надежно и портативно (кроме 30-летних систем).
type
. :) Это определенно происходит в репертуаре!
find
поиск файловой системы в первую очередь начинается с того места, где вы ее кореньете. Так find / -name git
пройдёт вся ваша система. Если вы знаете, что программа находится на вашем пути, вы обычно можете это сделать IFS=":"; path=$PATH; set $path; for dir in $path; do find $dir -name git; done
, хотя файловые системы Unix достаточно разрешительны, и это может привести к поломке различными способами, если в вашем распоряжении есть странные символы PATH
.
PATH
, правильная вещь (с теми же предостережениями, что и раньше) IFS=":"; for dir in $PATH; do find "$dir" -name git; done
. Кроме того, повторюсь, этот ответ должен использоваться только людьми, которые не имеют доступа к type
или, which
или locate
, почти, никому. @ Arcege ответ правильный.
Чтобы получить путь к установленной программе, вы либо используете, whereis
либо which
. Если вы случайно забыли его имя, вы можете использовать apropos
синоним или описание вашей утилиты, например apropos "version control"
, найдете git
. После этого, конечно, whatis
команда кратко суммировать функции программы. Это, однако, не распространяется на все программы и функции в вашей системе. Попробуйте, например whatis "the meaning of life, universe and everything"
.
which
действительно " команда" :)