wenhao32 发表于 2005-12-2 13:02:10

问以下两个命令的区别.

find . -type f -exec ls -l {} \:
fine . -type f | ls -l
出入结果也不同.

精神狂舞 发表于 2005-12-14 23:42:41

首先说两个命令的相同点:都是逻辑组合命令,前一个命令的结果作为后一个命令的前提.都是先查找二进制文件,再详细显示该二进制文件的信息.其中"-exec"可以用"-ok"来代替.
   不同点:首先要明白为什么会不同.第一个命令中有 "{} \" ,那也就相当于"所有的".因此,我们就可以明白这两个命令的不同点了.第一个是查找系统中的所有二进制文件,不仅仅指当前目录,并把这些文件的详细信息显示出来.包括隐藏文件(也就是以 "." 为开头的文件);而第二个命令,是查找二进制文件并显示详细信息,但是仅仅是显示当前目录下的二进制文件,并不包括当前目录的子目录中的二进制文件以及其他目录中的二进制文件.同时,还不包括隐藏文件.
   这就是这两个命令的输出结果不同之处及原因.

精神狂舞 发表于 2005-12-14 23:47:48

补充一点:
你用这个命令 # find -type f | ls -al看看.这个结果又和 # find -type f | ls -l 的结果又有不同.因为这个命令显示的结果中包含了隐藏文件.

BOoRFGOnZ 发表于 2005-12-15 08:59:04

顶 :-D

kingfly 发表于 2005-12-17 15:37:32

又学了一招 :evil:
页: [1]
查看完整版本: 问以下两个命令的区别.