应用程序和命令之间有什么区别?

时间:2014-08-11 10:20:13

标签: macos command-line path terminal which

应用程序和命令之间有什么区别?例如,关于which命令。两者都是/包含可执行文件。

OSX中的一些可执行文件是'命令'旨在从命令行运行(例如cat,less,python)。其他可执行文件包含在应用程序包中(预览,空闲)。这两者之间是否有任何逻辑差异?

一方面,OS X中的unix which命令似乎这样认为: 当我在OSX终端中使用which命令时,我希望能够找到我的应用程序(例如)Preview.app。 但以下两种情况都不会产生任何结果:
$which Preview
$which Preview.app


$which python
确实会回来 /usr/bin/python

但另一方面,这种排除应用程序和包含命令似乎是随意的。运行Idle(应用)和python的结果几乎相同。

应用程序和命令之间的区别仅仅是传统吗?即/ Applications文件夹传统上没有被放入PATH变量,但没有理由不包含它?

1 个答案:

答案 0 :(得分:1)

which告诉你命令所运行的东西在哪里。如果命令没有正常运行,which无法告诉你 - 例如,当我在命令行中输入Preview时没有任何反应 - 这就是为什么which不返回任何原因为了它。

从Man页面中找到:

  

which实用程序获取命令名列表,并搜索实际调用这些命令时将运行的每个可执行文件的路径。