回覆列表
  • 1 # 呼啦啦一小時

    首先簡明扼要地給出答案:如果被刪除的文件或目錄所在的目錄沒被刪除,並且刪除了待查詢文件或待查詢目錄之後,沒有對所在目錄作任何寫操作,則可以;否則不能知道準確的刪除時間。所謂“對目錄作寫操作”,指的是添加、刪除、重命名、移動該目錄下的文件或目錄。

    一個文件如果刪除了,那麼有關於它的信息雖然可能沒有被從磁盤上物理擦除,但是就從文件系統中消失了,文件系統不會特意去記錄或保留已經被刪除的文件的信息。不過,在對目錄進行寫操作時,目錄的“最後狀態變化時間”(ctime)和“最後修改時間”(mtime)是會變的,因此我們可以從這裡入手。

    要想查詢本目錄的最後修改時間,可以這樣操作:打開終端(命令行),輸入:

    之後,該目錄、上級目錄以及該目錄下的所有目錄和文件的信息,包括最後修改時間,就都按順序列出來的。最後修改時間越接近當前(也就是Unix Time數值越大)的,在輸出內容中,就越靠前。如果該目錄在進行這個刪除操作後,沒有進行過任何寫操作,則本目錄(也就是./)應該在最前面;如果它不在最前面,則說明在刪除了你要查詢的文件或目錄後,該目錄有了新的寫操作,這樣就查不出準確時間了;不過即使在最前面,也不能保證就一定沒有過新的寫操作(因為有可能在被查詢文件被刪除之後,有新的文件或目錄先被創建再被刪除)。如果本目錄(也就是./)確實排在最前面,並且在刪除了待查詢文件或目錄後,沒有新的寫操作(這要你自己根據你的使用情況自行判斷,特別是要考慮後臺運行的程序),那麼以上命令的輸出內容中的第一行中的時間就是要查詢的文件或目錄的刪除時間,但是,如果不符合以上條件,導致查不出準確的刪除時間,我們也可以想辦法確定刪除時間的取值範圍。首先,被查詢文件的刪除時間絕不會晚於所在目錄的最後修改時間。所在目錄的最後修改時間就是以上命令輸出內容中“本目錄”(也就是./)那行的那個時間。不過,“縮小包圍圈”的方法就比較多種多樣了,要根據文件的類型和被使用的情況,靈活地採取措施。這裡有幾種辦法可供參考:

    1、如果用數據恢復軟件能搜索到這個被刪除文件(不一定能做到),那麼我們就可以確定:刪除的時間不會早於該文件被刪除前最後的atime,ctime,mtime中最接近現在的那個。(atime是最後讀取時間,ctime是最後更改狀態時間,mtime是最後修改時間)文件系統不會記錄每一個文件被刪除的時間,但是以上信息有可能能被恢復出來。

    2、如果被刪除文件曾經被讀取或者修改過,那麼可以找找讀取或修改該文件的程序所寫下的日誌文件。如果它曾經被拷貝過,可以看看這些拷貝的最後修改時間。如果被刪除文件是可執行程序,那麼可以查查它的運行結果。

    3、用last命令可以查看計算機近期的開關機記錄,確定什麼時候計算機是關的,也很重要。

    方法還有很多,需要具體情況具體分析。

  • 中秋節和大豐收的關聯?
  • 泉水叮咚造句子一年級?