在使用 Centos 或其他 Linux 系统进行日常操作或编写 shell 脚本 时,我们经常会遇到需要从一个完整文件路径中提取目录名的需求。这时候,dirname 命令就派上用场了!本文将手把手教你如何使用 dirname 命令,即使是 Linux 新手也能轻松掌握。
dirname 是 Linux 系统中的一个标准命令行工具,它的作用是从给定的文件或目录路径中提取出其所在的父目录路径。换句话说,它会去掉路径中的最后一个组件(通常是文件名或子目录名),返回其余部分。
使用 dirname 非常简单,其基本语法如下:
dirname [选项] 路径 其中 路径 可以是绝对路径(如 /home/user/file.txt)或相对路径(如 ./docs/readme.md)。
$ dirname /home/alice/documents/report.pdf/home/alice/documents $ dirname ./projects/myapp/src/main.c./projects/myapp/src 如果路径以 / 结尾,dirname 会忽略末尾的斜杠再处理:
$ dirname /var/log/nginx//var/log 在编写自动化脚本时,dirname 非常有用。例如,获取当前脚本所在目录:
#!/bin/bashSCRIPT_DIR=$(dirname "$0")echo "当前脚本位于目录:$SCRIPT_DIR" Q:如果只输入一个文件名(没有路径),dirname 会返回什么?
A:会返回 .,表示当前目录。例如:
$ dirname myfile.txt. Q:dirname 和 basename 有什么区别?
A:basename 用于提取路径中的“文件名”部分,而 dirname 提取的是“目录”部分。两者互补:
$ path="/etc/nginx/nginx.conf"$ dirname "$path"/etc/nginx$ basename "$path"nginx.conf 通过本文,你已经掌握了在 Centos 系统中使用 dirname 命令来提取目录名的核心方法。无论是在日常命令行操作还是在 shell 脚本 开发中,这个命令都能帮你高效处理路径信息。
记住这四个关键点:
现在,你可以自信地在你的 Linux 路径处理 任务中使用 dirname 了!
本文由主机测评网于2025-12-17发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025128910.html