LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 901|回复: 5

使用find命令时的两个问题

[复制链接]
发表于 2005-8-18 05:49:47 | 显示全部楼层 |阅读模式
1>
$ cd /tmp
$ find . -name \? -mtime -1
bash提示出错——有几个属于root的目录permission denied;
我要找的是当前目录下文件名只有一个字符的文件,怎么办?难道只有用root登录?

2>
-mtime n 在manual上说表示File’s data was last modified n*24 hours ago;
另外,输入时带加号(表示“之后”),减号(表示“之前”),
那么请问-mtime +0怎么解释?-mtime -0怎么解释? -mtime 0怎么解释?
-mtime的基准时刻是不是执行find命令的时刻,还是24小时之前?

-daystart -mtime 既然是以今天的开始时为基准,那么-daystart -mtime +0为什么表示昨天一天,-daystart -mtime -3为什么表示前天一天,而不是大前天?
发表于 2005-8-18 10:35:17 | 显示全部楼层
Post by haHAL
1>
$ cd /tmp
$ find . -name \? -mtime -1
bash提示出错——有几个属于root的目录permission denied;
我要找的是当前目录下文件名只有一个字符的文件,怎么办?难道只有用root登录?

2>
-mtime n 在manual上说表示File’s data was last modified n*24 hours ago;
另外,输入时带加号(表示“之后”),减号(表示“之前”),
那么请问-mtime +0怎么解释?-mtime -0怎么解释? -mtime 0怎么解释?
-mtime的基准时刻是不是执行find命令的时刻,还是24小时之前?

-daystart -mtime 既然是以今天的开始时为基准,那么-daystart -mtime +0为什么表示昨天一天,-daystart -mtime -3为什么表示前天一天,而不是大前天?

1。 如果只找当前目录,为了避免find历遍,加上-mexdepth 1表示只搜索当前。
2。0还没研究过。另外+翻译成之前,-翻译成以内比较好理解。按照英文的翻译应是大于和小于,比如说-mtime +1 -mtime -3表示大于1天小于3天,也就是说1天之前和3天以内的。0应该就是1天以内吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-20 06:22:04 | 显示全部楼层
多谢,大致明白了。
还有一个问题:
-daystart -mtime +0 -mtime -3
应该指的是从今天0时开始往前,3天之内的吧;
那为什么实际执行时是只包括昨天和前天两天的文件?
回复 支持 反对

使用道具 举报

发表于 2005-8-24 21:48:47 | 显示全部楼层
我在 IBM-AIX上使用find命令的时候也老是出现权限问题,我一般都改用root搜索了,楼上的解释我也没看清楚,搜索的时候是不是需要对文件有执行权限或者读权限才可以?
回复 支持 反对

使用道具 举报

发表于 2005-8-25 00:23:00 | 显示全部楼层
Post by abigant
我在 IBM-AIX上使用find命令的时候也老是出现权限问题,我一般都改用root搜索了,楼上的解释我也没看清楚,搜索的时候是不是需要对文件有执行权限或者读权限才可以?


搜索的时候,遇到一个没权限进去的文件夹,当然会提示你。

AIX 的find没有-maxdepth
回复 支持 反对

使用道具 举报

发表于 2005-8-25 10:35:54 | 显示全部楼层
要在一个目录下查找一个文件必须要有对这个目录的执行的权限,否则就是permission denied.
另外+0 -0的没必要去搞这么清楚吧,2天前就+2,2天内就-2,时间要是再想精确点就用
-newer file1 ! file2这个选项好了,你可以用touch构造几个具有固定时间的文件。
回复 支持 反对

使用道具 举报

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

本版积分规则

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