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

 

posted @ 2022-10-16 16:20  小鲨鱼2018  阅读(1841)  评论(0编辑  收藏  举报