什么时候我应该键入./来运行程序,什么时候不应该?

时间:2015-07-01 05:14:04

标签: linux

我是Linux的初学者。我很困惑,有人能告诉我什么时候我们应该用./来启动命令行来运行一个程序而我们什么时候不运行? 我看到他们没有在教程中使用它,但是bash不会识别它的程序。

非常感谢,

Sadegh

3 个答案:

答案 0 :(得分:3)

''指的是当前目录。同样'..'指的是父母导演。

请考虑以下示例:

./foo

将尝试在当前目录中执行名为foo的程序。

../foo 

将尝试在父目录中执行程序。这和./foo被称为“相对路径”,因为它们相对于您当前的位置。

foo

将在您当前的PATH中搜索该程序,该程序是shell搜索以查找可执行文件的目录序列。您可以通过输入'echo $ PATH'来查看PATH的值。

最后,你可以给出一个'绝对路径',例如:

/home/bar/foo

将使用从root('/')开始的整个路径。

答案 1 :(得分:1)

app指定了/usr/bin/app的路径。与{{1}}相同的是指定路径。

除非包含应用程序的目录位于PATH上,否则您需要指定路径。

答案 2 :(得分:1)

当你输入一个命令时,linux会找到执行它的可执行文件。 问题是它应该在哪里搜索? bash中有一个变量叫做$ PATH。让我们回应它以查看它的内容:

./program_name

所以操作系统会查看这些路径

那么,如果您的可执行文件不在$ PATH变量中会发生什么? (例如你的脚本) 在这种情况下,你应该告诉它你的可执行文件在哪里! 如果它在当前目录中运行:

{{1}}