符状态码
<:该进程运行在高优先级上
N:该进程运行在低优先级上
L:该进程有页面锁定在内存中
s:该进程时控制进程
l:该进程时多线程
+:该进程运行在后台
GUN分割参数:前面加双破折号
--forest:能够轻松的显示进程的层级信息
3.ps命令的局限:只能显示某个特定时间点的信息;如果想要观察那些频繁换进换出的内存的进程趋势,ps做不到
4.top命令:
第一行:当前时间、系统的运行时间、登录的用户数、系统的平均负载
平均负载:1分钟、5分钟、15分钟;平均负载高于2算系统比较繁忙
下一行显示的CPU概要:top根据进程的属主、进程的状态将CPU分钟几类输出;
下下一行:说明了内存状态;第一行是物理内存:总共有多少内存、当前用了多少、还空闲了多少、最后一行说的和上一行相同,只是针对系统的交换空间
5.结束进程:kill命令
Kill命令通过进程id给进程发信号。Kill命令会向命令行中列出的全部PID发送一个TERM信号。只能通过进程号而不能用进程名结束进程
要发送进程信号,必须是进程的属主或登录为root用户
-s支持其他信号;kill发送TERM信号告诉进程停止,但是也有进程不会停止。
6.killall命令
支持进程名结束进程;支持通配符结束进程,在系统负载过大时很有用
成功kill掉
监测磁盘空间
1.mount命令
默认情况下会输出当前系统挂载的设备列表
有4部分信息
媒体的设备文件名、媒体挂载到虚拟目录的挂载点、文件系统类型、已挂载媒体的访问状态
2.手动挂载媒体设备的基本命令
Mount -t type device directory
type:指定了磁盘被格式化的文件系统类型;U盘一般时vfat文件系统
例如:手动将u盘挂载到/media/disk1下
Mount -t vfat /dev/sbd1 /media/disk1
3.umount:从系统上移除一个可移动设备:不是直接移除,而是先卸载
umount [directory | device]:卸载命令;有设备或者程序在使用设备上的文件时,不允许卸载
4.df命令
df命令会显示每个有数据的已挂载文件系统
设备的文件位置
能容纳多少个1024字节大小的块
已用了多少个1024字节大小的块
还剩多少
已用空间所占比例
设备挂载到哪个挂载点上
df -h常用
Ps:df命令显示Linux系统认为的当前值,有可能系统上运行的进程已经创建或者删除了某个文件,但是尚未释放文件,这个值不会算进闲置空间的
5.lsof命令
可以获取使用文件的进程信息
6.du命令
du可以显示某个特定目录的磁盘使用情况
默认会显示当前目录下所有的文件、目录和子目录的磁盘使用情况;会以磁盘块为单位来表明某个文件或目录占用了多大的存储空间
-c:显示所有已列出文件的总大小
-h:
处理数据文件
1.sort命令:对数据进行排序
Sort按字符进行标准的字符排序
Sort -n不会向数字进行标准的字符排序
-M:按月进行排序,日志文件有用;只能识别3字符的月份
2.grep搜索数据
-v:输出不匹配该模式的行
-n:显示匹配的所有行
-c:知道多少行含有改匹配
-e:指定多个匹配模式
3.Linux压缩工具
bzip2:扩展名.bz2;采用Burrows-Wheeler块排序文件压缩算法和霍夫曼编码
compress:扩展名.Z;最初的unix文件压缩工具
gzip:扩展名.gz;GUN压缩工具,用的Lempel-Ziv编码
gzip:用来压缩文件
gzcat:用来查看压缩过的文本文件的内容
gunzip:用来解压文件
ps:可以一次压缩多个文件,或者采用通配符压缩
zip:扩展名.zip;windows上PKZIP工具的unix实现
4.归档数据;tar命令
tar function [options] object1 object2
-A :将一个tar追加到另一个tar中
-c:创建一个新的tar归档文件
-d:检查归档文件与文件系统的不同之处
-r:追加文件到已有的归档文件末尾
-x:从已有的tar归档文件中提取文件
-c:切换到指定目录
-f:输出结果到文件或设备file
-v:在处理文件时显示文件
组合使用
创建一个归档文件:tar -cvf test.tar test/ test2/
创建名为test.tar的归档文件,含有test和test2目录内容tar -tf
列出test.tar内容:tar -xvf test.tar
tar -zxvf filename.tgz来解压
3理解shell
Shell类型
1./etc/password下标记了shell程序
Root使用的时GUN bash shell
/bin/bash是一个可执行程序
Centos包括其他shell 包括tcsh
C shell的软连接
/bin/sh 作为默认的系统shell,用于那些要在启动时使用的系统shell脚本
不一定只使用默认的交互shell可以使用所有发行版本的shell
Shell的父子关系
1. 登录某个虚拟控制器终端时启动的默认的交互shell,是一个父shell
2.输入/bin/bash生成子shell
在生成子shell进程时,只有部分父进程的环境会被复制到子shell环境中
子shell可以从父shell中创建,也可以从子shell中创建
Exit逐层退出
除了能够推出子shell,也能够退出当前虚拟控制台终端,输入exit就能推出CLI
运行shell脚本也能够创建子shell
在shell之间加入分号”;”就可以运行多条命令
添加括号生成进程列表
echo $BASH_SUBSHELL返回0则没有子shell,返回1则有子shell
Shell的内建命令
4Linux环境变量
环境变量
Bash shell用一个叫做环境变量的特性来存储有关shell会话和工作环境信息。这项特性允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到他们这也是存储持久数据的一种渐变方法
在bash shell中,环境变量分为两类;
全局变量:
对shell和子shell都是可见的,局部则只对创建他们的shell可见。这让全局环境变脸对那些所创建的子shell需要获取父shell