当前位置: 首页>>技术教程>>正文


获取文件夹中所有文件的列表和文件中的 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/article/12848.html,未经允许,请勿转载。