「dirname(1)」-

  LINUX MANUAL PAGES

移除文件名中的最后一个组件

命令语法格式

dirname [OPTION] NAME…

命令描述

命令dirname打印最后一个非结尾斜线前的所有组件。最后一个组件两侧的斜线也被删除。如果参数NAME中不包含斜杠,则dirname将打印’.’(表示当前目录)。

NAME不必是文件名,但如果是文件名,该操作将有效地列出包含最终组件的目录,包括最终组件本身就是目录的情况。

说了半天,其实就是打印路径中除了最后一个部分以外的其他部分:

# dirname /usr/bin


/usr

# dirname /demo/tmp/abc

/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 创建文章