Linux常见运维命令

最有效率的方式就是使用命令来操作和管理系统,那么我们来介绍一些常用的运维命令

  • 过滤文本grep

    #在指定文件中查找特定字符串
    [root@localhost ~] # grep root /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    
    #结合管道使用
    [root@localhost ~] # cat /etc/passwd | grep root
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    
    #按正则表达式查找
    [root@localhost ~] # grep -E "datadir | socket" my.cnf   # -E 表示按指定的正则查找
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    

    grep支持丰富的正则表达式,大家可以参考正则参数使用,这里就不一一列举了

  • 文本操作awk和sed
    awk和sed是Linux中强大的文本处理工具,使用简单,处理效率非常高
    1 . awk命令用于文本处理,数据可以来自文件或标准输入,支持正则表达式等功能
     语法:awk  ‘{pattern + action}’  filename
        pattern表示awk在数据中查找的内容,action指找到匹配内容时执行的一系列命令,{}用于将代码分块

    [root@localhost ~] # awk '{print $0}' /etc/passwd | head     ## 与执行cat /etc/passwd结果相同
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    ................................
    ### awk命令内容很多,我们只举几个例子 ###
    ## 查看file.text文件(50行)内第10行到第15行的内容(企业面试)##
    [root@localhost ~] # awk '{if(NR>=10 && NR<15) print $1}' file.text
    10
    11
    12                         ## NR内置变量表示已经读出的记录数,就是行号,从1开始
    13
    14
    15
    ## 已知file.text文件内容为:请从中过滤"luck"和字符串"1234567",令输出结果为:luck:1234567
    [root@localhost ~] # cat file.text
    i am luck,my qq is 1234567
    [root@localhost ~] # awk -F '[ ,]+' '{print $3":"$7}' file.text
    luck:1234567                          ## -F 指定分隔符,可指定一个或多个
                                          ## '[ ,]+' 表示以空格或','分隔
                                          ## $3":"$7 输出第三、7字段,中间以":"分隔
    ######更多内容请参考https://www.cnblogs.com/ginvip/p/6352157.html######
    

    2 .sed命令是将编辑工作自动化的编辑器,使用sed可以完成数据行增删改查并换等操作,sed命令可以打印指定的行至标准输出或重定向至文件,打印指定行使用p命令

    [root@localhost ~] # sed -n 2p /etc/passwd                   ## 打印第2行
    bin:x:1:1:bin:/bin:/sbin/nologin
    [root@localhost ~] # sed -n 2,5p /etc/passwd                 ## 打印第2~5行
    bin:x:1:1:bin:/bin:/sbin/nologin                             ## 我之前用的方式就很繁琐,先head打印
    daemon:x:2:2:daemon:/sbin:/sbin/nologin                      ## 前5行,然后tail打印后4行才输出2~5行
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    
  • 打包或解包文件tar
    tar命令用于将文件打包或解包,拓展名一般为.tar,指定特定参数可调用gzip或bzip2制作压缩包或解开压缩包,扩展名为.tar.gz或.tar.bz2

    #仅打包,不压缩
    [root@localhost ~] # tar -cvf /tmp/etc.tar /etc              ## -c 打包
    #打包并使用gzip压缩                                           ## -v 处理过程显示相关信息
    [root@localhost ~] # tar -zcvf /tmp/etc.tar.gz /etc          ## -f 指定的压缩包名字,f后不能再加参数
    #打包并使用bzip2压缩                                          ## -x 解压压缩包
    [root@localhost ~] # tar -jcvf /tmp/etc.tar.bz2 /etc         ## -j 压缩或解压bzip2包
    #解压压缩包到当前位置                                          ## -z 压缩解压gizp包
    [root@localhost ~] # tar -zxvf /tmp/etc.tar.gz .
    
  • 查看系统负载uptime
    uptime命令主要用于获取主机运行时间和查询Linux系统负载等信息,信息显示依次为:当前时间、系统已运行时间、当前连接用户数、过去1/5/15分钟内的平均负载,用法时分简单,直接输入uptime

    [root@localhost ~] # uptime
    08:41:21 up 1 min,  2 users,  load average: 0.70, 0.22, 0.08
      ## 2 users表示用户连接数,是总连接数不是用户数
    
  • 显示系统内存状态
    free命令显示内存使用情况,包括实体内存,虚拟的交换文件,共享内存区段,系统核心使用的缓冲区

    [root@localhost ~] # free -m                         ## 以M为单位查看系统内存资源占用情况
                  total        used        free      shared  buff/cache   available
    Mem:           1824         549         858          10         416        1082
    Swap:          2047           0        2047
    ########## free命令常用选项 ########
    free       -m                   # 以MB为单位显示内存情况
               -s<间隔秒数>			# 持续观察内存使用情况       
    
  • 单次任务at
    at可以设置在指定时间执行一个指定任务,可在与shell断开的情况下执行,使用前确认系统开启了atd服务

     systemctl status atd                              ## 查看atd服务是否开启
     # 明天17点钟,输出时间到指定文件内
     [root@localhost ~] # at 17:20 tomorrow
     at> echo "hellooooo" >> /root/Desktop/file.txt    ## 这里按ctrl+d,ctrl+d,ctrl+d
     at> <EOT>
     job 5 at Sat Oct 27 09:41:00 2018
     
     [root@localhost ~] # atq                          ## 查看待执行的定时任务
     6	Sat Oct 27 09:49:00 2018 a root
     sf
     [root@localhost ~] # atrm 6                       ## atrm +工作号,删除已设定的任务
     [root@localhost ~] # atq
     [root@localhost ~] # 
     [root@localhost ~] # at -c 6                      ## 显示定时任务的内容,会显示大量信息,但内容在最下面
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值