资讯详情

vim,top,htop和服务控制

vim,top,htop和服务控制

1.vim练习

设置显示行号; 移动到第43行,向右移动57查看括号中的内容; 3.(as most of thoseabove should normally be) 移动到第一行,向下搜索gzip这个字符串,它在第几行;  将50行到100行之间的man更改为MAN; 4.gzip 在94行  修改后,突然后悔,全部恢复,有什么方法? 6.按u键,ctrl r:恢复最新的撤销操作  到第27行,删除15第一个字符是什么? 10. > 

1.命令模式–>输入模式

  • i:insert,在当前光标所在字符转换为输入模式
  • I:大写的i,当前光标所在行的行首转换为输入模式
  • a:append,将当前光标所在字符转换为输入模式
  • A:将当前光标所在行的行尾转换为输入模式
  • o:open,在当前光标所在线下方建立一行并转换为输入模式
  • O:大写的o,不是数字0,在当前光标所在线上方建立一行并转换为输入模式

2.关闭文件的末行模式

  • q!—不保存退出
  • wq!—强制保存和退出
  • x—强制保存和退出

3.命令模式关闭文件

  • ZZ

4.移动光标

  • 字符移动

  • h—左

  • l—右

  • j—下

  • k—上

5.行内移动

  • 0-数字0,跳到绝对行首 ^---跳到行首的第一个非空白字符 $---跳到绝对行尾 
  • 行间跳转

  • gg--跳到第一行 G--跳到最后一行 数字 gg跳转到第#行 数字 G跳到第#行 

6.字符编辑

  • x删除光标所在地的单个字符 #x 删除光标所在地及其向后共#字符 xp 交换光标所在的字符及其后面字符的位置 
  • 删除命令–d

  • d$:删除当前光标位置到行尾的内容 d^:删除当前光标位置到第一行非空白字符位置的内容 d0:将当前光标的位置删除到绝对行首 #d跳转符:删除指定范围内的#个,如 #dw #de #db dd:删除当前光标所在行 #dd:删除#行,包括当前光标所在行 D:删除当前光标行的内容,保留空行 1,5d:表示删除第1到第5行 
  • 范围表示方法

  • 表示方法 意义
    . 目前光标所在
    $ 最后一行
    #(数字) 光标所在行后#行
    $-# 倒数第#行
    % 全文

7.复制命令—yy

8.粘贴命令–p

  • 小写p
    • 若删除或复制的为整行内容,则粘贴至光标所在行的下方
    • 如果删除或复制为非整行,则粘贴在光标所在字符后面
  • 大写p
    • 如果整行内容被删除或复制,则粘贴在光标行上方
    • 如果删除或复制为非整行,则粘贴在光标所在字符的前面

9.替换命令–r

  • R:替换模式,替换多个字符
  • r#:用#代替当前光标的字符,这里的#可以是任何字符

10.撤销命令–u

  • u:取消之前的编辑操作,连接u命令取消之前的n编辑操作
  • ctrl r:恢复最新的撤销操作

11.可视化模式:可视化模式下所选内容均可编辑

  • v:按字符选择内容
  • V:根据矩形块(行)选择内容

12.文本查找

  • / 单词:从上到下找到匹配的内容
  • n:从上到下搜索下一条匹配的内容
  • N:从下往上查找匹配到的内容的下一条

13.搜索和替换:s命令只能在末行模式下使用

  • 1,5 s/abc/def/g:所有第一行到第五行的表示abc替换为def

14.在最行模式下显示或取消显示行号

  • set nu:显示行号
  • set nonu:取消显示行号

2.监控过程活动

2.1 io负载

1.负载等待多少任务?CPU调度运行,需要等待的任务

查看CPU和内存

[root@SYL2 ~]# grep 'model name' /proc/cpuinfo  model name : Intel
       
        (R
        ) Core
        (TM
        ) i5
        -
        8250U CPU @ 
        1.60GHz model 
        name 
        : Intel
        (R
        ) Core
        (TM
        ) i5
        -
        8250U CPU @ 
        1.60GHz model 
        name 
        : Intel
        (R
        ) Core
        (TM
        ) i5
        -
        8250U CPU @ 
        1.60GHz model 
        name 
        : Intel
        (R
        ) Core
        (TM
        ) i5
        -
        8250U CPU @ 
        1.60GHz [root@SYL2 ~]# grep 'processor' 
        /proc
        /cpuinfo 
        /
        /看CPU编号 processor 
        : 
        0 processor 
        : 
        1 processor 
        : 
        2 processor 
        : 
        3 [root@SYL2 ~]# nproc 
        /
        /CPU个数 
        4 [root@SYL2 ~]# [root@SYL2 ~]# ls 
        /proc
        /cpuinfo 
        /
        /CPU在哪个位置 
        /proc
        /cpuinfo [root@SYL2 ~]# ls 
        /proc
        /meminfo 
        /
        /内存路径 
        /proc
        /meminfo [root@SYL2 ~]# 
       

2…Linux中可以使用topuptime显示负载平均值的情况。

[root@SYL2 ~]# uptime
 16:47:06 up  2:48,  2 users,  load average: 1.49, 0.89, 0.55
[root@SYL2 ~]# 
oad average:1分钟,5分钟,15分钟
    load average    //CPU队列中等待运行的任务的个数

2.2实时进程监控

1.top用于实现全屏动态显示系统信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2lBkj0t2-1657286822599)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401165654895.png)]

注明:

  • 
    cpu(s):多颗CPU平均负载,按1键显示每颗CPU平均负载。
        us  //表示用户空间;
        sy  //表示内核空间;
        ni  //表示调整nice值,CPU占用的比率;
        id  //表示空闲百分比;
        wa  //表示等待IO完成所占据的时间百分比;
        hi  //表示hard interrupt,硬件中断占据的时间百分比;
        si  //表示软中断占据的时间百分比;
        st  //表示steal,被虚拟化技术偷走的时间(比如运行虚拟机)
    PR      //优先级
    NI      //nice值
    VIRT    //虚拟内存集
    RES     //常驻内存集
    SHR     //共享内存大小
    S       //进程状态
    
    //top命令交互式子命令:
        M   //根据驻留内存大小进行排序,默认根据CPU百分比排序
        P   //根据CPU使用百分比进行排序
        T   //根据累计时间(占据CPU时长)进行排序
        l   //是否显示平均负载和启动时间
        t   //是否显示进程和CPU状态相关信息
        m   //是否显示内存相关信息
        c   //是否显示完整的命令行信息
        q   //退出top命令
        k   //终止某个进程
        1   //显示所有CPU的信息
        s   //修改刷新时间间隔
    
    top - 16:49:12 up  2:50,  2 users,  load average: 1.01, 0.96, 0.63
    //按小写的l显示top这两行没有,在按下l又回来了
    
    Tasks: 177 total,   1 running, 176 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.3 us,  1.6 sy,  0.0 ni, 97.8 id,  0.0 wa,  0.3 hi,  0.1 si,  0.0 st 
    //按小写t3遍去除,在按一遍回来
    
    MiB Mem :   1785.4 total,   1218.2 free,    250.1 used,    317.1 buff/cache
    MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1381.2 avail Mem
    //按小写m按3遍消失,在按一遍显示
    
  • 按小l

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YLBvuzOm-1657286822600)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401170528745.png)]

  • 按t

  • ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yKRGhMd6-1657286822601)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401170603048.png)]

  • 按m

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qgvENNas-1657286822602)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401170616052.png)]

  • 按大写的P给CPU排序

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rWOqsHpm-1657286822603)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401165821092.png)]

  • 按M给内存使用率排序

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TwEqM9Tr-1657286822604)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401165901781.png)]

  • 按T给时间排序

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rzDTYJ9h-1657286822605)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401165923349.png)]

  • 按c显示命令详细

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ONwUaAgF-1657286822606)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401170057742.png)]

  • 按h看帮助文档

  • Help for Interactive Commands - procps-ng 3.3.15
    Window 1:Def: Cumulative mode Off.  System: Delay 3.0 secs; Secure mode Off.
    
      Z,B,E,e   Global: 'Z' colors; 'B' bold; 'E'/'e' summary/task memory scale
      l,t,m     Toggle Summary: 'l' load avg; 't' task/cpu stats; 'm' memory info
      0,1,2,3,I Toggle: '0' zeros; '1/2/3' cpus or numa node views; 'I' Irix mode
      f,F,X     Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-width
    
      L,&,<,> . Locate: 'L'/'&' find/again; Move sort column: '<'/'>' left/right
      R,H,V,J . Toggle: 'R' Sort; 'H' Threads; 'V' Forest view; 'J' Num justify
      c,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justify
      x,y     . Toggle highlights: 'x' sort field; 'y' running tasks
      z,b     . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
      u,U,o,O . Filter by: 'u'/'U' effective/any user; 'o'/'O' other criteria
      n,#,^O  . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)
      C,...   . Toggle scroll coordinates msg for: up,down,left,right,home,end
    
      k,r       Manipulate tasks: 'k' kill; 'r' renice
      d or s    Set update interval
      W,Y       Write configuration file 'W'; Inspect other output 'Y'
      q         Quit
              ( commands shown with '.' require a visible task display window ) 
    Press 'h' or '?' for help with Windows,
    Type 'q' or <Esc> to continue 
    
    
  • 按大写Z切换颜色,在按a换颜色,在按回车,q退出

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cf6McBf2-1657286822608)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401171442996.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-APfMfq3L-1657286822609)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401171629913.png)]

2.用htop用于实现全屏动态显示系统信息

2.1 安装htop

[root@SYL2 ~]# yum -yq install epel-release
Failed to set locale, defaulting to C.UTF-8

Installed:
  epel-release-8-11.el8.noarch                                        

[root@SYL2 ~]# yum -yq install htop
Failed to set locale, defaulting to C.UTF-8
Importing GPG key 0x2F86D6A1:
 Userid     : "Fedora EPEL (8) <epel@fedoraproject.org>"
 Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8

Installed:
  htop-3.0.5-1.el8.x86_64                                             

[root@SYL2 ~]# rpm -qa|grep htop
htop-3.0.5-1.el8.x86_64
[root@SYL2 ~]# 

2.2 进入htop

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PxS0ZG80-1657286822609)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401172630484.png)]

help 帮助文档 ---h
setup 设置 ---s
search 搜索---/
filter 过滤---\
tree 进程树---t
sortby 排序
nice -    
nice +   
kill 杀死进程---k
quit 退出 ---q
  • h查看帮助文档

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5iE3qSyv-1657286822610)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401173959098.png)]

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cxulmM4d-1657286822611)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401175313094.png)]

  • 鼠标点击serch,按/ 输入你需要的命令

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6VVxtl9H-1657286822612)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401173616765.png)]

  • \

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VsJozrC5-1657286822613)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220401174851427.png)]

3.服务控制

3.1systemd的简介

  • systemd是用户空间的第一个应用程序

  • [root@SYL2 ~]# ll /sbin/init
    lrwxrwxrwx. 1 root root 22 Feb 11 23:37 /sbin/init -> ../lib/systemd/systemd
    [root@SYL2 ~]# ll /lib/systemd/systemd   //lib/systemd/systemd是系统启动的第一个程序
    -rwxr-xr-x. 1 root root 1601320 Feb 11 23:37 /lib/systemd/systemd
    [root@SYL2 ~]# pstree
    systemd-+-NetworkManager---2*[{NetworkManager}]
            |-VGAuthService
            |-agetty
    
    
    
    • SysV风格:init(centos5),实现系统初始化时,随后的初始化操作都是借助于脚本来实现的(系统启动特别慢)
    • 特点:要等第一个进程执行完才执行下个
    • 配置文件:/etc/inittab
  • Upstart风格:init(centos6),由ubuntu研发的,通过总线形式以接近于并行的方式工作,效率比SysV高

    • 配置文件:/etc/inittab,/etc/init/*.conf
  • Systemd风格:systemd程序(centos7)

    • 特点:启动速度比SysV和Upstart都快

    • 配置文件

      /usr/lib/systemd/system,/etc/systemd/system

      [root@SYL2 ~]# ls /usr/lib/systemd/system
      NetworkManager-dispatcher.service
      NetworkManager-wait-online.service
      NetworkManager.service
      
      • 不需要通过任何脚本来启动服务,只启动一个systemd进程就可以,不需要创建进程,销毁进程(脚本里面)
      • systemd不真正在系统初始化时去启动任何一个服务
        • 只要服务没用到,它告诉你启动了,实际上并没有启动。仅当第一次去访问时才会真正启动服务
  • [root@SYL2 ~]# ll /etc/inittab 
    -rw-r--r--. 1 root root 490 Feb 11 23:37 /etc/inittab
    [root@SYL2 ~]# cat /etc/inittab //以前版本是控制系统启动,进入那些模式
    
    0 关机
    1 单用户,用来系统维护,破解密码
    2,3,4 多用户模式
    5 图形模式
    6 重启
    init 6 重启
    
    

3.2 systemd的核心概念Unit

1.特性

  • //基于socket的激活机制:
        socket与服务程序分离,当有人去访问时才会真正启动服务,以此来实现按需激活进程与服务的并行启动
    //基于bus的激活机制:
        所有使用dbus实现进程间通信的服务,可以在第一次被访问时按需激活
    //基于device的激活机制:
        支持基于device激活的系统服务,可以在特定类型的硬件接入到系统中时,按需激活其所需要用到的服务
    //基于path的激活机制:
        某个文件路径变得可用,或里面出现新文件时就激活某服务
    //系统快照:
        保存各unit的当前状态信息于持久存储设备中,必要时能自动载入
    //向后兼容sysv init脚本
    

2.systemd使用unit的概念来管理服务,这些unit表现为一个个配置文件。

systemd通过对这些配置文件进行标识和配置达到管理服务的目的:

  • //这些unit文件中主要包含了系统服务、监听socket、保存的系统快照
    //及其它与init相关的信息保存至以下目录:
        /usr/lib/systemd/system
        /run/systemd/system
        /etc/systemd/system
    
  • unit类型

  • Service unit 文件扩展名为.service,用于定义系统服务

    • Target unit     //文件扩展名为.target,用于模拟实现“运行级别”
          runlevel0.target和poweroff.target        //关机
          runlevel1.target和rescue.target          //单用户模式
          runlevel2.target和multi-user.target      //对于systemd来说,2/3/4级别没有区别
          runlevel3.target和multi-user.target      //对于systemd来说,2/3/4级别没有区别
          runlevel4.target和multi-user.target      //对于systemd来说,2/3/4级别没有区别
          runlevel5.target和graphical.target       //图形级别
          runlevel6.target和reboot.target          //重启
      Device unit     //文件扩展名为.device,用于定义内核识别的设备
      Mount unit      //文件扩展名为.mount,用于定义文件系统挂载点
      Socket unit     //文件扩展名为.socket,用于标识进程间通信用的socket文件
      Snapshot unit   //文件扩展名为.snapshot,用于管理系统快照
      Swap unit       //文件扩展名为.swap,用于标识swap设备
      Automount unit  //文件扩展名为.automount,用于实现文件系统的自动挂载点
      Path unit       //文件扩展名为.path,用于定义文件系统中的一个文件或目录
      
  • 不兼容特性

  • //systemctl命令固定不变
    //非由systemd启动的服务,systemctl无法与之通信
    //只有已经启动的服务在级别切换时才会执行stop,在centos6以前是所有S开头的服务全部start,所有K开头的服务全部stop
    //系统服务不会读取任何来自标准输入的数据流
    //每个服务的unit操作均受5分钟超时时间限制
    

3.3 systemctl管理服务

1.常用命令

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司