在使用 Ubuntu 或其他 Linux 系统时,我们经常需要从一个完整的文件路径中提取出它所在的目录路径。比如,你有一个文件路径 /home/user/documents/report.txt,而你只想知道这个文件位于哪个目录下(即 /home/user/documents)。这时候,dirname 命令就派上用场了!
dirname 是 Linux 和 Unix 系统中的一个标准命令行工具,用于从给定的文件路径中提取目录部分,并忽略最后的文件名或子目录名。
使用方式非常简单:
dirname [选项] 路径 假设我们有以下路径:/var/log/nginx/access.log,我们想获取它的目录路径。
$ dirname /var/log/nginx/access.log/var/log/nginx
可以看到,dirname 成功去掉了最后的文件名 access.log,只返回了目录路径。
你也可以一次传入多个路径:
$ dirname /home/user/file1.txt /opt/app/config.ini/home/user/opt/app
在编写自动化脚本时,dirname 非常有用。例如,你想让脚本知道它自己存放在哪个目录:
#!/bin/bashSCRIPT_DIR=$(dirname "$0")echo "当前脚本所在目录:$SCRIPT_DIR"
这里 $0 表示当前脚本的路径,dirname "$0" 就能准确获取其所在目录。这是 Linux shell 脚本开发中的常见技巧。
/home/user/),dirname 会将其视为目录,并继续向上提取:dirname /home/user/ 的结果是 /home。/,dirname / 的结果仍然是 /。dirname 是一个轻量但极其实用的命令,特别适合在 Ubuntu 提取目录路径、Linux 路径操作 或编写 shell 脚本获取目录名 时使用。掌握它,能让你在终端和脚本中更高效地处理文件路径。
无论你是刚接触 Linux 的小白,还是有一定经验的开发者,理解并熟练使用 dirname 命令都会对你的日常工作大有帮助。快打开终端试试吧!
本文由主机测评网于2025-12-02发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025122013.html