basename
是一个在 Unix 和类 Unix 操作系统(如 Linux)中用于处理文件路径的命令行工具。它主要用于从完整路径中提取文件名部分,去除目录部分,并且可以根据需要移除文件扩展名。这个命令对于脚本编写和自动化任务非常有用,特别是在需要操作或显示文件名而不关心其路径时。
基本语法
basename [OPTION] NAME [SUFFIX]
参数说明
NAME
: 要处理的文件路径或名称。[SUFFIX]
: 可选参数,如果提供了此参数,则会从结果中移除与之匹配的文件扩展名(即后缀)。[OPTION]
: 可选的命令行选项,用来改变basename
的行为。
常用选项
-a
或--multiple
: 支持一次处理多个路径名。每个路径名应作为一个单独的参数给出。-s SUFFIX
或--suffix=SUFFIX
: 明确指定要移除的后缀,即使没有提供位置参数也可以使用此选项来指定后缀。-z
或--zero
: 输出结果以 NUL 字符分隔而不是换行符。这对于处理包含特殊字符(如换行符)的文件名很有用。
示例
-
基本使用 - 提取文件名:
如果有一个文件路径/home/user/docs/report.txt
,可以使用basename
来提取文件名:basename /home/user/docs/report.txt
输出将是:
report.txt
-
移