给定路径之前的 ./ 是什么意思?

给定路径之前的 ./ 是什么意思?

我被告知要运行这个:

./yiic message ./app/messages/config.php

但我不明白./意思是,有人可以解释一下吗?

注意:相信我,我们无法通过 Google 找到它。我试过:

./ 意思是 ./ ubuntu

和没事一样。:(

答案1

./或者只是.当前目录的 unix 简写。

当当前目录不在您的 PATH 中时,您需要指定它。PATH 是运行程序时搜索的文件夹列表。(您可以通过写入 来确定它echo $PATH。)如果可执行文件不在您的 PATH 中,则要运行它,您需要指定它所在的文件夹。您可以通过提供文件的完整路径来做到这一点,但如果文件在当前目录中,您可以使用./简写。

类似地,../或者只是..当前目录上一级目录的简写。

答案2

命令行中的每个目录都有两个称为.和的“特殊目录” ..。它们分别是当前目录和包含当前目录的目录的简写。

例如,cd ./more/directory/names只是表示“从当前目录开始并继续沿着该路径前进。” 同样,该命令的cd ..意思是“更改一个目录”。

如果你想要当前目录的名称,可以使用该pwd命令。此外,如果你使用 标志-als你可以看到这两个特殊目录。也就是说,将输出以和ls -a开头的列表。...

答案3

其他人已经解释了.和的..含义(分别是当前目录和父目录)。这适用于所有路径名。

当你打开终端时,通常从主目录开始:(~扩展为/home/username)。以下路径都是等效的,前提是你当前的工作目录是/home/username

  • /home/username
  • .
  • ../username
  • ../../home/username
  • ../../../home/username(的父目录/仍为/
  • ./././././.(当前目录中的当前目录...)
  • ./(目录允许使用尾部斜杠)
  • /home////username///(多个斜线也是如此)

不是./program与混淆. program./program在当前目录中运行一个设置了执行位的文件。. ./program是 bash 的东西,也可以写成source ./program从当前目录中的文件读取 bash 命令program并在当前 shell 中执行它们。

如果您想知道为什么可以直接运行gedit/usr/bin/gedit不是program./program/home/username/program参阅相关问题:

答案4

意思是从 开始current directory path

假设您有path如下内容:

/usr/ /usr/bin/ /usr/local/bin

里面/usr/bin/有一个名为的可执行文件yiic

如果你发出它,yiic它将启动其中的一个/usr/bin/

通过发出命令,./yiic您告诉系统在当前目录中查找该可执行文件。

相关内容