我打破了Ubuntu的FIND命令,mtime不能正常工作

时间:2016-01-19 08:52:15

标签: find

我正在构建一个备份脚本,我正在大量使用FIND和-mtime。 昨天我经常使用find -mtime +1来搜索超过一天前修改过的文件。 在一天结束时,我用了一整天的命令停止了工作。

<!DOCTYPE html>
<html ng-app="myapp">

  <head>
    <script src="https://code.angularjs.org/1.4.8/angular.js"></script>
    <script src="https://code.angularjs.org/1.5.0-rc.0/angular-sanitize.min.js"></script>

  </head>

  <body ng-controller="AddCtrl">
    <button ng-click="add_Button($index)">Add Buttons</button>
<hr>
	<div id="add"></div>
	<form ng-show="showButton_Types">
      <div>            
        <label>change button types(?)</label><br/>
        <input ng-click="changeTosubmit()" name="submit" type="radio">&nbsp;Submit
        <input ng-click="changeToreset()" name="submit" type="radio">&nbsp;Reset
        <input ng-click="changeTocancel()" name="submit" type="radio">&nbsp;Cancel
      </div>
	</form>
  </body>

</html>

FIND -mtime n

的结果
user@ubuntu-4:~$ mkdir test
user@ubuntu-4:~$ cd test/
user@ubuntu-4:~/test$ touch -t 201601180830 yesterdayMorning
user@ubuntu-4:~/test$ touch -t 201601181725 yesterdayAfternoon
user@ubuntu-4:~/test$ ll
total 32
drwxrwxr-x 2 user user  4096 Jan 19 09:37 ./
drwx------ 9 user user 12288 Jan 19 09:36 ../
-rw-rw-r-- 1 user user     0 Jan 18 17:25 yesterdayAfternoon
-rw-rw-r-- 1 user user     0 Jan 18 08:30 yesterdayMorning

我应该能够找到名为yesterdayMorning的文件,因为在我写作时(1月19日上午09:48)该文件超过1天。

find -mtime -1(或者也是0)显示正确的结果,因为文件的最后修改时间少于24小时。

昨天下午5点之前,我发誓它正在工作!

2 个答案:

答案 0 :(得分:1)

实际上不是24小时前,而是超过n天前。即对于-mtime +1,它必须在两天前修改。

使用find -mtime +0来匹配昨天的文件。

答案 1 :(得分:1)

如所接受的答案-mtime +0中所述,在这种情况下对您有用。 注意:

find using -mtime and -daystart
-mtime n 
    File's data was last modified n*24 hours ago.
-daystart 
    Measure  times  (for  -amin,  -atime,  -cmin, -ctime, -mmin, and
    -mtime) from the beginning of today rather than  from  24  hours
    ago.
    This  option only affects tests which appear later on the
    command line.

date
Tue Jan 19 10:24:43 CET 2016
~/test $ ls -n
total 0
-rw-r--r-- 1 1000 1000 0 Jan 18 10:15 yesterdayMorning10:15.txt
-rw-r--r-- 1 1000 1000 0 Jan 18 10:45 yesterdayMorning10:45.txt
~/test $ find -mtime +0
./yesterdayMorning10:15.txt

~/test $ find -mtime 0
./yesterdayMorning10:45.txt

~/test $ find -daystart -mtime +0
./yesterdayMorning10:15.txt
./yesterdayMorning10:45.txt