linux誤刪文件怎么恢復 linux如何恢復剛刪除的文件

大家好,如果您還對linux誤刪文件怎么恢復不太了解,沒有關系,今天就由本站為大家分享linux誤刪文件怎么恢復的知識,包括linux如何恢復剛刪除的文件的問題都會給大...
大家好,如果您還對linux誤刪文件怎么恢復不太了解,沒有關系,今天就由本站為大家分享linux誤刪文件怎么恢復的知識,包括linux如何恢復剛刪除的文件的問題都會給大家分析到,還望可以解決大家的問題,下面我們就開始吧!
如何恢復LINUX中意外刪除的文件
當進程打開某個文件時,只要該進程保持打開該文件,即使將其刪除,它依然存在于磁盤中。這意味著,進程并不知道文件已經被刪除,它仍然可以向打開該文件時提供給它的文件描述符進行讀取和寫入。除了該進程之外,這個文件是不可見的,因為已經刪除了其相應的目錄索引節點。在這種情況可以通過lsof來恢復這些文件。
在/proc目錄下,其中包含了反映內核和進程樹的各種文件。/proc目錄掛載的是在內存中所映射的一塊區域,所以這些文件和目錄并不存在于磁盤中,因此當我們對這些文件進行讀取和寫入時,實際上是在從內存中獲取相關信息。大多數與lsof相關的信息都存儲于以進程的PID命名的目錄中,即/proc/12中包含的是PID為12的進程的信息。每個進程目錄中存在著各種文件,它們可以使應用程序簡單地了解進程的內存空間、文件描述符列表、指向磁盤上的文件的符號鏈接和其他系統信息。lsof程序使用該信息和其他關于內核內部狀態的信息來產生其輸出。所以lsof可以顯示進程的文件描述符和相關的文件名等信息。也就是我們通過訪問進程的文件描述符可以找到該文件的相關信息。
下面舉例說明
我/tmp目錄下創建了腳本文件,時刻在后臺運行,但是tmp目下會被系統定時刪除的,但犯懶不想重寫腳本,想把原來的找回,具體步驟如下。
1.查看已經被刪除的文件diamon.sh,已經不存在了
[root@centos5~]#ll/tmp/
total28
-rw-r--r--1rootroot402Sep2614:19load_tab.sh
srwxrwxrwx1mysqlmysql0Sep1615:20mysql.sock
drwx------2rootroot4096Oct1215:44ssh-hiPBw10887
drwx------2rootroot4096Oct1016:12ssh-lUXbjf6337
2.使用lsof來查看當前哪個進程正在打開文件”/tmp/diamon.sh“
[root@centos5~]#lsof|grepdiamon
sh8455root255rREG253,0173764298/tmp/diamon.sh(deleted)
[root@centos5~]#
從上面的輸出可以看到,進程8455正在以只讀的方式打開這個文件,打開的文件描述符為255,同時文件/tmp/diamon.sh被標記刪除。然后我查看文件"/proc/8455/fd/255"
[root@centos5~]#more/proc/8455/fd/255
#variables
dir=/tmp
while(true)
do
v_num=`ps-ef|grepload_tab|grep-vgrep|wc-l`
if[$v_num-lt4];then
sh/tmp/load_tab.sh>/dev/null2>&1&
fi
done
[root@centos5~]#
3.已經找到已經被刪除的文件了嗎然后利用I/O重定向將其恢復到指定文件中,如下
[root@centos5~]#cat/proc/8455/fd/255>/tmp/diamon.sh
檢查文件已經被恢復了
[root@centos5~]#ll/tmp
total36
-rw-r--r--1rootroot173Oct1216:53diamon.sh
-rw-r--r--1rootroot402Sep2614:19load_test10.sh
srwxrwxrwx1mysqlmysql0Sep1615:20mysql.sock
drwx------2rootroot4096Oct1215:44ssh-hiPBw10887
drwx------2rootroot4096Oct1016:12ssh-lUXbjf6337
[root@centos5~]#
查看恢復的文件內容是否正常
[root@centos5~]#
[root@centos5~]#more/tmp/diamon.sh
#variables
dir=/tmp
while(true)
do
v_num=`ps-ef|grepload_test|grep-vgrep|wc-l`
if[$v_num-lt4];then
sh/tmp/load_test10.sh>/dev/null2>&1&
fi
done
[root@centos5~]#
至此linux恢復刪除文件成功結束
總結:
A.在文件被刪除時,不要慌,盡可能保存現場
B.對于某些數據庫文件被誤刪除很有效
linux怎么找回刪除的文件的操作ip
1、打開linux服務器,然后在linux桌面的空白處點擊右鍵。
2、在彈出的下拉選項里,直接點擊【打開終端】。
3、打開linux服務器的命令終端后,在這里就可以使用獲取ip地址命令。
4、輸入查詢linux的ip地址的命令:ifconfig-a,然后回車。
5、使用查看linux的ip地址命令后,就會在終端命令窗口里顯示出ip地址。
群暉刪除文件不會恢復空間
1.刪除了文件沒清理回收站
控制面板-系統-計劃任務-新增計劃任務-回收站默認就行,每天0點自動清理。或直接手動清理即可。
2.同步軟件版本控制一般設置5即可,有些同步軟件即使刪除了原文件和清空了回收站,但空間還是沒有釋放,因為有歷史版本自動備份。如driver,cloudstation等。
可以控制面板-終端啟用ssh服務。用putty,xshell等軟件連接服務器,用root登錄服務器。
cd/volume1[按Enter](變更目錄到/volume1或您需要的目錄)
du-h-d1[按Enter](列出第一層子文件夾所占用的空間)
通過此方式您即可找出哪個文件夾或檔案占用了大量的磁盤空間。如果@cloudstation文件夾占用了很多空間,請停止通過CloudStation來同步您的共享文件夾。如果@synlogydriver文件夾專用了很多空間,可以通過driver管理控制臺,先計算使用空間,通過版本資源管理器,操作-清除版本數據庫即可釋放空間。注意查看角色是不是你刪除文件的用戶,切換到你刪除過文件的用戶下。操作-顯示刪除文件,會發現剛才刪除的文件還存在。沒有徹底刪除掉。可通過清除版本數據庫即可釋放空間。
可以適當的設置幾個版本,在團隊文件夾下-版本控制-設置5個以下即可。
注:如果使用linux命令刪除文件,資料將會丟失,請慎用!
linux 怎樣無提示刪除文件
1、第一步,先登錄linux的服務器。
2、接著在任選一個目錄下,新建一個a.txt。
3、rm指令用法:rm-rfa.txt,其指令是可強制刪除所選的目錄以及文件。
4、接著我們來執行一下,其便刪除了。
5、假設刪除時,不加上-f,在執行的時候,它就會提示石夠刪除,輸入y是確定,n是取消,再加回車鍵。
linux中能刪除能再打開的文件嗎
能,在回收站,可以重新下載打開文件
linux誤刪文件怎么恢復的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于linux如何恢復剛刪除的文件、linux誤刪文件怎么恢復的信息別忘了在本站進行查找哦。
本文鏈接:http://xinin56.com/qianduan/770.html