Linux 的basename命令是一个常用的文件路径处理工具主要用于从文件路径中提取文件名部分。该命令会去除路径中的目录部分只返回最后的文件名。基本语法basename [选项] 路径名 [后缀]常用选项-a支持同时处理多个路径-s指定要删除的后缀当需要去除文件扩展名时特别有用-z使用 NUL 字符\0作为分隔符而非换行符使用示例基本用法提取完整文件名$ basename /home/user/docs/report.txt report.txt去除后缀删除指定的文件扩展名$ basename /home/user/docs/report.txt .txt report处理多个文件使用-a选项$ basename -a /path/to/file1.txt /another/path/file2.log file1.txt file2.log批量处理结合 find 命令使用$ find /var/log -name *.log -exec basename {} \;应用场景在 shell 脚本中处理文件路径批量重命名文件时提取基础文件名日志分析时获取日志文件名构建自动化流程时处理文件路径注意事项如果路径以斜杠/结尾basename会返回空字符串在脚本中使用时建议将路径用引号括起来以避免空格带来的问题该命令是 GNU coreutils 的一部分在所有 Linux 发行版中通常都预装了与 dirname 命令的关系basename通常与dirname命令配合使用后者用于提取路径中的目录部分。例如$dirname/home/user/docs/report.txt /home/user/docs $basename/home/user/docs/report.txt report.txt
Linux 的 basename 命令
Linux 的basename命令是一个常用的文件路径处理工具主要用于从文件路径中提取文件名部分。该命令会去除路径中的目录部分只返回最后的文件名。基本语法basename [选项] 路径名 [后缀]常用选项-a支持同时处理多个路径-s指定要删除的后缀当需要去除文件扩展名时特别有用-z使用 NUL 字符\0作为分隔符而非换行符使用示例基本用法提取完整文件名$ basename /home/user/docs/report.txt report.txt去除后缀删除指定的文件扩展名$ basename /home/user/docs/report.txt .txt report处理多个文件使用-a选项$ basename -a /path/to/file1.txt /another/path/file2.log file1.txt file2.log批量处理结合 find 命令使用$ find /var/log -name *.log -exec basename {} \;应用场景在 shell 脚本中处理文件路径批量重命名文件时提取基础文件名日志分析时获取日志文件名构建自动化流程时处理文件路径注意事项如果路径以斜杠/结尾basename会返回空字符串在脚本中使用时建议将路径用引号括起来以避免空格带来的问题该命令是 GNU coreutils 的一部分在所有 Linux 发行版中通常都预装了与 dirname 命令的关系basename通常与dirname命令配合使用后者用于提取路径中的目录部分。例如$dirname/home/user/docs/report.txt /home/user/docs $basename/home/user/docs/report.txt report.txt