系统监控,进程管理,软件包管理
补充:卸挂载 umount /dev/sdb7 (从源上卸挂载)
umount /sdb7 (从挂载点上卸挂载)
如果cd /sdb7下卸sdb7的挂载正常卸载是卸载不了的,需要强制卸载
强制卸挂载 umount -l /sdb7
内存
1.swap分区:跟硬盘有关,但提供内存服务
- 查看swap分区 swapon -s
- 新增swap分区 mkswap /dev/sdb8
- 激活新增swap分区 swapon -a /dev/sdb8
- 关闭swap分区 swapoff /dev/sdb8
2、free 查看内存信息
free -m 查看内存信息,以M为单位
3、uname -a 查看所有系统信息
4、cat /etc/redhat-release 查看当前使用版本
5、buffer和cache
buffer:是用于存放要输出到disk(块设备这里指内存)的数据。(buffer会吧需要的block先集结到一起到达一定量后再输送到内存上)
cache:是存放从disk上读出的数据。(把读到内存上的东西存下来,比如第一次看大文件比第二次打开要慢,但是这也暂时占用了内存)
内存和硬盘的读取速度就取决于buffer,buffer会吧需要的block先集结到一起到达一定量后再输送到内存上,这样减少了输送次数造成的更多延时
6、内存的相关内容和计算
Mem:表示物理内存统计
-/+ buffers/cached:表示物理内存的缓存统计
Swap:表示硬盘上交换分区的使用情况(这里我们不去关心)
系统的总物理内存:255268Kb(256M),但系统当前真正可用的内存并不是第一行free 标记的 16936Kb,它仅代表未被分配的内存。
我们使用total1、used1、free1、used2、free2 等名称来代表上面统计数据的各值,1、2 分别代表第一行和第二行的数据。
total1: 表示物理内存总量。
used1: 表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
free1: 未被分配的内存。
shared1: 共享内存,两个或多个进程之间要交换数据。
buffers1: 系统分配但未被使用的buffers 数量。
cached1: 系统分配但未被使用的cache 数量。buffer 与cache 的区别见后面。
used2: 实际使用的buffers 与cache 总量,也是实际使用的内存总量。
free2: 未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。
可以整理出如下等式:
total1 = used1 + free1
total1 = used2 + free2
used1 = buffers1 + cached1 + used2
free2 = buffers1 + cached1 + free1
7、echo 3 > /proc/sys/vm/drop_caches 清理内存
echo $[1+2] 可以当计算器用,加减乘除都可以
进程管理
1、定义
进程:进程是程序的一次动态执行
守护进程:是在后台运行并提供系统服务的一些流程
父进程、子进程:当一个进程创建另一个进程时,第1个进程被称为新进程的父进程,而新进程被称为子进程
僵尸进程:父进程被杀死后子进程没有死
2、查看进程
ps aux
ps aux |less
ps aux|grep gnome 所有包含gnome的行都被过滤出来了
tty 查看当前终端
pstree 树状方式查看进程
pgrep firefox 只查看firefox的PID
3、杀死进程
先查看PID再杀死
ps aux |grep firefox 查看firefox的PID
kill -9 3483 强制杀死PID为3483的进程
直接通过进程名杀死
pkill -9 firefox 强制杀死firefox进程
4、进程后台运行(为了不占终端)
firefox &
5、杀死后台运行的进程
可以用3里面的两种方法杀
也可以通过工作号去杀,在后台运行的程序都有一个工作号
jobs 查后台运行程序的工作号
kill -9 %1 杀死工作号为1的后台进程
6、测试硬盘的写入速度(dd非常业余)
dd if=/dev/zero of=/a.txt bs=1G count=1 //dd表示复制,if是inputfile,of是outputfile,bs是blocksize,count指bs的数量,从zero去除1G内容写入a.txt
软件包管理
1、软件包在linux系统中分为两种:一种是二进制的,直接安装就可以,在光盘(sr0)下就有大量的这种包,另一种是源码包
2、二进制包
查看包
查看sr0(光盘)挂载点→cd到sr0的挂载点→ls查看光盘内容→ls Packages
安装包
rpm -ivh +绝对路径或相对路径 (i=install安装,v显示详细信息,h显示进度条)
查看安装包详细信息
rpm -qi vsftpd(软件包名)
查看包安装到哪里
rpm -ql vsftpd(软件包名) (q是查询,l是location地址)
查看系统当中有多少个rpm包
rpm -qa (查看结果会省略.rpm)
只查找vsftpd包
rpm -qa |grep vsftpd
rpm -q vsftpd
由文件找到软件包
rpm -qf /user/share/man/man8/vsftpd.8.gz
卸载包
rpm -e vsftpd
rpm -e 'rpm -qa |grap vsftpd' 反引号可以把他里面命令执行出来的结果作为当前参数
yum安装,可以直接解决依赖性关系,但是得有个写好依赖性关系的仓库并且存放有安装包
3、源码包
命令
查看命令ls的位置
which ls (所以命令也是文件,再由rpm -qf /user/bin/ls找到该命令的安装包)
命令是被敲到终端,终端就是一个软件另一个名字叫shell,就是命令解释器
ls的执行原理
输入ls→shell(终端)→PATH(环境变量,它定义了一堆路径)→/usr/bin/ls,接下来就会在终端上写入/usr/bin/ls,这就像在终端输入firefox就打开火狐浏览器一样。但是ls不等于/usrbin/ls,会有颜色变化后者没有颜色变化,所以后边还应该有一步,那就是找别名,如果有别名就执行别名。输入ls→shell→PATH→/usr/bin/ls ls --color=auto。总之,ls /test=/usr/bin/ls ls --color=auto
做别名
alias gansita='kill-9'
永久设定一个别名的话
vim /etc/profile 把alias gansita='kill-9'沾到该文件的末尾
vim /etc/bashrc 把alias gansita='kill-9'沾到该文件的末尾
变量
x=1就是变量,x代表变量名,1代表变量值
$x 可以取值但不显示
echo $x 取值并显示
echo $PATH 会显示出/user/local/bin;/user/local/sbin;~~~~,一堆路径
环境变量
定义:在整个环境下的任何终端都有效。如果在任何环境中都有一个x=1,则x就叫环境变量或者全局变量
自定义yum安装流程
1、下载rpm放到自己建立的仓库(例:mkdir /cangku_httpd)中
2、用createrepo工具做依赖性(如果系统中没有createrepo工具,要装一个,yum intall createrepo)
createrepo /cangku_httpd
3、自定义repo源
vim httpd.repo
内容:[httpd]
name=httpd server
baseurl=file:///cangku_httpd
enabled=1
gpgcheck=0
4、安装包 yum install httpd -y或yum -y install httpd
5、删除包 yum -y remove httpd
6、安装组件 yum -y groupinstall
7、删除组件 yum -y groupremove
8、清楚yum缓存 yum clean all
9、使用yum查找软件包 yum search 软件包名