Answers:
./或只是.当前目录的unix简写。
当前目录不在PATH中时,需要指定它。PATH是运行程序时搜索的文件夹列表。(您可以通过编写来确定它echo $PATH。)如果可执行文件不在PATH中,则要运行该文件,您需要指定其所在的文件夹。您可以通过提供文件的完整路径来执行此操作,但是如果文件位于当前目录,可以./用作速记。
同样,../或者只是..当前目录上方的目录的简写。
.。这是因为自动使用当前目录是一个安全漏洞。想象其他人制作了一个程序,将其命名为ls您cd,然后将其命名为目录,然后键入ls
命令行中的每个目录都有两个名为.和的“特殊目录” ..。它们分别是当前目录和包含当前目录的目录的简写。
因此,例如,cd ./more/directory/names仅表示“从当前目录开始并在路径中继续”。同样,该命令的cd ..意思是“更改一个目录。
如果需要当前目录的名称,则可以使用pwd命令。另外,如果将-a标志用于ls,则可以看到这两个特殊目录。也就是说,ls -a将输出以.和开头的列表..。
其他人已经解释了含义.和..含义(分别是当前目录和父目录)。这适用于所有路径名。
打开终端时,通常从主目录开始:(~扩展为/home/username)。只要您当前的工作目录为,以下路径都是等效的/home/username:
/home/username.../username../../home/username../../../home/username(的父目录/仍为/)./././././. (当前目录在...中的当前目录中)./ (目录中允许使用斜线)/home////username/// (多个斜杠也是如此)千万不能混淆./program使用. program。./program在设置了执行位的情况下运行当前目录中的文件。. ./program是bash东西,可以替代地编写为source ./program从program当前目录中的文件读取bash命令并在当前shell中执行它们的程序。
如果你想知道为什么你可以运行gedit,而不是/usr/bin/gedit而不是program代替./program或/home/username/program请参阅相关的问题:
这意味着从开始current directory path。
让我们假设你有一个path这样的:
/usr/ /usr/bin/ /usr/local/bin
里面/usr/bin/有一个名为的可执行文件yiic。
如果您发出yiic,它将以中的一个开始/usr/bin/。
通过发出命令,./yiic您告诉系统在此可执行文件的当前目录中查找。
/home/mysuser/并使用导航到那里cd /home/myuser。进入内部后,我认为只执行yiic即可,因为我在该目录上调用过该命令,它应该可以工作。但是他说命令不归档。如果我也这样做,并且使用了./,那么它将正常运行...您能否再说明一点?
.是文件夹中的特殊文件ls -la,在目录中执行a时您可以看到该文件;)