linux 中如何输出文件或者目录的绝对路径
001、ls + sed实现
[root@pc1 data]# ls ## 测试文件、目录 a.txt test01 test02 [root@pc1 data]# ls | sed "s#^#$(pwd)/#" ## ls + sed实现 /home/data/a.txt /home/data/test01 /home/data/test02
002、ls + tr + awk实现
[root@pc1 data]# ls a.txt test01 test02 [root@pc1 data]# ls | tr "\t" "\n" a.txt test01 test02 [root@pc1 data]# ls | tr "\t" "\n" | awk -v a=$(pwd) '{print a"/"$0}' ## ls + tr + awk实现 /home/data/a.txt /home/data/test01 /home/data/test02
003、readlink -f 命令实现
[root@pc1 data]# ls a.txt test01 test02 [root@pc1 data]# readlink -f a.txt ## 获取a.txt的绝对路径 /home/data/a.txt [root@pc1 data]# readlink -f * ## 获取当前目录中所有文件及目录的绝对路径 /home/data/a.txt /home/data/test01 /home/data/test02
004、realpath命令实现
[root@pc1 data]# ls a.txt test01 test02 [root@pc1 data]# realpath a.txt ## 获取a.txt的绝对路径 /home/data/a.txt [root@pc1 data]# realpath * ## 获取所有文件及目录的绝对路径 /home/data/a.txt /home/data/test01 /home/data/test02
005、find + $(pwd)实现
[root@pc1 data]# ls a.txt b.txt test01 test02 [root@pc1 data]# find $(pwd) -name "a.txt" ## 获取a.txt的绝对路径 /home/data/a.txt [root@pc1 data]# find $(pwd) -name "*.txt" ## 获取所有txt文件的绝对路径 /home/data/a.txt /home/data/b.txt
参考:https://blog.csdn.net/FL63Zv9Zou86950w/article/details/126945089