當前位置: 首頁>>技術教程>>正文


獲取文件夾中所有文件的列表和文件中的 sub-folder

, ,

問題描述

如何獲取文件夾中所有文件的列表,包括所有子文件夾中的所有文件並將輸出放入文件中?

最佳辦法

您可以在命令行上執行此操作,使用 -R 開關(遞歸),然後將輸出通過管道傳輸到文件中:

ls -R > filename1

這將在當前目錄中創建一個名為 filename1 的文件,其中包含當前目錄及其下所有子目錄的完整目錄列表。

您可以通過指定完整路徑來列出當前目錄以外的目錄,例如:

ls -R /var > filename2

將列出 /var 中和下的所有內容,並將結果放在當前目錄中名為 filename2 的文件中。隻要您對目錄具有讀取權限,這適用於其他用戶(包括 root)擁有的目錄。

您還可以使用 sudo 命令列出您無權訪問的目錄,例如 /root。例如:

sudo ls -R /root > filename3

將列出 /root 中的所有內容,並將結果放在當前目錄中名為 filename3 的文件中。由於大多數 Ubuntu 係統在此目錄中沒有任何內容,因此 filename3 將不包含任何內容,但如果包含,它將起作用。

次佳辦法

隻需使用帶有目錄名稱的 find 命令即可。例如,要查看主目錄中文件夾中的文件和所有文件,請使用

find ~

檢查 find 命令的查找手冊手冊頁

還可以在終端中使用 info find 命令檢查查找 GNU 信息頁麵。

第三種辦法

tree

遞歸 ls 的替代方案是命令行工具 tree,它帶有很多選項來自定義顯示輸出的格式。有關所有選項,請參見 manpage for tree

第四種辦法

還:

gvfs-tree /path/to/folder/

將為您提供與使用其他字符的行相同的樹。

tree -a

也顯示隱藏文件

tree -i

不顯示行

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/12848.html,未經允許,請勿轉載。