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

在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中从一个完整的文件路径中获取文件名的方法。