linux 递归显示目录文件,linux递归显示全路径

#原由 最近需要写一堆snmp相关的脚本程序,因为对应节点的关系已经确定,就顺便确定了一下脚本所在的目录结构。那么现在的一个问题是要求不使用相对路径,而要使用绝对路径。那么获取绝对路径这个问题需要解决。

#解决办法

ls 不能解决

网上有人给了一种办法是使用命令

ls | sed "s:^:`pwd`/:" | sed "s/^/$HOSTNAME:/g"

但是这样的命令只能获取当前目录的文件的全路径,并且还不是很对。

o@o-pc:~/snmp/cmd/c$ ls| sed "s:^:`pwd`/:" | sed "s/^/$HOSTNAME:/g"

o-pc:/home/o/snmp/cmd/c/codecRecord

o-pc:/home/o/snmp/cmd/c/commonConfiguration

...

o@o-pc:~/snmp/cmd/c$

那么递归获取呢?即便是给ls加上-R的参数,也是不行的,结果有误。

tree 来解决

既然ls无法解决这个问题,那么可以使用tree程序来试试。 参数-i表示不以阶梯状显示,-f表示显示完整的相对路径。

tree -if

结果如下,确实比较有效了,但是还显示了目录项的,这不是我所需要的,我只要文件的。

o@o-pc:~/snmp/cmd/c$ tree -if

.

./codecRecord

./commonConfiguration

./devicePerformance

./devicePerformance/a.c

./devicePerformance/a.out

./devicePerformance/devicepfCode

./devicePerformance/devicepfCode.c

./devicePerformance/devicepfCode.h

./deviceStatus

...

上面的只是完成了一部分,还可以加上sed "s:^:pwd/:"来添加全路径,才是我想要的。

##linux tree用法

tree

功能说明:以树状图列出目录的内容。

语  法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]

补充说明:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

参  数:

说明

-a

显示所有文件和目录。

-A

使用ASNI绘图字符显示树状图而非以ASCII字符组合。

-C

在文件和目录清单加上色彩,便于区分各种类型。

-d

显示目录名称而非内容。

-D

列出文件或目录的更改时间。

-f

在每个文件或目录之前,显示完整的相对路径名称。

-F

在执行文件,目录,Socket,符号连接,管道名称名称,各自加上*,/,=,@,`

-g

列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。

-i

不以阶梯状列出文件或目录名称。

-I

不显示符合范本样式的文件或目录名称。

-l

如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。

-n

不在文件和目录清单加上色彩。

-N

直接列出文件和目录名称,包括控制字符。

-p

列出权限标示。

-P

只显示符合范本样式的文件或目录名称。

-q

用"?"号取代控制字符,列出文件和目录名称。

-s

列出文件或目录大小。

-t

用文件和目录的更改时间排序。

-u

列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。

-x

将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值