从终端运行命令时,如何知道命令的完整路径?


Answers:


5
$ type ctags
ctags is /usr/bin/ctags
$ type -p ctags
/usr/bin/ctags

第二种形式对于做类似的事情非常有用

$ file $(type -p ctags)
$ ls -l $(type -p ctags) 

并经常混淆which


如果您不想依赖bash功能并且更喜欢外部命令,那么就是/usr/bin/whereis出于类似的目的:

whereis实用程序检查指定程序的标准二进制目录,打印出它找到的任何路径。

因为whereis不使用$PATH而是其结果sysctl user.cs_path可能导致不同的结果。


你确定它有别名which吗?另外,你知道whereis吗?这很有意思,因为在我的情况下whereis ctags产生不同的结果which ctags
匿名

嗯,对,默认情况下不设置别名。type是一个内部bash命令,/usr/bin/whereis是一个外部命令。但我希望他们能给出相同的结果。
nohillside

2

输入命令作为参数,例如查找位置 tar

ls -l $(which tar)

在我的情况下返回

lrwxr-xr-x  1 root  wheel  6 Jul 26  2012 /usr/bin/tar -> bsdtar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.