如何创建特定目录下所有文件和目录的结构化列表(递归地)?

如何创建特定目录下所有文件和目录的结构化列表(递归地)?

我需要有一个文件系统的“图像”,没有文件的实际内容 - 只有所有名称和结构,以便我可以读取文件并知道其中存储了哪些文件以及它们是如何定位的。与往常一样,在此类情况下,我倾向于相信有一种美丽的“Unix 方式”可以通过结合一些标准 GNU 命令行实用程序来实现此目的。我对吗?它是什么?

答案1

喜欢find / -type f > /tmp/list_of_all_the_files.txt

答案2

你可以运行

ls -R | grep ':$' | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'

它以树的形式巧妙地显示所有子目录。

tree有时,许多 Linux 发行版中也有可用的实用程序。如果没有,那么您可以从安装它这里

它提供以下输出:

~> 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 -> /

相关内容