Linux命令打印目录结构树
问题描述:
我想写一个脚本,它将在树结构中打印目录,子目录及其文件,但不使用树命令。Linux命令打印目录结构树
例子:
DIR: A
f1
f2
DIR: B
f3
DIR: C
file1
file21
我试图解决的多,但我总是跑进我不能目录或文件区分的问题,所以我不能采用正确的格式。 “DIR:”前缀使其变得复杂。有什么非常明显的我失踪了吗?
答
使用的-d
测试:
if [ -d "$path" ] ; then
echo DIR
fi
答
引用这是你想找的tree,应在大多数发行版(也许作为一个可选安装)?
~> tree -d /proc/self/
/proc/self/
|-- attr
|-- cwd -> /proc
|-- fd
| `-- 3 -> /proc/15589/fd
|-- fdinfo
|-- net
| |-- dev_snmp6
| |-- netfilter
| |-- rpc
| | |-- auth.rpcsec.context
| | |-- auth.rpcsec.init
| | |-- auth.unix.gid
| | |-- auth.unix.ip
| | |-- nfs4.idtoname
| | |-- nfs4.nametoid
| | |-- nfsd.export
| | `-- nfsd.fh
| `-- stat
|-- root ->/
`-- task
`-- 15589
|-- attr
|-- cwd -> /proc
|-- fd
| `-- 3 -> /proc/15589/task/15589/fd
|-- fdinfo
`-- root ->/
27 directories
取自维护者网页的样本。
您可以添加选项-L #
,其中#
被数字替换,以指定最大递归级别。
删除-d
也显示文件。
或者一般来说:权限的第一位是文件类型,如果是'd'则是目录。 – rockerest