获取文件中文件夹和子文件夹中所有文件的列表

Nam*_*hum 39 command-line files directory

如何获取文件夹中所有文件的列表,包括所有子文件夹中的所有文件并将输出放入文件中?

fab*_*or4 50

您可以在命令行上执行此操作,使用 -R 开关(递归),然后将输出通过管道传输到文件:

ls -R > filename1
Run Code Online (Sandbox Code Playgroud)

这将在当前目录中创建一个名为 filename1 的文件,其中包含当前目录及其下所有子目录的完整目录列表。

您可以通过指定完整路径来列出当前目录以外的目录,例如:

ls -R /var > filename2
Run Code Online (Sandbox Code Playgroud)

将列出 /var 中和下的所有内容,并将结果放在当前目录中名为 filename2 的文件中。只要您对目录具有读取权限,这适用于其他用户(包括 root)拥有的目录。

您还可以使用 sudo 命令列出您无权访问的目录,例如 /root。例如:

sudo ls -R /root > filename3
Run Code Online (Sandbox Code Playgroud)

将列出 /root 中的所有内容,将结果放在当前目录中名为 filename3 的文件中。由于大多数 Ubuntu 系统在此目录中没有任何内容,filename3 将不包含任何内容,但如果有,它会起作用。


Anw*_*war 11

只需使用find带有目录名称的命令即可。例如,要查看主目录中文件夹中的文件和所有文件,请使用

find ~
Run Code Online (Sandbox Code Playgroud)

检查命令的查找手册联机帮助页find联机帮助页图标

还可以通过info find在终端中使用命令来检查查找 GNU 信息页面。


Tak*_*kat 8

安装树

递归的另一种选择ls是命令行工具tree,它带有很多选项来自定义显示的输出格式。有关所有选项,请参阅tree联机帮助页


小智 5

还:

gvfs-tree /path/to/folder/
Run Code Online (Sandbox Code Playgroud)

将为您提供与使用其他字符作为线条的树相同的结果。

tree -a
Run Code Online (Sandbox Code Playgroud)

也显示隐藏文件

tree -i
Run Code Online (Sandbox Code Playgroud)

不显示行