在linux下工作的很多人都有過這樣的尷尬經歷,辛辛苦苦寫了很久的**或者文件,乙個不小心就rm掉了,命令列刪除一般不會進入**站,這時候是不是想死的心都有了。
先說說活生生的悲劇是怎麼發生的。
先是認認真真寫了乙個下午指令碼setup.sh,在corev1.1中有乙個舊版本但是同名的setup.sh,於是就想刪了舊版本的,輸入命令:rm / corev1.1/setup.sh ,結果多輸入乙個空格。於是悲劇就發生了。舊版本的沒刪除,當前目錄下寫了乙個下午的setup.sh被徹底刪除了!
不過也不要太著急,因為不管是windows還是linux,檔案的刪除只是系統**了該檔案的軟體資源,但是在物理上檔案的內容仍然保留在儲存介質之上,直到下一次被覆蓋,格式化了也可以被找回來,除非低格(直接擦除磁碟)了那就真沒辦法了,但是一般日誌式的系統更容易恢復,我的fedora是ext4的系統,很容易恢復。
下面就是找回這個setup.sh的過程。
1.安裝extundelete
先yum search extundelete 查詢這個軟體包;
再yum insta extundelete.i686安裝。
2. 找到被rm的檔案
(0)檢視檔案系統型別和分割槽
檔案系統型別為ext4,extundelete支援的型別為ext3/ext4 ,
--inode 2為查詢當前目錄下的檔案和被rm掉的檔案。先從根目錄查起。
要恢復的setup.sh就在home目錄下。
home的節點號為393217,--inode 393217就是檢視home目錄下的檔案及被刪除的檔案。
依次下去,知道找到setup.sh的節點號。
setup.sh的節點號為542480,--restore-inode 542480就是恢復這個節點檔案。
(5)檢視恢復結果
在原來setup.sh的目錄下產生了乙個recovered_files目錄,恢復的檔案就在這個目錄中。
file. 542480就是要恢復的setup.sh。
下面是找回setup.sh全部過程的截圖:
如果覺得麻煩,為了以後方便,也可以將以上步驟封裝成乙個指令碼,這樣下一次就可以直接執行指令碼就行了,我就不封了。
Linux命令列刪除檔案恢復(Ubuntu)
在linux系統下,通過命令 rm rf 可以將任何資料直接從硬碟刪除,並且沒有任何提示,同時linux下也沒有與windows下 站類似的功能,也就意味著,資料在刪除後通過常 規的手段是無法恢復的,因此使用這個命令要非常慎重。在使用rm命令的時候,比較穩妥的方法是把命令引數放到後面,這樣有乙個提醒...
Linux命令列批量刪除檔案(目錄)
快速 批量刪除檔案或目錄 1 1.快速刪除大資料夾 注意目錄後的結束符 對於含有海量檔案的目錄,不能直接rm rf刪除,這樣效率很慢 rsync a delete blank test 使用空資料夾 blank 覆蓋原資料夾 test mkdir empty dir rsync a delete e...
git命令列刪除遠端檔案
1.拉取遠端倉庫 git pull origin master 2.刪除要刪除的資料夾或者檔案 gitrm r cached 要刪除的檔案 src main byit 3.提交 git commit m 刪除了 4.推送遠端倉庫 git push u origin master 刪除檔案和跟蹤 gi...