如何列出树中的所有文件(目录及其子目录)?

Iva*_*van 43 bash nautilus files krusader ls

对于我的任务,我需要列出树中的所有文件(目录、其所有子目录、这些文件的所有子目录等)。

我更喜欢在 Nautilus 或 Krusader 中看到它们,但命令行解决方案也很有趣(在这种情况下,我需要列出文件的全名、大小和修改时间)。

kit*_*ang 39

tree对你来说会很方便。

sudo apt-get install tree
Run Code Online (Sandbox Code Playgroud)

使用tree filepath列出文件。


Oli*_*Oli 27

ls -alR
Run Code Online (Sandbox Code Playgroud)

这大概是最简单的方法了。我只是在修改一个查找脚本,让你有更多的控制权。

  • 或者如果您不想要所有详细信息,只需使用 `ls -R`。 (7认同)

Oli*_*Oli 12

find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"
Run Code Online (Sandbox Code Playgroud)

您可以随意使用 printf 格式。这为您提供了一个按照您需要的方式格式化内容的绝佳机会,如果您在另一个应用程序中使用输出,这将非常宝贵。

更多:http : //linux.about.com/od/commands/l/blcmdl1_find.htm

为了更好的可读性,您可以通过column命令将其全部管道化,它会自动调整大小,使它们对齐。

find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" | column -t
Run Code Online (Sandbox Code Playgroud)


812*_*128 6

ls是在 Ubuntu 和其他 Linux 和 Unix 操作系统中列出文件的标准命令。ls学习起来特​​别有用,因为您会发现它安装在您遇到的每个 Unix 系统上。默认情况下,运行此命令仅显示当前目录中的文件。

然而,-R“标志”是递归选项(注意大写的R,而不是r),它也会显示所有子目录。

您也要求提供“详细信息” - 为此您需要标志-l(这是一个小写的 L,而不是数字 1)。请注意,这将为您提供文件权限信息以及文件大小、时间/日期信息和文件名。

如果您还想显示隐藏的文件/文件夹(相当于Nautilus 中的Ctrl+ H),请添加-a“all”标志。

您可以将标志合并在一起,得到类似的结果:

ls -lR
Run Code Online (Sandbox Code Playgroud)

如果您在任何大小合适的文件夹上运行它,您会发现这会产生一个巨大的长输出,可以非常快地向下滚动屏幕。ls为了解决这个问题,您可以通过一个名为的程序“管道”输出(该名称是对最初出现的less类似程序的模仿,但具有更多功能)。more

ls -lR | less
Run Code Online (Sandbox Code Playgroud)

这将允许您使用向上/向下箭头键以及 PageUp/Down 以更舒适的速度浏览输出。