当前位置: 首页>>技术教程>>正文


什么是完整路径名?

,

问题描述

我想了解完整路径名的真正含义。我的主目录中有一个名为 my_script.txt 的文件。我假设完整路径名是 ./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,例如文档位于 /home/USERNAME/Documents

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

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

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

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

  • 用户当前位于 /home/USERNAME/,并希望对位于 /home/USERNAME/Documents 的名为 foo.txt 的文件使用 cat 命令:

cat Documents/foo.txt

  • 用户位于 ~/Documents 内部,想要运行位于 ~/Scripts/Foo 处名为 foo.sh 的脚本:\n sh ../Scripts/Foo/foo.sh \nor\n sh ~/Scripts/Foo/foo.sh

无论如何,这只是一个摘要。

更多信息

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13949.html,未经允许,请勿转载。