【busybox记录】【shell指令】realpath

目录

内容来源:

【GUN】【realpath】指令介绍

【busybox】【realpath】指令介绍

【linux】【realpath】指令介绍

使用示例:

常用组合指令:

指令不常用/组合用法还需继续挖掘:


内容来源:

        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

指令不常用/组合用法还需继续挖掘:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻面条EW

感谢您的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值