我被告知要运行这个:
./yiic message ./app/messages/config.php
但我不明白./
意思是,有人可以解释一下吗?
注意:相信我,我们无法通过 Google 找到它。我试过:
./ 意思是 ./ ubuntu
和没事一样。:(
答案1
./
或者只是.
当前目录的 unix 简写。
当当前目录不在您的 PATH 中时,您需要指定它。PATH 是运行程序时搜索的文件夹列表。(您可以通过写入 来确定它echo $PATH
。)如果可执行文件不在您的 PATH 中,则要运行它,您需要指定它所在的文件夹。您可以通过提供文件的完整路径来做到这一点,但如果文件在当前目录中,您可以使用./
简写。
类似地,../
或者只是..
当前目录上一级目录的简写。
答案2
命令行中的每个目录都有两个称为.
和的“特殊目录” ..
。它们分别是当前目录和包含当前目录的目录的简写。
例如,cd ./more/directory/names
只是表示“从当前目录开始并继续沿着该路径前进。” 同样,该命令的cd ..
意思是“更改一个目录”。
如果你想要当前目录的名称,可以使用该pwd
命令。此外,如果你使用 标志-a
,ls
你可以看到这两个特殊目录。也就是说,将输出以和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
您告诉系统在当前目录中查找该可执行文件。