1. 程式人生 > >壞習慣二——rm -fr誤刪除

壞習慣二——rm -fr誤刪除

     使用vim時,很討厭rm命令的提示,每次刪除一個檔案時,總是提示是否刪除,於是就自動將rm命令轉換為rm -fr,這會可沒有討厭的提示了。但是問題出現了,無意間的誤操作,寫了2天的程式就這樣被刪除了,痛苦不已。

     於是在網上搜索如何恢復檔案,雖然最後恢復出來一些重要檔案,但是還是一些檔案沒有恢復出來。趕緊將rm命令改為原來,以免再出錯。

     想想也是,rm命令本來就應該謹慎使用,我想vim設計者也是這樣認為的,所以每次rm時都會提示使用者,哎,誤會大師了。

     在這裡把恢復過程寫上,以示警惕自己。

     恢復過程其實很簡單(針對我自己的情況:vmware6.5 ubuntu 10.04 ext4)

     主要參考該仁兄的文章,2011-01-12寫的,比我早一天,我真是很幸運啊/(^o^)/~

     1. 看你的檔案系統型別,是否為ext4

     #parted 接著輸入p

     Number  Start   End     Size    Type      File system     Flags
     1      1049kB  22.6GB  22.6GB  primary   ext4            boot
     2      22.6GB  23.6GB  1020MB  extended
     5      22.6GB  23.6GB  1020MB  logical   linux-swap(v1)

     2. 如果是ext4,則可以使用extundelete 工具,該工具針對ext3和ext4檔案系統

      下載最新版本,./configure --prefix=/var/extundelete; make ; make install

       由於擔心安裝extundelete後會覆蓋我刪除的檔案,所以我安裝到/var目錄下,configure時出現了一個錯誤:Can't find ext2fs library,解決方法:sudo apt-get install e2fslibs-dev e2fslibs-dev,然後make,make install即可

     3. 生產可執行檔案extundelete後,使用它來恢復刪除的檔案:

         #./extundelete /dev/sda1 --restore-all

         需要一段時間,把以前刪除的檔案只要能恢復的全恢復出來,執行完畢後在當前目錄生產一個RECOVERED_FILES目錄,裡面即是恢復出來的檔案,還包括資料夾哦/(^o^)/~,很方便查詢。如果你還記得刪除檔案中一些內容,直接grep就可以了,很快能找到刪除的檔案,如果找到的Binary file,那隻能杯具了。

      注意:在參考那位仁兄的文章時,並沒有進入單使用者模式,安裝完extundelete後直接執行恢復;也沒有umount  /home; 提示umount: /home: not mounted。

相關推薦

習慣——rm -fr刪除

     使用vim時,很討厭rm命令的提示,每次刪除一個檔案時,總是提示是否刪除,於是就自動將rm命令轉換為rm -fr,這會可沒有討厭的提示了。但是問題出現了,無意間的誤操作,寫了2天的程式就這樣被

Linux中如何恢復rm命令刪除的文件之extundelete編譯安裝及使用

可用 並且 地址 cat inode res 丟失 lin 所在 1、下載extundelete包,安裝依賴 我用的是Centos系統,在安裝extundelete之前需要安裝e2fsprogs,e2fsprogs-libs,e2fsprogs-devel。 yum in

Linux防止“rm -rf /”刪除

com 程序 -a user get prev tar acc 安裝 說明:不解釋了,運維應該在每臺服務器都去配置這個問題以減少災難的發生 方法: 1、safe-rm safe-rm是一個開源軟件用來替代不太安全的rm,可以在/etc/safe-rm.conf中配置路

如何優雅地使用 rm 防止刪除

fir 技術分享 etc 定向 方案 軟件工程師 全部 最大 就是 IT 界的有一個老梗,一次某論壇的數據庫管理員抱怨自己老板一直虐待他,結果他一氣之下就刪庫跑路了...... 於是... 據新華社北京 8 月 20 日電 ,北京一軟件工程師徐某離職後因公司未能如期結清工

Ubuntu命令列的垃圾箱Trash CLI,遠離 rm 命令刪除重要檔案的陰影

作為Linux使用者,您可能需要不時從系統中刪除檔案。我們在刪除檔案時往往會保持謹慎,特別是在永久刪除檔案時,因為我們不想永遠錯誤地丟失有用的資訊。不幸的是,有些情況下我們會錯誤地刪除某些內容而無法恢復它。或者,我們打算只刪除資料夾中的檔案,但也錯誤地從子資料夾中刪除檔案。在圖形介面中,事物幾乎可見,並且還有

Rm –rf刪除了一個數據檔案,而備份集恰好損壞,請寫出恢復步驟

 Oracle使用者下:  rm -rf /u01/app/oracle/oradata/vastdb/users01.dbf  ps -ef | grep ora_lgwr  ps命令將某個程序顯示出來  grep命令是查詢  中間的|是管道命令 是指ps命令與g

如何優雅的使用rm防止刪除指令碼

前言 下面的對話是來自運維派QQ群號:201777608 俗話說的好: 常在河邊走, 哪能不溼鞋。 身邊的例子很多,時刻提醒我們運維人員要建立明確、規範的標準化管理流程;提高運維效率、降低綜合成本;保障業務的連續性。 問題背景 若一不小心執行命令 rm -rf /,如果此時正好擁有root許可

EXT4中恢復使用rm命令刪除的檔案

起因:前幾天在公司伺服器上誤操作將ORACLE某表空間檔案給刪除了,結果導致幾張表不能正常訪問 遂谷歌了一把發現了神器 extundelete(如果是ext3檔案系統請使用ext3grep,本人未做測試),這玩意可比瘟得死下面的各種恢復工具強大多了(至少本人是這麼認為的),下面看步驟: 一、下載及安裝軟體

Oracle資料庫資料檔案rm -rf刪除後恢復

Oracle資料庫中表空間的資料檔案在基於OS系統級別被rm -rf 刪除後,只要資料庫在刪除後一直未被shutdown,那麼就可以手動恢復,恢復的前提是Oracle安裝在Linux系統下,下面是一個例項模擬 1. 在資料庫open的時候,直接刪除users表空間中的

linux下修改rm命令防止刪除

寫上 linu rm -rf 目錄權限 執行權限 一個 remove 但是 bsp 前言:相信很多朋友都遇到過在linux下用rm命令誤刪除文件的時候,此刻的心中仿佛有無數的羊駝在奔騰。那麽怎麽防止這種情況發生呢?當然是有方法的,我們可以寫一個shell腳本,改變一下rm命

MySQL之delete 忘加where條件刪除恢復方法

delete忘加where條件誤刪除恢復和昨天介紹的MySQL之delete 忘加where條件誤刪除恢復的mysql的環境條件是一樣的:mysql數據庫指定字符集位utf8,同時表的字符集也得為utf8,同時mysql要開啟row模式的bin-log日誌 創建一張測試表測試: create table My

利用alisa別名rm防止文件刪除

幫助文檔 mba 圖片 fcc 誤刪除 指定 配置文件 文件夾 .com 1,alias命令用來設置指令的別名。我們可以使用該命令可以將一些較長的命令進行簡化。將rm設置為mv,防止文件被誤刪除。2,將別名寫入到bashrc文件裏,.bashrc為隱藏文件3,將別名寫入到.

實驗:模擬場景中刪除mysql數據庫表,然後使用全備份以及進制日誌文件恢復操作

skip images 目錄 mysqldump 系統 cde tables ransac 環境 一、實驗環境: 1、準備兩臺虛擬機,一臺用於破壞數據庫,一臺用於還原,兩臺在同一個網絡 2、兩臺最小化安裝centos 7系統,並直接yum安裝maraidb數據庫 3、準備一

Linux下防止rm -rf /命令刪除

做伺服器運維的人眾所周知, rm -rf / 命令在Linux下執行後,就是一場災難。 好吧,先看一個事例,瞭解下這個命令的恐怖>>>一個命令rm -rf/ ,他把整個公司刪沒了 為了防止這種誤刪除操作,找了很多辦法,有建議回收站機制、也有說給重要目錄設

重寫rm命令防止刪除

故事的起因        今天聽說順豐的一個大佬因為誤操作刪除了生產庫而被開掉的血案, 好像最近總是聽到類似的新聞, 比方說前段時間亞馬遜和百度也都傳出過因為誤操作而導致的血案.因為這一些列的血案,網友開始調侃從刪庫到跑路的梗, 同時rm -rf / 也被加入到調侃之列.

修改Linux中的rm命令防止刪除操作

1. 在/home/username/ 目錄下新建一個目錄,命名為:.trash 2.. 在/home/username/tools/目錄下,新建一個shell檔案,命名為: remove.sh PARA_CNT=$# TRASH_DIR="/home/username/.trash" for i

【程式碼修煉系列分享】改掉這些習慣,還怕寫不出健壯的程式碼?()

Code Review 是一場苦澀但有意思的修行。書接上篇,本次繼續探討一下,該如何寫出健壯的程式碼? 一、編碼時:看似順眼,實則不然。 舉個栗子: String amount = request.getParameter("amount"); // 校驗金額小數點後最多兩位小數 BigDecimal a

Linux下通過find命令進行rm文件刪除的小技巧

ase test sysconfig ger sdn tun 執行過程 fun alt 我們常常會通過find命令進行批量操作。如:批量刪除舊文件、批量改動、基於時間的文件統計、基於文件大小的文件統計等。在這些操作其中,因為rm刪除操作會導致文件夾結構變化,

Git 恢復刪除的本地倉庫文件

信息 倉庫 rm git commit 在工作中使用首先使用git add *添加文件到本地倉庫裏,git commit -m "****"之後發現添加了一些自己不想提交的代碼;所以使用了git rm *~刪除了本地倉庫裏所有add的文件,最後發現本地代碼也沒有了,怎麽辦? 1、首先使用

巧用第三方開源工具trash-git放置linux刪除文件

python rm trash #!/bin/sh environment_python(){ yum -y install python echo "python OK " } environment_git(){ yum -y install git echo "git OK" } get