realpath 命令
realpath
是一个常用的Unix和类Unix操作系统的命令行工具,用于将给定的路径名转换为其绝对路径形式,它能够解析出符号链接(symbolic links)、软链接(symlinks)或者相对路径,并输出一个绝对的、不含有任何链接的文件系统路径,该命令在处理文件路径时非常有用,尤其是在需要确保脚本中使用绝对路径的情况下。
基本语法
realpath [选项] [路径...]
常用选项
s
,strip
: 删除空目录部分。
e
,relativeto=<目录>
: 生成相对于指定目录的相对路径。
m
,missing
: 在路径不存在时不报错。
q
,quiet
: 静默模式,不输出任何信息。
n
,nosymlinks
: 不展开软链接。
使用示例
1、基本用法:
“`bash
realpath /usr/local/bin
“`
输出:/usr/local/bin
(假设这是一个绝对路径)
2、解析软链接:
如果/usr/local/bin
是一个到/opt/bin
的软链接,则:
“`bash
realpath /usr/local/bin
“`
输出:/opt/bin
3、生成相对路径:
“`bash
realpath e ./somedir
“`
假设当前工作目录为/home/user
,则输出:./somedir
4、忽略软链接:
如果不想解析软链接,可以使用n
选项:
“`bash
realpath n /usr/local/bin
“`
即使/usr/local/bin
是软链接,输出也会保持原样。
5、静默模式:
当使用q
选项时,即使路径不存在也不会输出错误信息:
“`bash
realpath q nonexistent_path
“`
此命令不会有任何输出。
6、删除空目录:
“`bash
realpath s /usr/local//bin
“`
输出:/usr/local/bin
,多余的斜杠被去除。
相关FAQs
Q1: 如果输入的路径不存在,realpath
会如何处理?
A1: 默认情况下,如果输入的路径不存在,realpath
会返回一个错误消息,并且不会输出任何结果,如果使用了m
或missing
选项,realpath
将会静默地返回,不显示错误信息。
Q2:realpath
是否总是输出绝对路径?
A2: 是的,realpath
的主要功能就是将输入的路径转换成绝对路径,无论输入的是相对路径还是包含软链接的路径,realpath
都会尝试将其转换为实际的绝对路径,如果使用了e
或relativeto
选项,并指定了一个目录,那么输出将是相对于该目录的相对路径。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/899278.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复