find命令笔记
以下两条命令查询出来的文件是不一样的:
find ~/workspace/ -iname "test.log.*" -o -iname "test.profile.*" -ctime +10
find ~/workspace/ -iname "test.log.*" -o -iname "test.profile.*" -ctime +10 -exec ls -lh {} \;
对于第一个语句,问题在于-o的优先级低于-a的优先级,所以得到的结果是包含了ctime在10天以内的文件
所以需要加一对括号来指定优先级:
find ~/workspace/ \( -iname "test.log.*" -o -iname "test.profile.*" \) -ctime +10
对于-mtime参数,表示筛选多少天之前或者多少天之内的文件,他们的后面可以是+n也可以是-n:
+n表示n天之前有修改的文件
-n表示n天之内有修改的文件
对于使用-n时n为0是一个比较奇怪的情况,因为无法查到任何文件,这是因为-mtime -0表示0天之内有修改的文件,当然不会查到任何满足条件的记录。
浙公网安备 33010602011771号