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,导致整个系统异常。