为什么Cygwin的路径名对于可执行文件似乎不正确?

时间:2011-08-24 07:31:00

标签: cygwin

我使用当前版本的Cygwin,1.7.9-1。

当我输入“$ which python”时,Cygwin输出“/ usr / bin / python”。

要确认root是我的Windows 7文件系统中的cygwin文件夹,我是“cd /”,然后是“ls”。显示的结果显示root确实是cygwin文件夹。

但是python可执行文件实际上在目录/ bin中。在/ usr / bin / python中没有任何名为“python”的可执行文件。

为什么Cygwin错误/ bin为/ usr / bin?感谢。

更新:我认为我的问题已得到解决。作为cygwin.com的参考,我发现了这个: “/ usr / bin和/ usr / lib默认情况下也是由Cygwin DLL生成的自动挂载点,与根目录的计算方式类似./ usr / bin指向安装Cygwin DLL的目录,/ usr / lib应该指向/ lib目录。这个选择是安全的,通常不应该改变。“ http://www.cygwin.com/cygwin-ug-net/using.html

更新:这是另一个很好的描述: “问:为什么C:\ cygwin \ usr \ bin从windows中看不见?答:因为它不存在。在cygwin中,/ usr / bin只是到/ bin的链接。例如,如果你”知道“文件在/ usr / bin和/ bin中,你会看到相同的文件。“ http://cs.nyu.edu/~yap/prog/cygwin/FAQs.html#usrbin

2 个答案:

答案 0 :(得分:3)

  1. which输出可执行文件的路径,该命令可以在命令运行时执行(即可在PATH上执行)。
  2. 默认情况下,/usr/bin只放置PATH/bin是基本命令集。有关详细信息,请参阅this question
  3. /bin(或更确切地说是C:\path\to\cygwin\bin)已安装在/usr/bin上。

答案 1 :(得分:2)

嗯,您的Cygwin设置必须与我的不同。

在我的系统上,/ usr / bin和/ bin实际上是同一个目录; df表示C:/cygwin/bin实际上已安装为/usr/bin。当然,/bin/python.exe/usr/bin/python.exe存在并且是同一个文件(也可以称为/bin/python/usr/bin/python)。

您的Cygwin是如何更新的?您确定没有/usr/bin/python/usr/bin/python.exe吗?