Linux 的 basename 命令
Linux 的 basename 命令是一个用于提取路径中文件名或目录名的实用工具。它能够从给定的文件路径中去除目录前缀和后缀扩展名,返回最基础的名称部分。
基本语法
0basename [选项] 路径名 [后缀]
主要功能
提取文件名:
- 示例:
basename /home/user/file.txt 返回 file.txt
去除扩展名:
- 示例:
basename /home/user/file.txt .txt 返回 file
常用选项
实际应用场景
脚本编程:
0# 获取当前脚本名称
1script_name=$(basename"$0")
批量处理文件:
0# 批量去除文件扩展名
1for file in *.log; do
2 name=$(basename"$file" .log)
3echo"Processing $name"
4done
路径处理:
0# 获取目录中的文件名
1find /var/log -type f | whileread path; do
2echo"Found file: $(basename "$path")"
3done
注意事项
与dirname的对比
basename 与 dirname 命令常常配合使用:
示例:
0path="/usr/local/bin/python"
1echo"Directory: $(dirname "$path")"# 输出/usr/local/bin
2echo"Filename: $(basename "$path")"# 输出python

