原因:機器系統時間與文件時間不一致
解決:更新所有文件的時間后重新編譯
find . -type f | xargs -n 5 touch make clean make
xargs -n num 后面加次數,表示命令在執行的時候一次用的argument的個數,默認是用所有的。
touch 無選項,會同時更新文件的修改時間和訪問時間
補充:
find . -exec touch {} \;
find命令把匹配到的文件傳遞給xargs命令,而xargs命令每次只獲取一部分文件而不是全部,不像-exec選項那樣。這樣它可以先處理最先獲取的一部分文件,然后是下一批,並如此繼續下去。
在有些系統中,使用-exec選項會為處理每一個匹配到的文件而發起一個相應的進程,並非將匹配到的文件全部作為參數一次執行;這樣在有些情況下就會出現進程過多,系統性能下降的問題,因而效率不高;
http://blog.csdn.net/zhangfn2011/article/details/6776925/