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)
为什么所有子目录都与文件一起列出?
谢谢。
目录是文件。Find 可以使用以下-type选项查找常规类型的文件:
find . -type f ...
Run Code Online (Sandbox Code Playgroud)
或者对于目录类型文件:
find . -type d ...
Run Code Online (Sandbox Code Playgroud)
- 类型t
如果文件属于指定类型,则为真。可能的文件类型如下:
Run Code Online (Sandbox Code Playgroud)b block special c character special d directory f regular file l symbolic link p FIFO s socket