进程概念:
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