Linux

Linux find 和 -mtime 用法

  • May 24, 2017

我有兩個不同的基於 linux 的系統,其中 find 命令似乎沒有按預期工作。

我有一個目錄。在裡面我跑…

ls -l

然後系統返回…

drwxr-xr-x 2 panopticon36 panopticon36 4096 May 22 12:28 folder1
drwxr-xr-x 2 panopticon36 panopticon36 4096 May 22 12:28 folder2
drwxr-xr-x 2 panopticon36 panopticon36 4096 May 22 12:25 folder3
drwxr-xr-x 2 panopticon36 panopticon36 4096 May 24 09:52 folder4

今天是 17 年 5 月 24 日。

在同一目錄中,如果我執行…

find . -mtime +1 -type d

系統什麼也不返回。

據我了解,find 命令應該在目前目錄“.”中找到所有目錄“-type d”。超過 1 天的“-mtime +1”。所以…

folder1
folder2
folder3

應該都列出我的理解。我照顧的兩個系統都表現出這種行為。我做錯了什麼還是錯過了什麼?是否可能以 ls -l 不反映正確修改日期的方式修改目錄?還有什麼我可以嘗試解決問題的方法嗎?歡迎所有幫助。

由於mtime四捨五入的奇怪方式,+1表示“48小時或更長時間”。這記錄在手冊頁上。

記住它的方法是從最基本的用法開始:-mtime 1這意味著該文件是 24 小時前訪問的,加上任何分數(例如 24+23 小時也可以匹配)。由此“邏輯地”遵循什麼+1-1意思。

引用自:https://serverfault.com/questions/852034