Skip to main content

Linux 核心命令

文件和目录管理命令 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 使用

dirnamebasename 经常搭配使用来分离路径和文件名:

path="/home/user/docs/file.txt"
dir=$(dirname "$path")
file=$(basename "$path")
echo "路径: $dir"
echo "文件名: $file"

输出:

路径: /home/user/docs
文件名: file.txt