read命令的用法:linux
read 选项 变量 #read实现的做用是将从键入的字符串赋值给变量shell
-p 在键入命令以前先显示一段字符vim
-t 等待用户输入的超时时间数组
-a 将键入的数据赋值给数组bash
变量的拓展:ide
$?:用于存放最后一次命令执行的返回值,将每一个变量做为一个字段添加分隔符ui
$*:用于引用全部变量的参数,将全部的字段看做为一个字段加入分隔符spa
$@:用于引用全部变量的参数
$#:显示命令项脚本传入参数的个数
$0:显示脚本的当前名字以及路径orm
$$:查看自身命令的进程
$!:查看最后一次执行在后台的进程号
$_:引用最后一次执行完毕的结果
进程
脚本退出命令exit
exit + 返回值 #从脚本退出并将返回值设定为后跟的数
一个简单的用于脚本生成的脚本:
文件名 nsh
1 #!/bin/bash
2 #
3 ls $1 &> /dev/null && vim $1
4 ls $1 &> /dev/null ||cat> $1 <<EOF
5 #!/bin/bash
6 #:Title:
7 #:Synopsis:
8 #:DateTime:`date +"%F %T"`
9 #:Version:Unknow
10 #:Author: redhat_hu
11 #:Option:None
12
13 EOF
14 vim +8 $1
15 chmod +x $1
使用方法:nsh 脚本名
说明:
1. shbang行
2. 判断新建的脚本名是否存在,若存在,则使用vim打开此文件
3. 若不存在,则向其中导入4~11行内容
4. 导入后使用vim打开新脚本,并将光标定位在新脚本的第八行
5. 新脚本退出vim后赋予可执行权限
linux进程管理:
进程:是计算机分配系统资源的基本单位
linux中进程优先级分为:静态优先级 100~139(可人为控制),动态优先级 0~99(有kernel控制)。(优先级越小则越高)
对静态有限的控制由nice值来实现,nice取值范围-20~19与静态优先级100~139一一对应,进程启动默认nice为0,给出让出cpu使用权的进程,nice值上升,优先级降低。
进程查看相关命令:
ps命令
ps option
-e 显示全部进程
-a 显示与终端无关的进程
-x 显示与终端有关的进程
-u 显示进程的发起者
-o 自定义显示哪些字段
经常使用ps aux
top option以动态的形式显示当前进程的数据
-b batch mode以文本的方式显示进程数据
-d delay time动态的刷新时间
-n 显示次数
pgrep option processname
无选项默认输出进程pid
-u 查看进程发起者的uid
-g 查看进程发起者的gid
pidof processname
查看某进程的进程号
pstree 显示全部进程的进程树
-p 显示pid
与进程显示相关的字段
PID:进程号
PPID:父进程号(全部进程都有init进程派生)
TTY:标示进程与哪一个终端相关
STAT:进程的状态
D:不可中断的睡眠状态,例如I/O操做中
R:运行/就绪态
S:可中断的睡眠态
T:stop中止态
Z:僵尸态(进程结束可是还没有释放资源)
一、 当前进程处于结束中,其父进程正在为其清理占用资源
二、 子进程结束时发现父进程在其以前结束,没法清理释放占用资源
TIME:进程得到CPU的时间
COMMAND:进程的发起命令
%CPU:进程的cpu占用率
%MEN:进程的内存占用率
VSZ:进程在虚拟内存集中的占用大小
RSS:进程在物理内存集中的占用大小
进程间通讯机制:IPC主要分为共享内存和信号量的进程间发送。
信号量控制命令kill
kill option SIG pid
-l 查看全部的信号量
信号量:
1:SIGHUP 若进程是服务发送此信号量重载配置文件
2:SIGINT 结束当前做业ctrl+c
9:SIGKILL 强行杀死进程
15:SIGKTERM 结束进程,让进程自行关闭
18:SIGCONT 将中止的进程继续
19:SIGSTOP 将运行进程中止
killall 进程名
杀死全部与进程名相关的进程
nice值的修改
nice命令启动进程时制定nice值
nice –n 数值 命令 设定命令运行时初始值
renice 数值 进程号 设定运行中的进程nice值
做业控制:
做业分为前台做业和后台做业,以是否占用shell来区分。
将命令启动即放入后台执行:
命令 &
nohup命令能够实现关闭终端后命令仍执行
前台、后台切换
ctrl+z 将当前做业送入后台并中止
fg 做业号 #将做业从后台调入前台
bg 做业号 #将前台做业调入后台并运行,将后台做业从中止转为运行
kill %做业号 #杀死做业 (默认15)
free显示内存信息(默认以K为单位)
-m 以兆为单位显示
uptime显示启动时间以及平均负载
vmstat 时间(秒) 显示内存信息,按秒数刷新