使用lsof恢復rm rf刪除後的檔案

2021-09-04 02:31:43 字數 961 閱讀 4089

在linux系統中使用rm -rf刪除檔案後,其實檔案只是從磁碟中移除,檔案內容還是在系統後台等待**,此時可以使用系統程序號將檔案考貝出來,內容不會有更改。

1.刪除乙個檔案

[root@iz62f427er8z logs]# ll access.log

-rw-r--r-- 1 root root 11723908 jun 14 16:02 access.log

[root@iz62f427er8z logs]# rm -rf access.log

2.檢視檔案在後台的程序

[root@iz62f427er8z logs]# lsof  | grep delete | grep access

nginx      1212   root    9u   reg  202,1   11723908   274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)

nginx     12953     www    9w   reg  202,1   11723908   274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)

nginx     12954    www  9w   reg     202,1   11723908     274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)

[root@iz62f427er8z logs]#

3.將檔案從程序中複製到磁碟上

[root@iz62f427er8z logs]# cp /proc/12953/fd/9  .     #12953是程序號,9是檔案描述符

[root@iz62f427er8z logs]# du -sh 9

12m    9

[root@iz62f427er8z logs]# cat 9        #檔案內容看到了

Linux下rm rf 後恢復檔案

2011年11月15日08 17 慧聰it網 在linux系統下,如果你不小心誤刪除了乙個檔案價或檔案,如rm rf 而 資料夾下有非常重要的資料,因為這個命令意味著一旦刪除的檔案是無法挽回的,事實是如此嗎?真的沒有補救措施了嗎?答案是委婉了,在一定的條件下可以補救,大家可能熟悉windows下刪除...

如何使用lsof命令恢復刪除的檔案

在linux檔案系統中,檔名實際是指向索引節點 inode 的鏈結。linux建立檔案系統後,就會生成inode表,inode索引節點會包含檔案的屬性 block塊的指標等資訊關於inode介紹看我這篇博文。當使用 rm 命令刪除某檔案時,只是刪除了指向inode索引節點的鏈結,但是沒有刪除inod...

如何使用lsof恢復誤刪除的檔案

檔案實際上是乙個指向inode的鏈結,inode鏈結包含了檔案的所有屬性,比如許可權和所有者,資料塊位址 檔案儲存在磁碟的這些資料塊中 當你刪除 rm 乙個檔案,實際刪除了指向inode的鏈結,並沒有刪除inode的內容.程序可能還在使用.只有當inode的所有鏈結完全移去,然後這些資料塊將可以寫入...