1. 直接操作設備文件描述符
我們知道/dev目錄下存放的是設備的文件描述符。直接往設備描述符中寫入數據,將破壞整個設備,如:對于硬盤設備映射到/dev/目錄下的文件描述符寫入數據,將破壞該磁盤設備上面的文件系統,或者已有的數據。
echo “ ”> /dev/sda,這樣一個簡單的命令就可以破壞整個磁盤上面的數據;
mkfs.ext3 /dev/sda1,創建文件系統;
fdisk /dev/sda ,重建分區;
dd if=/dev/zero of=/dev/sda,直接寫入數據到磁盤設備文件描述符。
這些對于已經存在數據的硬盤而言,都是致命的。
2. rm -rf
通常,為了,一條命令就能刪除一個目錄下的所有文件,以及整個目錄,我們會直接使用:rm -rf,有時還會給出這樣的代碼:rm –rf /$SOME_DIR_TOBE_DEL/,如果SOME_DIR_TOBE_DEL變量未被賦值,那么這條命令將會執行:rm –rf /,將整個linux系統的根文件目錄都刪掉了,后果可想而知。
3. 重定向命令使用不當
正確的重定向標準輸出和標準錯誤的方法是:>/dev/null 2>&1 ,關于連環重定向,可以參考這里的解釋:>/dev/null 2>&1 含義。如果一不小心,可能會導致/dev/null 被重定向到0,1或2,導致整個系統異常。