readlink和realpath命令
linux命令readlink和realpath都是解析软链接,获得绝对路径的命令。
realpath会递归地解析直到不是软链接。
readlink默认只解析一层,使用-f选项则递归地解析,与realpath相同。
realpath --help
:
1 | 用法:realpath [选项]... 文件... |
readlink --help
:
1 | 用法:readlink [选项]... 文件... |
可以看出两者选项相近,功能基本重合。
对于除最后一个外所有组件必须存在的解释:
这句话的意思是指向的文件可以不存在,但其上级目录必须存在。用一个例子说明:
假设有目录如下:
1 | /home/user/ |
realpath existing_directory/existing_file.txt
,命令会成功并输出 /home/user/existing_directory/existing_file.txt
,因为路径中的所有部分都存在。realpath non_existing_directory/new_file.txt
,命令会失败并报错,因为 non_existing_directory
这个目录不存在。realpath existing_directory/new_file.txt
,命令会成功并输出 /home/user/existing_directory/new_file.txt
,尽管 new_file.txt 这个文件不存在,但 existing_directory 目录是存在的。 这就是’除最后一个外所有组件必须存在’的情况。
- Title: readlink和realpath命令
- Author: Endless_daydream
- Created at : 2024-05-20 17:22:58
- Updated at : 2024-05-20 17:27:36
- Link: https://endless_daydream.gitee.io/2024/05/20/linux/readlink-and-realpath/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments