find / 和 find /* 的区别是什么
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这两种方式实际不是一回事,"find /"是查找目录"/",包括目录"/"自身和它下所有的文件和目录;"find /*"会被shell做为Glob展开,实际意思是查找"/"目录下的所有文件和目录,不包括"/"自身的。
Shell做Glob展开时,通常不包括”."打头的隐含文件,当然如果通过”shopt -s dotglob"设置,那Glob也会包括隐含文件。
“find /etc | wc -l 和 find /etc/ | wc -l"的差别很容易解释,因为后者不包含"/etc"目录和”/etc"目录下的隐含文件或者目录,可以用"ls -d /etc/."来查看“/etc"目录下是否有隐含文件或目录。