获取文件夹和子文件夹中所有文件的列表
如何获取文件夹中所有文件的列表,包括所有子文件夹中的所有文件,并将输出放在文件中?
您可以在命令行上执行此操作,使用-R开关(递归),然后将输出传递到文件,从而:
ls -R > filename1
这将在当前目录中创建一个名为filename1的文件,其中包含当前目录及其下所有子目录的完整目录列表。
您可以通过指定完整路径来列出当前目录以外的目录,例如:
ls -R /var > filename2
将列出/ var中的所有内容,并将结果放在名为filename2的当前目录中的文件中。 只要您具有对目录的读访问权限,这适用于包含root的其他用户拥有的目录。
您还可以使用sudo命令列出您无权访问的目录,例如/ root。 例如:
sudo ls -R /root > filename3
将所有内容列在/ root中,将结果放在当前目录中名为filename3的文件中。 由于大多数Ubuntu系统在此目录中没有任何内容,因此filename3将不包含任何内容,但如果确实如此,它将起作用。
树
递归ls
的替代方法是命令行工具tree
,它提供了很多选项来自定义diplayed输出的格式。 有关所有选项,请参见树的联机帮助页 。
只需将find
命令与目录名一起使用即可。 例如,要查看主目录中文件夹和文件夹中的所有文件,请使用
find ~
查看find
命令的find手册页
还可以在终端中使用info find
命令查看GNU info页面。
也:
gvfs-tree /path/to/folder/
将使用其他字符为树提供相同的树。
tree -a
也显示隐藏文件
tree -i
不显示行
- 转到要从中获取内容列表的文件夹。
- 在列表中选择所需的文件(如果需要整个文件夹,请按Ctrl + A )。
- 使用Ctrl + C复制内容。
- 打开gedit并使用Ctrl + V粘贴内容。 它将作为列表粘贴,然后您可以保存该文件。
此方法不包括子文件夹,内容。
您还可以使用与Takkat的tree
建议相对应的GUI,即Baobab 。 它用于查看文件夹和子文件夹,通常用于分析磁盘使用情况。 如果您使用的是GNOME桌面(通常称为磁盘使用率分析器),您可能已经安装了它。
sudo apt-get install baobab
您可以选择一个文件夹并查看其所有子文件夹,同时获取文件夹及其内容的大小,如下面的屏幕截图所示。 您只需单击小向下箭头即可查看文件夹中的子文件夹。 这对于快速了解文件夹中的内容并生成可查看的列表非常有用,但目前它无法将它们导出到文件中。 但是,它已被要求作为function在Launchpad上 。 如果使用gksudo baobab
甚至可以使用它来查看根文件系统。
(您还可以使用ls -shR ~/myfolder
获取其大小的文件列表,然后将其导出到文件。)