Answers:
如果它在您的路径中,则可以运行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是一个内置shell告诉我别名等信息,并且which是一个外部程序向我展示可执行文件的路径……尽管如果有一个内置程序进入该可执行文件不会被调用的方式。
which是它不了解shell的内置函数和功能(当您想知道该命令将执行什么操作时,这是很重要的),并且$PATH在某些系统上使用了不同的内容。
该POSIX标准要做到这一点的方式是command -v git。所有类似UNIX的系统都应支持此功能。
whereis git 您将获得命令的路径。
只是如果git在您的PATH变量中,如果您不是通过软件包管理器安装的,则它会更加复杂,您应该使用findor locate命令。
which也鼓励。
这里的其他答案似乎对Linux的现代版本在很大程度上面向,所以如果你使用git的是没有一个操作系统上locate,whereis,which,或apropos(如Solaris,HPUX等),那么总有老的待机find。
find / -name git
上述系统的一个较旧版本,您可能需要-print提供一个选项find。
find / -name git -print
如果确实使用locate,请确保updatedb定期运行。(locate.updatedb在某些BSD衍生产品上)
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。另外,重申一下,此答案只能由无法访问typeor which 或or的人使用 locate,即几乎没有人。@Arcege的答案是正确的。
要获取安装程序的路径,请使用whereis或which。如果您碰巧忘记了它的名称,则可以使用apropos实用程序的同义词或描述,例如apropos "version control"will find git。当然,紧随其后的是whatis用于简要概述程序功能的命令。但是,这并不适用于系统上的所有程序和功能。例如尝试whatis "the meaning of life, universe and everything"。
which确实是“ 命令” :)