什么是完整路径名称?
我想了解完整路径名的真正含义。 我的主目录中有一个名为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
文件时 ,我们应该推断这是一个相对路径。
相对路径是相对于用户或应用程序的工作目录的路径,因此不必给出完整的绝对路径。