什么是完整路径名称?

我想了解完整路径名的真正含义。 我的主目录中有一个名为my_script的文件。 我假设完整路径名是./my_script,这意味着它在根文件夹中,但我不确定。 有人可以请你开导我吗?

不,你的假设是错的。 主目录中my_script文件的完整路径名是: /home/your_user_name/my_script 。 在终端中键入./my_script ,实际上会尝试执行脚本(如果是可执行的),只有当前工作目录为/home/your_user_name/时才会执行。 要执行脚本,您还可以使用完整的文件路径,正如我所说的/home/your_user_name/my_script

据信UNIX路径名称看起来和感觉像Internet地址,因此导致兼容性。 可以使用以下命令在终端中找到当前工作目录的完整路径名:

 pwd 

要查找用户主目录的完整路径,您可以使用:

 echo ~ echo $HOME echo /home/$USER 

以上三个命令是等效的。

要查找文件的完整路径名,可以使用readlink命令。 例如,在您的情况下:

 cd ~ readlink -f my_script 

完整路径名实际上是指文件系统/目录中该文件或文件夹的完整路径。

例如,脚本的完整路径是:

 /home/your_username/my_script 

或者, grep可执行文件的完整路径名是

 /bin/grep 

至于./my_script ,符号. 代表当前目录,所以你实际上说“在当前目录下查找名为my_script的文件或文件夹”

为了理解完整路径,您必须首先了解起点。

根目录/它是基于* nix的操作系统的起点。 它包含系统和用户的所有其他目录。

用户的主目录/home/USERNAME/~/简称,包含用户的文件和目录。 例如,图片,音乐,文档等。这些目录中的每一个都被引用为/home/USERNAME/DIRECTORY ,例如Documents位于/home/USERNAME/Documents

与目录一样,文件以相同的方式引用,例如,可以使用完整路径/home/sosytee/my_script~/my_script来引用位于用户sosytee主目录的名为my_script的文件。

可以使用系统中任何位置的完整路径来引用/访问文件和目录。 此外,如果它们位于同一目录中,则只能使用其名称访问它们。 例如,如果用户在~/使用终端时,他可以使用my_script访问my_script文件。

此外,如果将目录和文件放在他的PATH变量中,则只能使用其名称来访问目录和文件。 您可以使用echo $PATH查看PATH中存储的内容。

有关如何使用命令行访问文件的简单示例:

  • 用户当前位于/home/USERNAME/并且希望在位于/home/USERNAME/Documents foo.txt的文件上使用cat命令:

cat Documents/foo.txt

  • 用户在~/Documents里面,想要运行一个名为foo.sh的脚本,位于ad ~/Scripts/Foo

    sh ../Scripts/Foo/foo.sh

    要么

    sh ~/Scripts/Foo/foo.sh

无论如何,这只是一个总结。

更多的信息

  • 由Machtelt Garrels创作的Bash初学者指南

  • 更多关于PATH的信息

  • 关于Unix目录结构

完整路径名是根目录(即/ )的路径。 ./my_script是相对路径名,因为路径是相对于当前目录给出的,表示为. 。 因此,如果您在主目录中,则完整路径为s.th. 喜欢/home/sosytee/my_script 。 对于你的主目录,有“捷径” ~ ,这意味着你也可以写~/my_script 。 但这当然会为每个用户解决不同的路径。

要查看当前目录的完整路径,请调用pwd

我假设完整路径名是./my_script

不它不是。 那条路是相对的。 开头的点表示当前目录:

 $ ls ./my_script my_script $ cd .. $ ls ./my_script ls: cannot access ./my_script: No such file or directory 

如您所见,我更改了目录并且找不到my_script ,这意味着./my_script不是绝对路径。

我假设完整路径名是./my_script,这意味着它在根文件夹中,但我不确定。

来自维基百科 :

[…]完整路径或绝对路径是指向一个文件系统上相同位置的路径,与工作目录或组合路径无关。

由于./my_script没有填写条件, 每当我能找到my_script文件时 ,我们应该推断这是一个相对路径。

相对路径是相对于用户或应用程序的工作目录的路径,因此不必给出完整的绝对路径。