Shell
如何創建特定目錄下所有文件和目錄的結構化列表(遞歸)?
我需要一個沒有文件實際內容的文件系統的“圖像”——只有所有的名稱和結構,這樣我才能讀取文件並知道那裡儲存了哪些文件以及它們是如何定位的。在這些情況下,我傾向於相信有一種漂亮的“Unix 方式”可以結合一些標準的 GNU 命令行實用程序來實現這一點。我對嗎?它是什麼?
喜歡
find / -type f > /tmp/list_of_all_the_files.txt
?
你可以跑
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 -> /