概述

basename 命令用于打印目录或者文件的基本名称。通常在 shell 脚本中用于获取文件名或目录名。
在这里插入图片描述

注:basename 命令不会关注路径是否真实有效,是给 basename 指定一个路径,basename 命令会删掉所有的前缀包括最后一个 ‘/’ 字符,然后将后缀的字符串显示出来。

语法

basename 命令的语法如下:

basename 路径 [后缀]
# 或
basename 选项... 路径...

其中 basename 命令支持的选项有:

选项说明
-a表示支持多个求多个路径的名字
-s表示移除后缀
-z表示输出不换行
–help查看帮助信息
–version输出版本信息

使用

获取文件名

可以在 basename 命令后面跟一个文件的绝对路径,就可以获取到名字了,例如:

# 语法
basename 文件路径
# 示例
basename /root/home/test.txt

在这里插入图片描述

注:无论这个路径是否真的存在,都会输出名字。

获取目录名

同样可以在 basename 命令后面跟一个目录的绝对路径,就可以获取到目录名了。语法如下:

# 语法
basename 目录路径
# 示例
basename /root/home/hello

在这里插入图片描述

去掉文件后缀

默认是会连同文件后缀一起输出的,例如 basename /root/test.txt 就会输出 test.txt,如果我们不想要文件后缀,可以有如下两种做法:

# 语法一
basename 带后缀的文件路径 后缀
# 示例一
basename /root/test.txt .txt

# 语法二
basename -s 后缀 带后缀的文件路径
# 示例二
basename -s .txt /root/test.txt

在这里插入图片描述

获取多个路径的名字

可以同时获取多个文件路径或目录文件的名字:

# 语法
basename -s 路径1 路径2 路径3 ...
# 实例
basename -a /root/abc.txt /root/home /home/db.log

在这里插入图片描述

输出路径不换行

语法如下:

basename -z 路径

在这里插入图片描述

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐