我最近从 windows 转移到 linux,我看到了一件奇怪的事情:
./configure
Run Code Online (Sandbox Code Playgroud)
或者
nano /something/something2
Run Code Online (Sandbox Code Playgroud)
这是something2一个文件吗?它看起来像一个目录,我不明白如何编辑它?对于./configure. 这是什么意思?
phe*_*mer 10
您的 2 个示例彼此完全无关,因此我将这样处理它们。
这是 shell 表示法,意思是执行configure在当前工作目录中调用的文件。
通常,当您想运行一个程序时,例如/bin/ls,您只需将其称为ls. 您不需要指定路径。这是有效的,因为您的 shell 有一个名为的变量$PATH,其中包含在输入非限定命令时要搜索的位置列表。所以$PATH会包含/bin,当您运行时ls,它会在 中查找/bin并执行它。
现在,当您想要运行不在 中的程序时$PATH,您必须限定该路径。如果您当前在 中/home/johndoe,并且configure在该目录中调用了一个程序/脚本,则可以将其作为/home/johndoe/configure或运行./configure。由于您已经在该目录中,因此./符号较短。
在这种情况下,您只是将参数传递给nano. 没有什么比这更重要的了。
nano是一名编辑。所以你只是/something/something2作为参数传递给nano. 由 nano 决定如何处理该参数。编辑器可能会查看参数并“哦,那是一个文件,让我们打开它”,或者它可能会“哦,那是一个目录,让我们列出内容并让用户选择一个文件”。或者它可能会向您抛出错误:-)
重点是,虽然nano可以智能地确定是什么/something/something2,但这完全取决于 nano。另一个编辑器或程序可能会有完全不同的反应。