一、进程管理类命令
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
1-1、查看进程:ps
功能:查看系统中所有进程
用法:ps -aux
例如:
字段说明:
- USER:该进程是由哪个用户产生的
- PID:进程的ID号
- %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源
- %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源
- VSZ:该进程占用虚拟内存的大小,单位KB
- RSS:该进程占用实际物理内存的大小,单位KB
- TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
- STAT:进程状态。常见的状态有:
- R:运行
- S:睡眠
- T:停止状态
- s:包含子进程
- +:位于后台
- START:该进程的启动时间
- TIME:该进程占用CPU的运算时间,注意不是系统时间
- COMMAND:产生此进程的命令名
关于虚拟内存和物理内存请参考其他文章
1-1-1、查看某一个进程:
ps -aux | grep pid
1-1-2、ps -aux、ps aux、
- ps -aux和ps aux
ps -aux不同于ps aux。POSIX和UNIX的标准要求”ps -aux”打印用户名为”x”的用户的所有进程,以及打印所有将由-a选项选择的过程。如果用户名为”x”不存在,ps的将会解释为”ps aux”,而且会打印一个警告。这种行为是为了帮助转换旧脚本和习惯。它是脆弱的,即将更改,因此不应依赖。
如果你运行ps -aux >/dev/null,那么你就会得到下面这行警告信息
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
综上: 使用时两者之间直接选择ps aux
- ps aux和ps -ef
两者的输出结果差别不大,但展示风格不同。aux是BSD风格,-ef是System V风格。这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。当结合grep时这种区别会影响到结果。
综上:以上三个命令推荐使用:ps -ef
1-2、查看系统健康状态:top
用法:top [参数选项]
参数选项:
- -d N:指定top命令每隔N秒更新。默认是3秒在top命令的交互模式当中可以执行的命令
- -i:使top不显示任何闲置或者僵死进程
- -p:通过指定监控进程ID来仅仅监控某个进程的状态
- -s : 使top命令在安全模式中运行,这将去除交互命令所带来的潜在危险
操作选项:
- P:以CPU使用率排序,默认就是此项
- M:以内存的使用率排序
- N:以PID排序
- q:退出top
功能说明:
第一行为任务队列信息:
第二行为进程信息:
第三行为CPU信息:
第四行为物理内存信息:
第五行为交换分区(swap)信息:
1-3、查看进程树:pstree
功能:
Linux pstree命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。
用法:pstree [参数选项]
参数选项:
- -a :显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
- -c:如果有重覆的行程名, 则分开列出(预设值是会在前面加上 *)
- -p:显示进程的PID
- -u:显示进程的所属用户
1-4、终止进程:kill
功能:
发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令可以查看进程号。root用户将影响用户的进程,非root用户只
能影响自己的进程。
用法:kill [参数选项] [进程号]
例如:kill -9 pid:结束指定pid的进程
参数选项:
- -l:信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
- -a:当处理当前进程时,不限制命令名和进程号的对应关系
- -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号
- -s:指定发送信号
- -u:指定用户
输出所有信号量:kill -l
只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:
- HUP:1,终端断线
- INT:2,中断(同 Ctrl + C)
- QUIT:3,退出(同 Ctrl + \)
- TERM:15,终止
- KILL:9,强制终止
- CONT:18,继续(与STOP相反, fg/bg命令)
- STOP:19,暂停(同 Ctrl + Z)
二、内存监控类命令
2-1、显示内存使用情况:free
功能:显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略。
用法:free [参数选项]
参数选项:
- -h:-human,自动将数值转换为人类易读形式
- -b:以Byte为单位显示内存使用情况
- -k:以KB为单位显示内存使用情况
- -m:以MB为单位显示内存使用情况
- -g:以GB为单位显示内存使用情况
- -o:不显示缓冲区调节列
- -s<间隔秒数>:持续观察内存使用状况
- -t:显示内存总和列
- -V:显示版本信息
例如:
说明:
我们分别使用total1、used1、 free1、total2、used2、free2 等名称来代表上面统计数据的各值,1、2 分别代表第一行(不考虑标题行)和第二行(不考虑标题行)的数据。
第一行数据:代表内核角度的统计
- total1:表示物理内存总量
- used1:表示已使用(已分配出去)的物理内存总量,包括真正已使用和分配给缓存(包含buffers 与cached)的数量
- free1:未被分配的物理内存
- shared1:共享内存,一般系统不会用到,这里也不讨论
- buffers1: 系统分配给buffers 的内存大小
- cached1:系统分配给cached 的内存数量。buffer 与cache 的区别见后面
第二行数据:代表应用角度的统计
- used2:实际使用内存总量
- free2:系统当前实际可用内存,包括未被分配的内存以及分配给buffers 与cached 的内存之和
三、网络管理类命令
3-1、显示网络统计信息:netstat
用法:netstat -anp
功能:
用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容
例如:
[root@node000 ~]# netstat -anp | grep 50070
tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 6816/java
四、后台服务管理类命令
4-1、后台服务管理:service
service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。service运行指定服务(称之为System V初始脚本)时,把大部分环境变量去掉了,只保留LANG和TERM两个环境变量,并且把当前路径置为/,也就是说是在一个可以预测的非常干净的环境中运行服务脚本。这种脚本保存在/etc/init.d目录中,它至少要支持start和stop命令。
用法:
service SCRIPT COMMAND [OPTIONS]
功能:
service命令用于启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
常用操作:
- service --status-all:查看系统中所有的后台服务
- service network status:查看指定服务的状态
- service network start:启动指定服务
- service network stop:停止指定服务
- service network restart:重启指定服务
4-2、设置后台服务的运行级别:chkconfig
功能:
chkconfig用于查看、设置服务的运行级别。
用法:
chkconfig [服务] [参数选项]
常用操作:
- chkconfig --list:查看系统服务列表,以及每个服务的运行级别
- chkconfig iptables on:开启指定服务的自动启动
- chkconfig iptables off:关掉指定服务的自动启动
4-3、查看服务是否自动启动:ntsysv
功能:
ntsysv用于直观方便的设置各个服务是否自动启动。
用法:
ntsysv
常用操作:
- ntsysv:以全屏幕文本界面设置服务开机时是否自动启动
五、压缩解压类命令
5-1、压缩解压:gzip/gunzip
用法:
- gzip+文件:压缩文件,只能将文件压缩为*.gz文件
- gunzip+文件.gz:解压文件
注意:gzip压缩文件时
- 只能压缩文件不能压缩目录
- 不保留原来的文件
5-2、压缩解压:zip/unzip
用法:
- zip + 参数 + XXX.zip + 将要压缩的内容 :压缩文件和目录的命令,window/linux通用且可以压缩目录且保留源文件
- unzip + 压缩文件:解压文件
5-3、压缩解压:tar
linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。
用法:
tar + 参数 + XXX.tar.gz + 将要打包进去的内容(可以是多个文件):打包目录,压缩后的文件格式.tar.gz
格式:tar[必要操作][可选参数][必要参数][文件]
必要操作:
- -c: 压缩
- -x:解压
- -t:查看内容
- -r:向压缩归档文件末尾追加文件
- -u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
可选参数:
- -z:有gzip属性的
- -j:有bz2属性的
- -Z:有compress属性的
- -v:显示所有详细过程
- -O:将文件解开到标准输出
必要参数:
- -f: 使用档案名字。切记,这个参数是最后一个参数,后面只能接档案名
例如:
压缩文件:
tar -zcvf XXX.tar.gz 目录:压缩目录
tar -zcvf XXX.tar.gz n1.txt n2.txt:压缩文件
解压文件:
tar -zxvf XXX.tar.gz:解压到当前目录
tar -zxvf XXX.tar.gz -C 指定目录:解压到指定目录
六、定时任务类命令
6-1、系统定时任务设置:crontab
crontab是系统定时任务设置,想要使用crontab,首先要开启系统定时任务服务crond,开启服务:
service crond start
crontab用法:crontab [参数选项]
参数选项:
- -e:编辑crontab定时任务,可以添加和删除任务
- -l:查询crontab任务
- -r:删除当前用户所有的crontab任务
定时语句说明: