find命令使用了通配符,-exec 后面就不能跟 ls -lh 这条命令了,为什么????
这里使用了通配符,查询结果是我想要的
结果 find /etc -name "*yum*" -exec ls -lh {} \; 这条命令执行后,搜索结果我却看不懂了。请问为什么会有这么大的差别?怎样才能得到我想要的结果???
这里使用了通配符,查询结果是我想要的
结果 find /etc -name "*yum*" -exec ls -lh {} \; 这条命令执行后,搜索结果我却看不懂了。请问为什么会有这么大的差别?怎样才能得到我想要的结果???
2019-09-25
好吧,我解决了。。。。find /etc -name "*yum*" -exec ls -lh {} \; 这条命令执行后,查找到的结果是符合条件的文件和符合条件的目录下的文件,却不显示目录的详细信息,问题是我只是想找目录并显示目录详细信息。
解决方法1:find /etc -name "*yum*" -exec ls -ldh {} \;
注1:ls -d:列出目录,而不是目录下的内容,并且不要取消符号链接(软链接)的引用
注2:那么如果我想使用find+ls 查询并显示我想要找的目录和目录下文件的详细信息呢?个人答案:没有意义,使用find的前提是不知道文件在哪里,如果知道了文件在哪里,直接使用cd后ls更直接。如果有人有办法使用find+ls查找目录并层级显示目录下的文件,请告诉我,分享是美德,谢谢!
解决方法2:ls -lh /etc/ | grep yum:这是在知道想要查找目录大致范围的情况下,可以使用的方法。。。
举报