上一篇 下一篇 分享链接 返回 返回顶部

如何在Linux服务器中从完整路径获取文件名?

发布人:Minchunlin 发布时间:2021-02-11 10:08 阅读量:1277

在Linux服务器中,文件的全路径指的是包括目录和子目录在内的完整地址,使用这些目录可以找到文件。每个操作系统都有不同的文件全路径的变体。

在Linux服务器中,它通常看起来类似如下。

/home/user/Documents/test.txt

这是文件test.txt的完整文件路径。

当手动处理一个文件路径时,很容易得到文件名,但如果你使用脚本来实现某种自动化,你可能需要在某些情况下提取文件名。

让我们来看看如何在Linux中从完整路径中提取文件名。

1、使用Basename命令

basename命令的全部目的是为了从文件路径中检索文件名。虽然从一个完整的路径中获取文件名并不难,但basename会自动帮你完成,你不必再去解析文件路径等麻烦。

语法是:

$ basename full_file_path

示例:

$ basename /var/log/syslog

使用-a参数来传递多个路径:

$ basename -a /var/log/syslog /var/log/dpkg.log

2、使用Bash参数替换

Bash参数替换是一种动态修改变量的方法。要使用此方法,我们需要将文件路径存储在变量中。

$ fullpath="/var/log/syslog"

现在我们将应用参数替换并将其值存储在另一个变量中。

$ filename=${fullpath##*/}

$ echo $filename

基本上,它的作用是:将‘/’“完整路径”中最后一个部分之前的部分剪切掉,只保留字符串的其余部分,也就是文件名。

在这篇文章中,我们学习了两种在Linux中从一个完整的文件路径中获取文件名的方法。

目录结构
全文