在给定路径之前./的含义是什么?

我被告知要运行这个:

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

但我不明白./意思,任何人都可以澄清。

注意:相信我,我们不能google那个。 我试过了:

./含义./ ubuntu

这一切都没有。 🙁

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

当前目录不在PATH中时,需要指定它。 PATH是运行程序时搜索的文件夹列表。 (您可以通过编写echo $PATH来确定它。)如果echo $PATH中没有可执行文件,则需要指定它所在的文件夹。您可以通过提供文件的完整路径来完成此操作,但是如果文件在当前目录中,您可以使用./作为速记。

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

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

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

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

这意味着从current directory path

我们假设您有这样的path

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

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

如果您发出yiic ,它将启动/usr/bin/那个。

通过./yiic您可以告诉系统查看当前目录中的可执行文件。

其他人已经解释了什么...意味着(分别是当前目录和父目录)。 这适用于所有路径名。

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

  • /home/username
  • .
  • ../username
  • ../../home/username
  • ../../../home/username / ../../../home/username ( /的父目录仍为/
  • ./././././. (当前目录中的当前目录…)
  • ./ (目录允许使用尾部斜杠)
  • /home////username/// (以及多个斜杠)

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

如果你想知道为什么你可以只运行gedit而不是/usr/bin/gedit而不是program而不是./program/home/username/program ,请参阅相关问题:

  • 什么是“$ PATH”和“〜/ bin”? 我怎么能有个人脚本?