首页/系统/Linux 运维命令速查/dirname 取路径中的目录部分
本包目录(613 条)
文件与目录76 条
文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

dirname 取路径中的目录部分

从完整路径中取目录段,与 basename 相反;脚本里切换到自己所在目录的经典组合。

Linux 运维命令速查系统更新于 2026-10-12
用途提取路径的目录部分
语法dirname 路径
所属GNU coreutils

常用示例

常用示例
dirname /etc/nginx/nginx.conf    # /etc/nginx
cd "$(dirname "$0")"               # 切到脚本自身所在目录
dirname justfile                 # .(无目录段时输出点)

易错点

  • 对纯文件名执行 dirname 输出 .,脚本里直接 cd 到 . 看似无操作但会依赖调用位置
  • $0 在软链接调用时是链接路径,先 readlink -f 解析再 dirname 更稳妥

数据来源与参考

  • man 1 dirname(GNU coreutils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌