1.找出/etc下面,文件大小介于50KB到60KB之间的文件,并且将权限完整的列出
答案为 find /etc -size +50k -size -60k -exec ls -l {} \;
或写成find /etc \( -size +50k -and -size -60k \) -exec ls -l {} \;也可以
此处得知 默认判定为“与”判定 即 -and 取条件均符合者输出
2.找出/etc下面,文件容量大于50KB且文件所有者不是root的文件名,且将权限完整列出
答案为 find /etc -size +50k ! -user root -exec ls -l {} \;
此处!为“非”判定 ,代表若!后面为真 则不输出
3.找出/etc下面,容量大于1500KB以及容量等于0的文件
由于没要求完整输出,该题最简单答案如下
find /etc -size +1500k ; find /etc -size 0k
若要完整显示输出,也可这样写
find /etc -size +1500k -exec ls -l {} \; ; find /etc -size 0k -exec ls -l {} \;
但是太繁琐了,不过此命令可以看出;加不加转义的不同意义
此题若用 -o 这个参数
则可这样解
find /etc \( -size +1500k -o -size 0k \) -exec ls -l {} \;
这里则必须用转义的( )括起来 -o 才有想要的效果.
此处则为“或”判定 , 条件符合其一者即输出。
3道题考察find命令的与或非表达式如何书写及结果。
转载于:https://blog.51cto.com/rukawawang/1672708