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

4 ls shell bash

我正在寻找一个 shell 命令,以便获取复杂目录结构中的所有文件。通过复杂的目录结构,我的意思是有一个包含超过 150 个子文件夹的根文件夹,每个子文件夹至少有 3 个子文件夹。

Mic*_*ton 17

这是微不足道的:

find /directory -type f
Run Code Online (Sandbox Code Playgroud)


Huy*_*ens 9

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

如果您只查找常规文件:

find <path> -type f
Run Code Online (Sandbox Code Playgroud)

如果您正在寻找不是目录的任何内容:

find <path> ! -type d
Run Code Online (Sandbox Code Playgroud)

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

find <path> -type f -o -type l
Run Code Online (Sandbox Code Playgroud)

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