find命令

find 命令一般用法

-- 从根目录搜索
[root@localhost dbs]# find / -name "cici"
-- 当前目录搜索
[root@localhost dbs]# find ~ -name "cici"

 find 命令高级用法

atime:访问时间(access time),指的是文件最后被读取的时间,可以使用touch命令更改为当前时间;如cat..
ctime:变更时间(change time),指的是文件本身最后被变更的时间,变更动作可以使chmod、chgrp、mv等等;
mtime:修改时间(modify time),指的是文件内容最后被修改的时间,修改动作可以使echo重定向、vi等等;

 某用户在2013年1月5日00:00:00时,
在/home下输入ping www.baidu.com > ping.log;  则ping.log的ctime为2013-01-05 00:00:00
5秒钟后,该用户使用ctrl+C强制关闭该命令;  mtime为2013-01-05 00:00:05
5秒钟后,使用cat ping.log查看。 atime为2013-01-05 00:00:10。

 

find . {-atime/-ctime/-mtime/-amin/-cmin/-mmin} [-/+]num

第一个参数,.,代表当前目录,如果是其他目录,可以输入绝对目录和相对目录位置;
第二个参数分两部分,前面字母a、c、m分别代表访问、变更、修改,后面time为日期,min为分钟,注意只能以这两个作为单位;
第三个参数为量,其中不带符号表示符合该数量的,带-表示符合该数量以后的,带+表示符合该数量以前的。

注意:find中对于时间的推算均为:
1、到......为止用+号,从......开始用-号,一个时间单位内的不带符号;
2、数字代表往前偏移量;
3、当前到往后的一个时间单位为基准0;-0就是下限单位;+0就是上限单位。

 

 

 find . -mtime N
实际上你应该这样理解..
N * 24
+1 内表示 1 * 24 +24小时以外..
+0 才表示 0 * 24 +24小时以外
1 表示 1*24 + 24 到 24 之间..
0 表示 0*24 + 24 到 0 之间..
-1 表示 1*24     之内,甚至为未来时间...

记住0也是自然数....

 

 


 我当前的时间2011年3月1日22:31,我有如下的文件:

E:\testpath>ls -l
total 0
-rwxrwxrwa   1 Administrator   None                  0 Feb 25 22:37 111.txt
-rwxrwxrwa   1 Administrator   None                  0 Feb 26 22:38 222.txt
-rwxrwxrwa   1 Administrator   None                  0 Feb 27 22:38 333.txt
-rwxrwxrwa   1 Administrator   None                  0 Feb 28 22:01 444.txt
-rwxrwxrwa   1 Administrator   None                  0 Feb 28 22:30 555.txt
-rwxrwxrwa   1 Administrator   None                  0 Mar  1 22:31 666.txt
< -- 当前时间的文件
-rwxrwxrwa     1 Administrator     None                   0 Mar   2   2011 777 . txt
 
E: \ testpath >
E:\testpath>

-mtime +2,表示2天以外的,即从距离当前时间(2011-03-01 22:31)的2天前开始算起,往更早的时间推移。因此,距离当前时间的2天为:2011-02-27 22:31,在此前的文件,会被选出来。

E:\testpath>find ./ -mtime +2
./111.txt
./222.txt

-mtime +1,表示1天以外的,即从距当前时间的1天前算起,往更早的时间推移。因此2011-02-28 22:31前的文件属于该结果,2011-02-28 22:31后的文件不属于该结果:

E:\testpath>find ./ -mtime +1
./111.txt
./222.txt
./333.txt
./444.txt
./555.txt

-mtime 2, 距离当前时间第2天的文件,当前时间为2011-03-01 22:31,往前推2天为2011-02-27 22:31,因此以此为时间点,24小时之内的时间为2011-02-27 22:31~2011-02-28 22:31,因此这段时间内的文件会被选中出来:

E:\testpath>find ./ -mtime 2
./333.txt
./444.txt
./555.txt

-mtime 1, 距离当前时间第1天的文件,当前时间为2011-03-01 22:31,往前推1天为2011-02-28 22:31,因此以此为时间点,24小时之内的时间为2011-02-28 22:31~2011-03-01 22:31,因此这段时间内的文件会被选中出来:

E:\testpath>find ./ -mtime 1
./666.txt

-mtime -1 表示1天以内的,从距当前时间的1天为2011-02-28 22:31,往右推移:

E:\testpath>find ./ -mtime -1
./
./666.txt
./777.txt

-mtime -2 表示2天以内的,从距当前时间的2天为2011-02-27 22:31开始,往右推移:

E:\testpath>find ./ -mtime -2
./
./333.txt
./444.txt
./555.txt
./666.txt
./777.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值