QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1110|回复: 4

问以下两个命令的区别.

[复制链接]
发表于 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 的结果又有不同.因为这个命令显示的结果中包含了隐藏文件.
回复

使用道具 举报

发表于 2005-12-15 08:59:04 | 显示全部楼层
回复

使用道具 举报

发表于 2005-12-17 15:37:32 | 显示全部楼层
又学了一招
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 14:32 , Processed in 0.040914 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表