为了账号安全,请及时绑定邮箱和手机立即绑定

find命令使用了通配符,-exec 后面就不能跟 ls -lh 这条命令了,为什么????

http://img1.sycdn.imooc.com//5d8b79580001343d03550179.jpg这里使用了通配符,查询结果是我想要的

http://img1.sycdn.imooc.com//5d8b7a3b0001165b06590431.jpg

结果 find /etc -name "*yum*" -exec ls -lh {} \;   这条命令执行后,搜索结果我却看不懂了。请问为什么会有这么大的差别?怎样才能得到我想要的结果???

正在回答

1 回答

好吧,我解决了。。。。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:这是在知道想要查找目录大致范围的情况下,可以使用的方法。。。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

find命令使用了通配符,-exec 后面就不能跟 ls -lh 这条命令了,为什么????

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信