移除文件名中的最后一个组件
命令语法格式
dirname [OPTION] NAME…
命令描述
命令dirname打印最后一个非结尾斜线前的所有组件。最后一个组件两侧的斜线也被删除。如果参数NAME中不包含斜杠,则dirname将打印’.’(表示当前目录)。
NAME不必是文件名,但如果是文件名,该操作将有效地列出包含最终组件的目录,包括最终组件本身就是目录的情况。
说了半天,其实就是打印路径中除了最后一个部分以外的其他部分:
# dirname /usr/bin
/usr
/usr
# dirname /demo/tmp/abc
/demo/tmp
/demo/tmp
如上命令所示。
命令支持的选项及含义
-z, –zero
在每个行的末尾输出零字节(NUL),而不是换行符(LF)。该选项使其他程序能够解析dirname输出的内容,即使输出包含嵌入换行符的数据。
–help
显示帮助信息并退出。
–version
显示版本信息并退出。
使用示例
# dirname /usr/bin/
/usr
# dirname dir1/str dir2/str
dir1
dir2
# dirname stdio.h
.
相关手册
basename(1), readlink(1)
完整在线文档:http://www.gnu.org/software/coreutils/dirname
查看info手册:info ‘(coreutils) dirname invocation’
参考文献
- man 1 dirname, version GNU coreutils 8.26
更新日志
- 06/04/2018 创建文章