shell命令之进程管理与作业控制

进程概念:

pid 唯一一个由系统内核直接运行的进程
/usr/lib/systemd/systemd之前交init
init就会创建login进程,login就会启动shell进程,用户运行进程都是由shell衍生出来的。

  • 进程类型

    • 1.交互进程:由一个shell启动的进程,可以运行在前端,也可以运行在后端。
    • 2.批处理进程:不与特定的终端相关联,提交到等待队列中执行的进程。
    • 3.守护进程:在Linux启动初始化运行的后台进程。
  • 进程的启动方式

    • 1.手动启动
    • 1.1 前台启动(ls -l)
    • 1.2 后台进程(&命令)
  • 进程的管理

    • ps命令
      -a 显示所有进程
      -e 在命令后显示环境变量
      -u 显示用户名和时间等信息
      -x 显示没有控制终端的进程
      -f 显示进程树
      -w 宽行显示

    • 命令输出之后,显示信息的含义:
      PID 进程号
      PPID 父进程
      TTY 进程从那个终端启动的
      STAT 状态( )

        > R 正在执行中 		
        	S sleeping
        	T STOP
        	Z zombie僵尸
        	W 进程没有固定的pages
        	N 低级别的进程
      

      START 开始执行的时间
      VSZ 进程所占用虚拟内存空间 单位kb
      RSS 进程所占用的内存空间 单位kb
      TIME 启动之后总的时长
      CMD 命令行
      USER 用户名
      %CPU cpu百分比
      %MEM 内存百分比
      size 大小(kb)
      kill PID 结束进程

  • 作业控制

     控制当前正在运行的进程的行为
    
    • 实施作业控制常用的命令
      CMD & 表达命令在后台运行 不挂在终端
      <CTRL+D> 表示终止一个正在运行的进程
      <CTRL+C> 表示强制终止一个正在运行的进程
      <CTRL+Z> 挂起一个正在运行的前台进程
      jobs 显示后台作业和被挂起的进程
      bg 重启一个被挂起的作业,并在后台运行
      fg 把一个在后台运行的作业放到前台来运行
  • sed

它是一个流编辑器。sed 非交互是的行编辑器,它是命令行中输入编辑指令,去处理指定的输入文件,然后把结果输出到屏幕
注意:sed不改变输入文件的内容,可以使用重定向保存输出文件。

  • 工作流程
    1.从输入读取一行数据,放入缓冲区,这个缓冲区将成为模式空间(pattern space)
    2.按照指定的sed编辑命令处理缓冲区的数据
    3.把处理结果显示并从缓冲区里面删除该语句(从模式空间)
    4.读取下一行,重复上面的步骤
  • 格式
    格式一:sed选项[-e] [command1] [input-file] 注意:只有一个的时候-e可以省略
    格式二:sed 选项 -f 脚本文件 [input-file]
    -n 自动输出结果,关闭输出
    -r 使用正则表达式进行匹配
    ‘ ’包括整个命令
    " "包含shell的变量
  • 支持25个操作

    p 打印
    d 删除
    s/源数据/替换的数据/
    s/源数据/替换的数据/g -----g表示全局变量
    s/源数据/替换的数据/gp 打印出替换之后的结果
    a\ 在指定的行后面追加文件
    i\ 在指定的行前面追加文件
    c\ 用新的文本替换指定行
    sed -n /linux/p 1.txt 将含有linux 的行全打印

练习:
显示文件第5行的内容
sed -n '5p' 1.txt
显示文件最后一行的内容

sed -n '$p' 1.txt

显示文件从第3行开始步长为5的行的内容


显示从第3行到第10 行的内容

显示文件中所以包含linux 的行

将一行中第一个出现的windows 替换为linux

将出现的每个windows 替换为linux

将所以连续的字符o 压缩成一个o

删除,。?、的标点符号

删除行首的一个空格

删除空白字符

删除偶数行

sed -n '1~2p' 1.txt

在第2行追加www 内容

sed '2a www' 1.txt

把2-5 行的内容全部取代为 [图片]baidu.com

sed '2,5c [图片]baidu.com' 1.txt

在最后一行怎加 一句 并修改文件

sed -i '$a #this is test' 1.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值