我在目录"home",我运行此命令
find . -iname *.mov
Run Code Online (Sandbox Code Playgroud)
它产生了
./root/movies/Corey/holtorf/Intro.mov
Run Code Online (Sandbox Code Playgroud)
现在,我"cd .."并运行相同的命令
find . -iname *.mov
Run Code Online (Sandbox Code Playgroud)
这次"Intro.mov"不在结果中.这背后的原因是什么?什么是递归搜索当前目录中以".mov"结尾的每个文件的命令?谢谢.
ypn*_*nos 22
在参数中使用通配符时,它会被shell扩展.为防止这种情况,您需要编写"*.mov".
在您的情况下,shell 在将参数传递给find 之前会扩展到它找到的任何文件,然后获取文件列表并且不会根据原始模式进行搜索.
dog*_*ane 19
-follow如果您的主目录实际上是符号链接,则可能需要添加.同时引用模式,否则shell会在传递之前尝试扩展它find.
find . -iname "*.mov" -follow
Run Code Online (Sandbox Code Playgroud)