Skip to main content

Linux 核心命令

文件和目录管理命令 basename

basename 是 Linux 中一个非常简单实用的小工具,用来去掉路径,只保留文件名部分。它还可以顺便去掉文件名的后缀,非常方便。

1. 基本语法

basename [路径] [后缀]
  • 路径:文件或目录的完整路径。
  • 后缀:可选参数,用来去掉文件名的指定后缀(一般是扩展名)。

2. 最简单用法:去掉路径

basename /home/user/docs/file.txt

输出:

file.txt

这里它直接去掉了 /home/user/docs/,只保留 file.txt

3. 去掉路径并去掉后缀

basename /home/user/docs/file.txt .txt

输出:

file

后面的 .txt 表示要去掉文件名里的这个后缀。

4. 处理目录路径

如果给的是一个目录路径,basename 会直接返回最后一级目录名。

basename /home/user/docs/

输出:

docs

即使路径最后有 /,它也会自动忽略。

5. 与变量结合使用

经常配合 Shell 变量来提取文件名部分:

file_path="/home/user/docs/file.txt"
basename "$file_path"

输出:

file.txt

去掉后缀:

basename "$file_path" .txt

输出:

file

6. 配合 dirname 使用

basename 只取文件名,dirname 只取路径,两者配合用可以方便拆分完整路径:

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

输出:

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