千家信息网

Linux中怎么获取路径的文件名

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇文章为大家展示了Linux中怎么获取路径的文件名,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。代码如下:[root@dabu.info ]#basenam
千家信息网最后更新 2025年12月02日Linux中怎么获取路径的文件名

本篇文章为大家展示了Linux中怎么获取路径的文件名,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

代码如下:

[root@dabu.info ]#basename /root/aaa/bbb/dabu.txt


显示:

代码如下:

dabu.txt #获取路径的文件名


shell脚本中如何获得脚本文件所在路径?

方法一:

代码如下:

[root@dabu.info ]#DIR=$(cd "$(dirname "$0")"; pwd)

[root@dabu.info ]#echo $DIR

但是像这种dirname "$0"这种写法,在遇到source命令时会得到错误的结果。

方法二:

代码如下:

[root@dabu.info ]#echo "$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

上面一行命令可以获得脚本的绝对轮径,无论你在何处调用这个脚本。
但是如果含有软链接,就无法使用了。所以,我们为了能正确解析指向脚本的软链接,可以使用下面的多行命令:


代码如下:

SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"

也可与source,bash -c命令使用

但是,如果你在脚本中使用先cd切换到其他目录,在运行时上面的命令片段时,则上面的命令不能等到正确的结果。可以参考关于$CDPATH 陷阱的文章。想理解它如何其作用的,可以运行下面的代码:


代码如下:

#!/bin/bash

SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
TARGET="$(readlink "$SOURCE")"
if [[ $SOURCE == /* ]]; then
echo "SOURCE '$SOURCE' is an absolute symlink to '$TARGET'"
SOURCE="$TARGET"
else
DIR="$( dirname "$SOURCE" )"
echo "SOURCE '$SOURCE' is a relative symlink to '$TARGET' (relative to '$DIR')"
SOURCE="$DIR/$TARGET" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
fi
done
echo "SOURCE is '$SOURCE'"
RDIR="$( dirname "$SOURCE" )"
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
if [ "$DIR" != "$RDIR" ]; then
echo "DIR '$RDIR' resolves to '$DIR'"
fi
echo "DIR is '$DIR'"

上述内容就是Linux中怎么获取路径的文件名,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

代码 命令 脚本 文件 路径 面的 文件名 内容 技能 文章 方法 知识 结果 链接 运行 简明 简明扼要 一行 作用 写法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 电脑服务器主机地址怎么看 行业数据库demo 网吧虚拟服务器 西宁网络安全保障攻防技术 数据库跨地域 宁夏学校时间同步服务器 公安局网络安全管理岗位要会什么 我的世界神秘领域服务器崩溃 九江专业软件开发团队 ygopro2 服务器 网络安全的四大内容包括哪几条 办公室内部网络安全检查 最新网络安全法规 北京rust服务器托管 公安大学网络安全专业要求眼睛吗 网络安全由哪个部门主抓 2018年网络安全观后感 大华有限公司软件开发待遇 数据库系统中常用的安全措施 2003 ntp服务器 上海品质软件开发服务品质保障 下列行为符合网络安全法的是 杭州直播软件开发平台 服务器登录后出现管理员界面 华为c 软件开发 华为服务器选择哪块盘作为热备盘 怎么删除金山网络安全插件 网络安全基础知识论文 梦辰服务器秘境怎么通过 命令行看数据库数据
0