【linux运维】系统常见管理命令

系列综述:
💞目的:本系列是个人整理为了学习基本的shell编程和linux命令,整理期间苛求每个知识点,平衡理解简易度与深入程度。
🥰来源:材料主要源于b站大学——linux运维课程进行的,每个知识点的修正和深入主要参考各平台大佬的文章,其中也可能含有少量的个人实验自证。
🤭结语:如果有帮到你的地方,就点个赞关注一下呗,谢谢🎈🎄🌷!!!


文章目录

    • 常用命令
      • 命令的基本格式
      • 目录操作命令
      • 文件操作命令
      • 目录和文件操作命令
      • 权限管理
      • 帮助命令
      • 网络命令
      • 系统操作痕迹命令
      • 挂载命令
    • 参考博客


😊点此到文末惊喜↩︎


常用命令

命令的基本格式

  1. [root@localhost ~] #的含义
    • []:分隔符,无特殊含义
    • root:当前登录用户名
    • localhost:当前系统的简写主机名
    • ~:代表用户当前所在的目录
    • #:命令提示符。超级用户是#,普通用户是$
  2. 命令的常见格式
    • [root@localhost ~] # 命令 [选项] [参数]
    • 选项:用于调整命令功能
    • 参数:命令的操作对象,没有则会使用默认的参数
  3. 目录命令ls的详细信息
    [root@localhost ~] # ls -l
    -rw------. 1 root root 1207 1月14-18:18 anaconda-ks.cfg
    
    • 权限:文件读写执行的相关权限
    • 引用计数:文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。
    • 所有者:这个文件属于哪个用户。默认所有者是文件的建立用户
    • 所属组:默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
    • 文件大小:默认单位是字节。
    • 文件最近修改时间:注意这个时间不是文件的创建时间。
    • 文件名
  4. ls命令的常用选项
    • -a(all):显示所有文件,包含隐藏文件
    • --color=never:改变ls信息颜色,避免工作场景下的颜色对比模糊问题
    • -l(long):长格式显示
    • -d(dirtory):显示当前目录信息
    • -h(human):人性化显示文件大小,包含单位K、M等
    • -i(inode):显示文件的i节点号

目录操作命令

  1. ls:目录信息查看

  2. cd:打开目录命令,注意路径的使用

    • 绝对/相对路径:新手推荐使用绝对路径降低出错的概率
    # 绝对路径:开始的/表示从根目录开始
    [root@localhost ~] # cd /usr/  
    # 相对路径:开始没有/表示从当前目录开始
    [root@localhost ~] # cd usr/	
    
    • 简化操作
    特殊符号作用
    ~ 或 空用户家目录
    -上次访问目录
    .当前目录
    代表上级目录
  3. pwd:显示当前所在目录

  4. mkdir:建立目录

    • 在同一目录下的,目录和文件不可同名。win下有隐藏扩展名
    #在当前路径建立目录
    mkdir 目录名称
    # 删除当前路径的指定目录,作用有限
    rmdir 目录名称
    # 建立多级目录
    mkdir -p 12/23/34
    # 删除多级目录,不能后悔的误删除,用前需多思!!!
    rm -rf 12
    # 删除目录下的所有文件
    rm -rf /目录/*
    
    • 避免误删:所有服务器都应该先预装extundelete,误删除后减少操作导致的文件覆盖,可能全部找回

文件操作命令

  1. echo:修改文件

    # 文件不存在则创建,存在则追加
    echo 内容 >> abc
    
  2. touch:创建文件

    # 文件不存在则创建,存在则修改文件时间戳
    touch 文件名
    
  3. stat:文件详细信息

    • 没有文件的创建时间
      在这里插入图片描述
  4. cat:查看小文件内容

    # 显示行号,但不适合查看大文件
    cat -n 文件名称
    # 列出所有隐藏符号:$为回车,^为Tab
    cat -A 文件名称
    
  5. more:分屏显示大文件内容

    # 空格向下翻页,b向上翻页,回车向下一行,
    # q退出分屏显示,/字符串 后回车会搜索
    more 文件名称
    
  6. less:分行显示大文件内容

    # 上下箭头进行翻找行,q退出显示
    less 文件名称
    
  7. head/tail:分行显示大文件内容

    # 显示文件头或尾的二十行
    head/tail -20 文件名称 
    # 监听文件追加的数据,ctrl+c才能退出
    tail -f 文件名称
    
  8. ln:对两个文件进行硬链接,标记不清,不建议使用

    ln bcd /tmp/bcd_h
    
    • 特点
      • 具有相同的Inode和Block
      • 修改任意其一,二者均变
      • 删除任意其一,另一个仍可用
      • 不能链接目录和跨分区链接
    • 原理:两者索引了同一个Inode所代表的Block,即文件本质相同只是有两个名称
  9. ln - s:对两个文件进行软链接,类似win下的快捷方式

    # 
    ln -s 绝对路径1 绝对路径2
    
    • 特点
      • 具有不相同的Inode和Block
      • 修改任意其一,二者均变
      • 删除软链接,源文件不受影响,删除源文件,软链接不能使用
      • 能够链接目录和跨分区链接
    • 原理:软链接通过一个在这里插入图片描述

目录和文件操作命令

  1. rm -rf 文件名称
    • 用前三思,用后无法删除
    • r表示递归删除,f表示强制删除
  2. cp:复制文件或目录
    • -a:表示-pdr,组合使用可以满足90%的情况
    # 可以用于复制文件或目录,并且复制后信息完全相同(包含修改时间)
    cp -a 目录/文件   新目录/文件
    # 复制文件:将当前目录的def文件复制到tmp目录下并改名为hjk
    cp def /tmp/hjk
    # 复制目录:需要使用-r选项
    cp -r 12  /tmp/23
    
  3. == mv== :移动或重命名文件
    # 在同目录下为重命名
    mv 12  23
    # 在不同目录下为剪切
    mv 12 /tmp/
    

权限管理

  1. ls -l中文件前面的十位-的权限含义
    在这里插入图片描述
    • 第一位:-表示普通文件,d表示目录文件,l表示软链接文件
    • 剩下九位,每三个一组,分别表示user、group、other的权限,其中表示读r、写w、执行x
    • 相同所属组和所有者的权限,所有者权限匹配高于所属组
  2. chmod:修改权限位
    # 给文件bcd的user增加可执行权限
    chmod u+x bcd
    # 给文件的所属组和其他人都取消写权限
    chmod g-w,o-w bcd
    #数字赋予权限:4表示r,2表示w,1表示x,以下为常见权限
    chmod 644 bcd # 小权限:所有者拥有读写权限,而所属组和其他人只有读权限
    chmod 755 bcd # 中权限:所有者拥有读写执行权限,而所属组和其他人只有读和执行权限
    chmod 777 bcd # 大权限:个人严禁使用,会有隐藏安全问题
    
  3. chown :修改文件的所有者和所属组
    • 普通用户不能修改文件的所有者,即使该文件属于这个普通用户,所以超级用户才行
    # :前面为所有者,后面为所属组
    chown root:root bcd 
    
  4. 权限的注意点
    • 权限:本质是Inode权限,表示对其指向的Block的权限
    • 删除文件:对文件具有写权限,不能删除文件本身。若想要删除文件,需要对【文件的上级目录具有写权限】,因为文件名称在上级Inode的Block中。
    • 执行权限
      • 对目录的执行,仅表示可以使用cd进入该目录
      • 对文件的执行,注意不要轻易赋予!!!
    • 目录只能赋的权限
      • 0表示无权限
      • 5表示基本的目录浏览权限
      • 7表示完全权限
    • root用户对任何文件都拥有所有权限
  5. umask:查看或临时修改系统的默认权限
    • 规则:后面三个数值符合421规则,分别表示user、group和other
    • 永久修改需要修改环境配置文件/etc/profile
    • 系统默认最大权限
      • 对文件:666,执行权限对文件有风险,可以后面手动加执行权限
      • 对目录:777,执行权限仅表示可以进入目录
    • umsk和权限值得计算方法
      在这里插入图片描述

帮助命令

  1. man 命令:查看命令的信息,info更加详细,help只能查找内部命令

    • 描述格式:名称、格式、描述
    快捷键作用
    上箭头向上移动一行
    下箭头向下移动一行
    PgUp向上翻一页
    PgDn向下翻一页
    g移动到首页
    G移动到尾页
    / 字符串从当前页向下搜索
    ?字符串从当前页向上搜索
  2. whereis 命令:搜索系统命令的源文件位置、帮助文件位置

  3. which 命令:查看系统命令的别名

    • 例如:ll 等价于 ls -l --color=auto
  4. locate:按照文件名搜索文件所在位置,推荐使用

    • 消耗资源少速度快,因为直接搜索数据库命名文件/var/lib/mlocate/mlocate.db
  5. locate:按照文件名搜索文件所在位置,推荐使用

  6. find:搜索系统中符合条件的文件名

    • 完全匹配:本性自足
    • 模糊匹配:使用通配符
    # 基本搜索格式
    find . -name abc
    # 不区分大小写搜索
    find . -iname abc
    # 按i节点号搜索
    find . -inum 1055790
    # 按文件大小搜索,+表示比28k大,-表示比28k小
    find . -size +28k 
    # 按照文件大小搜索,k必须小写,M必须大写
    find . -size -28M
    # 按照文件字节大小搜索
    find . -size 15c# 查找6天之前修改的文件
    find . -atime +5  
    
    • 使用man find,然后再用/-size,即可查询对应的参数详细信息
    • find . -perm +444:+表示文件任一权限大于给定权限即可,-表示必须全部包含
    • find . -nouser查找外来文件
    • 逻辑运算
      • find . -size +1k -a -type f:大小大于1k,并且是文件类型的文件
      • find . -name can -o -name bol:名字为can或bol的文件
      • find . -not/! -name can:名字不为can的文件
    • 管道处理
      • find 路径 参数 -exec 其他命令 {} \; :将find命令的查询结果给到{}中,作为其他命令的参数对象
  7. grep:在文件内容中搜索符合条件的字符串

    • 模糊匹配:本性自足
    • 完全匹配:使用正则表达式
    # 基本使用
    grep  "123" abc
    
  8. 通配符用于完全匹配文件名

    通配符作用
    匹配任意一个字符
    *匹配任意多个字符(包含空字符)
    []匹配括号中的任意一个字符,[ab]表示a或b
    [-]匹配括号范围中的一个字符,[a-z]表示匹配一个小写字母
    [^]范围逻辑非,表示匹配非括号内范围的一个字符,[^0~9]表示匹配一个非数字字符
  9. 正则表达式用于模糊匹配文件内容

    • egrep:表示使用标准正则规则,如下所示
    正则表达式作用
    匹配0个或1个前一个字符,必须使用egroup
    *匹配0个或多个前一个字符,注意a*会匹配空字符
    []匹配括号中的任意一个字符,[ab]表示a或b
    [-]匹配括号范围中的一个字符,[a-z]表示匹配一个小写字母
    [^]范围逻辑非,表示匹配非括号内范围的一个字符,[^0~9]表示匹配一个非数字字符
    ^字符匹配行首含指定字符的行
    字符$匹配行尾含指定字符的行
    # 在abc文件中,匹配行首为a,后面b重复0或任意多次(单纯a*会匹配所有行)
    grep --color=auto "^aa*" abc
    

网络命令

  1. 配置网络IP地址
    • setup工具:只在redhut、centos等中专用
    • 标准:修改配置文件
    # 1.打开配置文件
    vi /etc/sysconfig/net-work-scripts/ifcfg-eth0
    # 2.虚拟机需要桥接到有线网卡,并重启网络服务
    # 3.重启网络服务
    service network restart
    
  2. 常见配置IP失败原因
    • ip地址冲突:换一个IP地址
    • UUID冲突:常见在虚拟机的快照或镜像的克隆
    # 手动下面文件中的MAC地址行
    vi /etc/sysconfig/net-work-scripts/ifcfg-eth0
    # 删除MAC地址和UUID的绑定文件,使UUID重新计算
    rm -rf /etc/udev/rules.d/70-persistent-net.rules
    # 重启linux
    reboot
    
  3. ipconfig:查看IP、MAC、子网掩码等网络配置信息
  4. ping:基于ICMP协议进行网络连通性的探测
    ping -b -c 3 192.168.103.93
    • -c:指定探测次数
    • -b:询问网段内所有ip主机
  5. netstat:查看本机的所有客户端或开启的端口
    # 查看端口服务:Proto协议,Recv-Q接收数据,Send-Q发送数据
    # 接上:Local Address本机IP和端口,Foreign Address远程IP和端口,State状态
    netstat -tuln
    # 查询那个程序PID占用了端口
    netstat -tulnp
    # 查询网络网关地址
    netstat -rn
    
  6. write:向目标用户发送信息
    write 用户名 终端号
    message only in English
    Ctrl+D发送信息
    
  7. wall:给所有正在使用服务器的用户发送信息
    wall "I will be in 5 minutes to restart,please save your data!!!"
    
  8. ==mail ==:向用户发送或查看已经接受的邮件
    # 发送文件
    mail -s "邮件标题" 用户名 < 要发送文件的绝对地址
    
  9. wall:给所有正在使用服务器的用户发送信息
    wall "I will be in 5 minutes to restart,please save your data!!!"
    

系统操作痕迹命令

  1. 系统痕迹日志:二进制存储,只能使用专用命令进行更改和查看
    • /var/log/wtmp
    • /var/run/utmp
    • /var/log/btmp
    • /var/log/lastlog
  2. w/who:查看所有的用户登录信息,who更加简略
    在这里插入图片描述
  3. 系统死机风险:CPU占有率不能超过70%,内存占有率不能超过90%
  4. last:查看系统所有登录过的用户信息
    # 查看系统中所有用户是否登录过,包含伪用户(用于系统服务的拉起)
    lastlog
    # 查询尝试登录但失败的情况
    lastb
    

挂载命令

  1. 挂载:将文件的设备名空目录链接的过程
  2. mount:将虚拟机和win下目录进行链接,从而实现文件共享通信
    # 查询系统中已经挂载的文件信息,其中swap文件给内核使用不需要挂载点
    mount
    # 挂载光盘## 建立空目录,命名规则为习惯
    mkdir /mnt/cdrom## 挂载
    mount -t iso9660 /dev/cdrom /mnt/cdrom/## 用完后需要卸载,卸载时需要退出光盘目录
    umount /dev/sr0## 卸载完成后,原来挂载目录下的文件仍然存在,但是无法清理,所以最好使用空目录
    # 挂载U盘## 确定win下服务中VMware USB Arbtration Service是打开的## 查看插入U盘的设备目录
    fdisk -l## 创建空目录
    mkdir /mnt/usb## 挂载,-t vfat是U盘文件格式,-o iocharset=utf8指定挂载后的字符集编码
    mount -t vfat -o iocharset=utf8  设备名/dev/上面查询的 挂载点目录/mnt/usb/
    # 使用umount卸载u盘后,才能正确拔出u盘# 自动挂载:扫描/etc/fstab的内容,若没错则执行,出错则报错。避免系统错误挂载导致的实体服务器崩溃!!
    mount -a
    
  3. 关闭系统服务的优点
    • 减少黑客攻击
    • 减少系统资源的开销
    • 但是可能导致系统软件无法拉起正常的服务
  4. Linux正确正常显示中文的条件
    • 安装中文编码和字体
    • 操作终端支持中文显示,纯字符界面不支持中文显示
  5. 所有shell命令的换行符号\
  6. linux中的驱动加载方式
    • 内核驱动:系统启动必须使用的驱动,数量较少,效率高/lib/modules目录下放置
    • 模块驱动:驱动以模块的形式放在硬盘中,多数驱动
    • 非常用驱动:系统一般不常见,需要加载的话需要重新编译内核,如NTFS驱动
    • 第三种一般可以使用插件进行处理,如NTFS-3G可以解析NTFS
      在这里插入图片描述
  7. linux文件原理
    • i节点中存储文件的时间、权限和保存位置等,文件名称在上个目录节点的block块中在这里插入图片描述


少年,我观你骨骼清奇,颖悟绝伦,必成人中龙凤。
不如点赞·收藏·关注一波


🚩点此跳转到首行↩︎

参考博客

  1. 待定引用
  2. 待定引用
  3. 待定引用
  4. 待定引用
  5. 待定引用
  6. 待定引用
  7. 待定引用
  8. 待定引用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/826672.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装多个MySQL版本时如何连接到不同的数据库

当安装多个版本的数据库时&#xff0c;不同版本的端口名不一样&#xff0c;可以使用以下命令进行连接 mysql -uroot -p数据库密码 -h主机名 -P端口号 数据库主机名默认是localhost&#xff0c;端口号默认是3306&#xff0c;当安装多个版本数据库时&#xff0c;需要记住数据库的…

【多线程】CAS的应用 | CAS的概念 | 实现原子类 | 实现自旋锁

文章目录 一、CAS1.什么是CAS2.实现原子类3.实现自旋锁 一、CAS 1.什么是CAS Compare and swap 比较并交换。 比较交换的是 内存 和 寄存器 比如此时有一个内存 : M。 还有两个寄存器A,B ​ CAS ( M , A , B ) :如果M和A的值相同的话&#xff0c;就把M和B的值进行交换(交换的…

排序之插入排序:从斗地主到插入排序

目录 1.斗地主如何摸牌 2.从摸牌想到插入排序 3.完成插入排序 4.结束语 1.斗地主如何摸牌 不知道各位是否玩过几乎人人都玩过的斗地主游戏呢&#xff1f;相必各位或多或少都玩过一点&#xff0c;再没玩过也看别人打过。今天博主就将从这个游戏为大家讲解我们的插入排序。 在…

React vs Vue.js:两种流行框架背后的设计哲学差异

Vue.js 和 React 虽然都是流行的前端框架,但在设计哲学上有一些显著差异。这些差异源自它们不同的设计目标和出发点。 vue.js Vue.js 的核心设计原则是"渐进式"。它旨在尽可能降低学习成本和入门门槛,并与其他库和项目保持良好的整合性。Vue 的设计注重简单性和直观…

C语言堆区内存管理

一、C语言编译的内存分配 二、堆区空间的分配 1、malloc函数 功能&#xff1a;从堆区分配内存 #include <stdlib.h> void *malloc(unsigned int size)//size 分配内存的字节数2、free函数 功能&#xff1a;释放内存 #include <stdlib.h> void free(void *ptr)…

数据恢复宝典:应对磁盘损坏无法读取的终极攻略

当电脑屏幕上突然弹出“磁盘损坏无法读取”的提示时&#xff0c;许多人的心情都会瞬间跌入谷底。那些存储在磁盘中的重要文件、珍贵的回忆&#xff0c;似乎在一瞬间都化为乌有。面对这样的困境&#xff0c;我们该如何应对&#xff1f;本文将深入探讨磁盘损坏无法读取的原因&…

常见的经典目标检测算法

目标检测是计算机视觉领域的一个核心任务&#xff0c;它涉及到识别图像中的物体并确定它们的位置。以下是一些常见的经典目标检测算法&#xff1a; R-CNN系列 R-CNN&#xff08;Region-based Convolutional Neural Network&#xff09;是一种用于目标检测的算法&#xff0c;它…

深度学习500问——Chapter08:目标检测(2)

文章目录 8.2.4 R-FCN 8.2.5 FPN 8.2.6 Mask R-CNN 8.2.4 R-FCN R-FCN 有哪些创新点 R-FCN仍然属于two-stage目标检测算法&#xff1a;RPN R-FCN Fully convolutional位置敏感得分图&#xff08;position-sentive score maps&#xff09; our region-based detector is ful…

OpenVINO安装教程 npm版

从 npm Registry安装 OpenVINO™ 工具套件的英特尔发行版 请注意&#xff1a; 仅提供 JavaScript API 专用于所有主要操作系统的用户&#xff1a;Windows、Linux 和 macOS &#xff08;所有 x86_64 / ARM64 架构&#xff09; macOS 仅支持 CPU 推理 系统要求软件要求 Window…

Python 数据结构和算法实用指南(二)

原文&#xff1a;zh.annas-archive.org/md5/66ae3d5970b9b38c5ad770b42fec806d 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第四章&#xff1a;列表和指针结构 我们已经在 Python 中讨论了列表&#xff0c;它们方便而强大。通常情况下&#xff0c;我们使用 Python…

【C语言】求最小新整数(贪心算法)

文章目录 题目描述方法一方法二 题目描述 给定一个十进制正整数n(0 < n < 1000000000)&#xff0c;每个数位上数字均不为0。n的位数为m。 现在从m位中删除k位(0<k < m)&#xff0c;求生成的新整数最小为多少&#xff1f; 例如: n 9128456, k 2, 则生成的新整数最…

windows ubuntu 子系统:肿瘤全外篇,2. fq 数据质控,比对。

目录 1.质控 2.比对并排序 3.标记PCR重复,使用picard 4.samtools建立索引 首先我们先下载一组全外显子测序数据。nabi sra库&#xff0c;随机找了一个。 来自受试者“16177_CCPM_1300019”(SRR28391647, SRR28398576)的样本“16177_CCPM_1300019_BB5”的基因组DNA配对端文库…

# 从浅入深 学习 SpringCloud 微服务架构(三)注册中心 Eureka(3)

从浅入深 学习 SpringCloud 微服务架构&#xff08;三&#xff09;注册中心 Eureka&#xff08;3&#xff09; 段子手168 1、eureka&#xff1a;高可用的引入 Eureka Server 可以通过运行多个实例并相互注册的方式实现高可用部署&#xff0c; Eureka Server 实例会彼此增量地…

python爬虫小案例——汽车之家

本篇文章是使用bs4中的BeautifulSoup和requests解析网页和获取数据&#x1f451;&#x1f31f; 文章目录 &#x1f31f;前言一、&#x1f349;bs4中的BeautifulSoup二、&#x1f349;bs4的语法三、&#x1f349;内容实践1. 确定想要爬取的内容2. 分析网页3. 获取数据分析 &…

JAVA并发编程面试题

作者有话说&#xff1a;目前正在跟新一系列的java面试题&#xff0c;持续不断更新。需要找工作或者不需要找工作的猴子们&#xff0c;都可以关注一下。着急的可以评论区留留言&#xff0c;面试文档以及简历模板。看到了我会发 1. 说说进程和线程的区别 进程 当一个程序在计算机…

java-Spring-入门学习-第二天(单例模式和多例模式)

目录 Bean作用域 单例模式(默认可以不写) Spring下的 AutoWired 依赖注入 JaveEE下的 Resource 依赖注入 多例模式 Bean作用域 ​在Spring框架中&#xff0c;Bean是按照作用域来创建的&#xff0c;常见的作用域有两种&#xff1a;Singleton 和 Prototype。Singleton (单例…

Python编程与算法面试-编程面试的重点

在求职面试的过程中&#xff0c;编程能力也是面试官非常看重的一项能力。而对于编程这项能力主要的考察点也有三个维度&#xff1a; 初级&#xff1a;编程的基本功 编程的基本功主要考察的编程语言的基本语法&#xff0c;原理知识&#xff0c;以及一些在编程过程中的常见问题…

深入理解MD5:Message Digest Algorithm 5

title: 深入理解MD5&#xff1a;Message Digest Algorithm 5 date: 2024/4/21 18:10:18 updated: 2024/4/21 18:10:18 tags: MD5哈希函数密码学数据完整性碰撞攻击安全性替代算法 导论 MD5的背景和历史 MD5&#xff08;Message Digest Algorithm 5&#xff09;是一种广泛使用…

一堆喷儿香喷儿香的工具网站-已经收藏-搜嗖工具箱!

文心一言 https://yiyan.baidu.com/ ​ ChatGpt横空出世的横空出世好像一把钥匙&#xff0c;开启了大模型时代&#xff0c;国内也有不错的产品&#xff0c;比如百度的文心一言&#xff0c;从3.5到4.0看得见的成长&#xff0c;现在的文心一言是我们工作中不可缺少的好帮手&am…

javaEE初阶——多线程(五)

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享关于多线程的文章第五篇关于 多线程代码案例二 阻塞队列 如果有不足的或者错误的请您指出! 目录 2.阻塞队列2.1常见队列2.2 生产者消费者模型有利于进行解耦合程序进行削峰填谷…