文件和目录管理命令 dirname
dirname 和 basename 是一对好搭档。basename 用来取文件名,而 dirname 用来取路径部分。 它会返回指定路径中去掉最后一级文件名(或目录名)后剩下的路径。
1. 基本语法
dirname [路径]
- 路径:文件或目录的完整路径。
2. 最简单用法:提取路径
dirname /home/user/docs/file.txt
输出:
/home/user/docs
它直接去掉了最后的 file.txt
,只保留路径部分。
3. 处理目录路径
即使给的是一个目录路径,dirname
也会去掉最后一级目录:
dirname /home/user/docs/
输出:
/home/user
注意:最后的 /
会被自动忽略,所以结果是上一级目录。
4. 与变量结合使用
可以配合 Shell 变量使用:
file_path="/home/user/docs/file.txt"
dirname "$file_path"
输出:
/home/user/docs
5. 配合 basename 使用
dirname
和 basename
经常搭配使用来分离路径和文件名:
path="/home/user/docs/file.txt"
dir=$(dirname "$path")
file=$(basename "$path")
echo "路径: $dir"
echo "文件名: $file"
输出:
路径: /home/user/docs
文件名: file.txt