在给定路径之前./的含义是什么?
我被告知要运行这个:
./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”? 我怎么能有个人脚本?