Shell 命令从复杂的目录结构中获取所有文件

Shell 命令从复杂的目录结构中获取所有文件

我正在寻找一个 shell 命令来获取复杂目录结构中的所有文件。我所说的复杂目录结构是指有一个包含超过 150 个子文件夹的根文件夹,并且每个子文件夹至少有 3 个子文件夹。

答案1

这是微不足道的:

find /directory -type f

答案2

作为由@michael-hampton 建议 find是要走的路。然而,还需要更多的解释。该选项-type可以有多个值,请查看手册页 ( man find)。这是一个快速定义:

如果您仅查找常规文件:

find <path> -type f

如果您正在寻找目录之外的任何内容:

find <path> ! -type d

如果您正在寻找常规文件和符号链接:

find <path> -type f -o -type l

(上一个命令查找常规 OR 链接)

答案3

find同样有效。但如果你使用的是zshell( zsh):

仅适用于文件:

ls -al path/**/*(.)

仅适用于目录:

ls -al path/**/*(/)

请参阅man zshexpn参考资料 获取更多示例。特别是“glob 限定符”部分。

答案4

最简单的事情是

ls -R directory_name

相关内容