为什么 find 命令也返回目录?

Mae*_*lPJ 0 linux shell bash find

我创建了一个空目录,并在终端中执行以下操作

mael@mael-HP:~/repertoireVide$ mkdir -p a/b/c
mael@mael-HP:~/repertoireVide$ mkdir -p a/a/b
mael@mael-HP:~/repertoireVide$ mkdir -p b/a
mael@mael-HP:~/repertoireVide$ echo "c" > a/c
mael@mael-HP:~/repertoireVide$ echo "c" > c
Run Code Online (Sandbox Code Playgroud)

树显示以下 mael@mael-HP:~/repertoireVide$ 树

.
??? a
?   ??? a
?   ?   ??? b
?   ??? b
?   ?   ??? c
?   ??? c
??? b
?   ??? a
??? c

7 directories, 2 files
Run Code Online (Sandbox Code Playgroud)

为什么下面的find命令输出这个

mael@mael-HP:~/repertoireVide$ find .
.
./a
./a/a
./a/a/b
./a/c
./a/b
./a/b/c
./c
./b
./b/a
Run Code Online (Sandbox Code Playgroud)

是不是find只是想指定目录内查找文件,按照man find

find - search for files in a directory hierarchy
Run Code Online (Sandbox Code Playgroud)

为什么所有子目录都与文件一起列出?

谢谢。

jes*_*e_b 5

目录文件。Find 可以使用以下-type选项查找常规类型的文件:

find . -type f ...
Run Code Online (Sandbox Code Playgroud)

或者对于目录类型文件:

find . -type d ...
Run Code Online (Sandbox Code Playgroud)

- 类型t

如果文件属于指定类型,则为真。可能的文件类型如下:

b       block special
c       character special
d       directory
f       regular file
l       symbolic link
p       FIFO
s       socket
Run Code Online (Sandbox Code Playgroud)