目录
内容来源:
GUN : Coreutils - GNU core utilities
busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客
【GUN】【realpath】指令介绍
realpath:打印解析后的文件名。
realpath 展开所有符号链接,并将引用解析为‘/./’, ‘/../’ 和额外的‘/’字符。默认情况下,指定文件中除最后一个组件外的所有组件都必须存在。
简介:
realpath [option]... file...
文件名规范化功能与readlink命令的功能重叠。这是规范化的首选命令,因为它是一个更合适和标准的名称。此外,该命令还支持相对文件名处理功能。
程序接受以下选项。请参见第2章[常用选项],第2页。
‘-e’
‘--canonicalize-existing’
确保指定文件名的所有组件都存在。如果任何组件丢失或不可用,realpath将输出诊断信息,除非指定了-q选项,并使用非零退出代码退出。
尾斜杠要求将名称解析为目录。
‘-m’
‘--canonicalize-missing’
如果指定文件名的任何组件缺失或不可用,则将其视为目录。
‘-L’
‘--logical’
符号链接在指定的文件名中解析,但它们在任何后续的 ‘..’ 的分量是p
‘-P’
‘--physical’
符号链接在指定的文件名中解析,并且在任何后续的 ‘..’ 之前解析。组件被处理。这是默认的操作模式。
‘-q’
‘--quiet’
禁止指定文件名的诊断消息。
‘--relative-to=dir’
打印相对于指定目录的解析文件名。该选项遵循与文件存在相关的-m和-e选项。
‘--relative-base=dir’
如果文件是dir的后代,则将解析后的文件名打印为相对文件名。否则,将解析后的文件名打印为绝对文件名。
该选项遵循与文件存在相关的-m和-e选项。有关组合 --relative-to和 --relative-base的详细信息,请参见第180页18.5.1节[Realpath使用示例]。
‘-s’
‘--strip’
‘--no-symlinks’
不要解析符号链接。只解析对' / '的引用。‘/./’, ‘/../’和删除额外的 ‘/’ 字符。当与-m选项结合使用时,realpath仅对文件名进行操作,而不触及任何实际文件。
‘-z’
‘--zero’
在每行的末尾输出一个零字节(ASCII NUL),而不是换行符。此选项允许其他程序解析输出,即使该输出包含嵌入换行符的数据。
退出状态:
0 如果所有文件名都没有问题地打印。
1 否则1。
realpath使用示例
默认情况下,realpath打印给定文件的绝对文件名(符号链接被解析,单词被解析为美语):
cd /home/user
realpath /usr/bin/sort /tmp/foo /usr/share/dict/words 1.txt
⇒ /usr/bin/sort
⇒ /tmp/foo
⇒ /usr/share/dict/american-english
⇒ /home/user/1.txt
使用 --relative-to,相对于给定目录打印文件名:
realpath --relative-to=/usr/bin \
/usr/bin/sort /tmp/foo /usr/share/dict/words 1.txt
⇒ sort
⇒ ../../tmp/foo
⇒ ../share/dict/american-english
⇒ ../../home/user/1.txt
使用 --relative-base,如果解析的文件名低于给定的基目录,则打印相对文件名。对于基本目录之外的文件,打印绝对文件名:
realpath --relative-base=/usr \
/usr/bin/sort /tmp/foo /usr/share/dict/words 1.txt
⇒ bin/sort
⇒ /tmp/foo
⇒ share/dict/american-english
⇒ /home/user/1.txt
当同时使用 --relative-to=DIR1和 --relative-base=DIR2时,如果文件名位于DIR2以下,则相对于DIR1打印文件名。如果文件不低于dir2,它们将被打印为绝对文件名:
realpath --relative-to=/usr/bin --relative-base=/usr \
/usr/bin/sort /tmp/foo /usr/share/dict/words 1.txt
⇒ sort
⇒ /tmp/foo
⇒ ../share/dict/american-english
⇒ /home/user/1.txt
当同时使用 --relative-to=DIR1和 --relative-base=DIR2时,DIR1必须是DIR2的子目录。否则,realpath打印绝对文件名。
【busybox】【realpath】指令介绍
NA
【linux】【realpath】指令介绍
[root@localhost bin]# realpath --help
用法:realpath [选项]... 文件...
Print the resolved absolute file name;
all but the last component must exist
-e, --canonicalize-existing all components of the path must exist
-m, --canonicalize-missing no path components need exist or be a directory
-L, --logical resolve '..' components before symlinks
-P, --physical resolve symlinks as encountered (default)
-q, --quiet suppress most error messages
--relative-to=DIR print the resolved path relative to DIR
--relative-base=DIR print absolute paths unless paths below DIR
-s, --strip, --no-symlinks don't expand symlinks
-z, --zero end each output line with NUL, not newline
--help 显示此帮助信息并退出
--version 显示版本信息并退出
GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 realpath 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/realpath>
或者在本地使用:info '(coreutils) realpath invocation'
使用示例:
NA
常用组合指令:
NA