Linux 如何正确使用修剪-d型和f型对修剪有不同的影响?

Linux 如何正确使用修剪-d型和f型对修剪有不同的影响?,linux,bash,ubuntu,find,gnu,Linux,Bash,Ubuntu,Find,Gnu,当我使用 find . -type f -path ./source/script -prune -o -print; 我在“pruned.”/source/script目录中获取文件 ... ./source/script ./source/script/myapp02.4372d2ea3388.js ./source/script/myapp02.js ./source/script/myapp02.1798d7bc34d2.js ... 但当我使用: find . -path ./so

当我使用

find . -type f -path ./source/script -prune -o -print;
我在“pruned.”/source/script目录中获取文件

...
./source/script
./source/script/myapp02.4372d2ea3388.js
./source/script/myapp02.js
./source/script/myapp02.1798d7bc34d2.js
...
但当我使用:

find . -path ./source/script -prune -o -type f -print;
省略“删减”目录中的文件:

./generate.py
./readme.txt
./source/class/myapp02/Application.js
./source/class/myapp02/Application.js:75:      
./source/class/myapp02/__init__.js
./source/class/myapp02/Application.js~
./source/class/myapp02/theme/Font.js
./source/class/myapp02/theme/Theme.js
./source/class/myapp02/theme/Decoration.js
./source/class/myapp02/theme/Color.js
./source/class/myapp02/theme/Appearance.js
./source/class/myapp02/simulation/DemoSimulation.js
./source/class/myapp02/test/DemoTest.js
./source/translation/readme.txt
./source/index.html
./source/index.html~
./source/resource/myapp02/test.png
./Manifest.json
./config.json
在我看来:

我所看到的唯一区别是
-typed
在我的代码
-typef

这是忽略
-prune
并在“pruned”目录中搜索find程序的唯一原因吗

find . -type f -path ./source/script -prune -o -print;
被解释为

find . (-type f AND -path ./source/script AND -prune) OR (-print);

被解释为

find . (-path ./source/script AND -prune) OR (-type f AND -print);

请注意,
-print
-prune
是计算结果为true的表达式

因此,如果
(-path./source/script AND-prune)
true,则不会计算
(-type f AND-print)
,也不会调用
-print
`(-path./source/script和-prune)
适用于
/source/script

的所有文件和子目录。这有一些很好的例子:
find . -path ./source/script -prune -o -type f -print;
find . (-path ./source/script AND -prune) OR (-type f AND -print);