top:实时显示进程动态
top [选项]
参数 含义
-d 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
-q 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
-c 切换显示模式
-s 安全模式,将交谈式指令取消, 避免潜在的危机
-i 不显示任何闲置 (idle) 或无用 (zombie) 的行程
-n 更新的次数,完成后将会退出 top
-b 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内
示例:
显示进程信息:
[root@linuxcool ~]# top
[root@izb1j05w8ldmtn1ylavvdfz ~]# top
top - 11:26:45 up 15 days, 15:19, 5 users, load average: 0.07, 0.04, 0.05
Tasks: 138 total, 1 running, 137 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.8 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16247304 total, 13574296 free, 381464 used, 2291544 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 15570660 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
67959 root 20 0 162108 2196 1548 R 6.7 0.0 0:00.01 top
1 root 20 0 43948 4404 2588 S 0.0 0.0 0:47.42 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
第 1 行:系统当前时间、 运行时间、 登录终端数、系统负载(三个数值分别为 1 分钟、5 分钟、15 分钟内的平均值,数值越小意味着负载越低)。
第 2 行:进程总数、 运行中的进程数、睡眠中的进程数、 停止的进程数、 僵死的进程数。
第 3 行:用户占用资源百分比、系统内核占用资源百分比、 改变过优先级的进程资源百分比、 空闲的资源百分比等、 等待输入输出的CPU时间百分比、 硬中断(Hardware IRQ)占用CPU的百分比、 软中断(Software Interrupts)占用CPU的百分比。
第 4 行:物理内存总量、内存使用量、 内存空闲量、作为内核缓存的内存量。
第 5 行:虚拟内存总量、虚拟内存使用量、 虚拟内存空闲量、 已被提前加载的内存量。
显示完整的进程信息:
[root@linuxcool ~]# top -c
以批处理模式显示程序信息:
[root@linuxcool ~]# top -b
以累积模式显示程序信息:
[root@linuxcool ~]# top -s
设置信息更新次数:
[root@linuxcool ~]# top -n 2
pidof:用于查询某个指定服务进程的PID值
pidof [选项] [服务名称]
参数 含义
-s 当系统中存在多个同名进程时,仅返回一个进程ID
-c 仅返回当前正在运行且具有同一根目录的进程PID
-x 返回指定运行脚本的shell进程PID
-o 忽略具有指定进程ID的进程
示例:
返回sshd守护进程的PID:
[root@izb1j05w8ldmtn1ylavvdfz ~]# pidof sshd
117630 63673 59428 58799 58112 1745
kill:用于终止某个指定PID的服务进程
kill [选项] [进程id]
参数 含义
-l 列出系统支持的信号
-s 指定向进程发送的信号
-a 处理当前进程时不限制命令名和进程号的对应关系
-p 指定kill命令只打印相关进程的进程号,而不发送任何信号
示例:
列出系统支持的信号列表:
[root@linuxcool ~]# kill -l
查找进程,并用kill杀掉
[root@linuxcool ~]# ps
PID TTY TIME CMD
1951 pts/0 00:00:00 bash
2446 pts/0 00:00:00 ps
杀掉id为1951的进程
[root@linuxcool ~]# kill -9 1951
杀死指定用户所有进程
[root@linuxcool ~]# kill -9 $(ps -ef | grep peidalinux)
rpm:软件包管理器
rpm [参数] [软件包全名]
参数 含义
-a 查询所有的软件包
-b或-t 设置包装套件的完成阶段,并指定套件档的文件名称
-d 只列出文本文件,本参数需配合"-l"参数使用
-e 卸载软件包
-f 查询文件或命令属于哪个软件包
-h 安装软件包时列出标记
-i 显示软件包的相关信息
--install 安装软件包
-l 显示软件包的文件列表
-p 查询指定的rpm软件包
-q 查询软件包
-R 显示软件包的依赖关系
-s 显示文件状态,本参数需配合"-l"参数使用
-U 升级软件包
-v 显示命令执行过程
-vv 详细显示指令执行过程
rpm包命名规则:
httpd-2.2.15-15.el6.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布的次数
el6 软件发行商sel6是RedHat公司发布,适合RHEL6.x(Red Hat Enterprise Linux)和CentOS6.x下使用
i686 适合的硬件平台
rpm rpm包的扩展名
包全名:如果操作的是未安装软件包,则使用包全名,而且需要注意绝对路径
包名:如果操作的是已经安装的软件包,则使用包名即可,系统会生产RPM包的数据库
示例:
直接安装软件包:
[root@linuxcool ~]# rpm -ivh httpd-2.2.15-15.el6.centos.1.i686.rpm
忽略报错,强制安装:
[root@linuxcool ~]# rpm --force -ivh package.rpm
列出所有安装过的包:
[root@linuxcool ~]# rpm -qa
查询rpm包中的文件安装的位置:
[root@linuxcool ~]# rpm -ql ls
卸载rpm包:
[root@linuxcool ~]# rpm -e package.rpm
升级软件包:
[root@linuxcool ~]# rpm -U file.rpm
yum:yum源配置文件保存在/etc/yum repos.d/目录中,文件的扩展名一定是".repo"。也就是说,yum源配置文件只要扩展名是".repo" 就会生效
yum配置文件详解
[root@localhost yum.repos.d]# vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=Cent0s-$releasever - Base
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[base]: yum仓库唯一标识符,避免与其他仓库冲突。
name: yum仓库的名称描述,易于识别仓库用处。
baseurl: 我们的yum源服务器的地址,提供方式包括本地(file:///..)、HTTP(http://..、https://..)、FTP(ftp://..),baseurl中的地址可以配置多个。baseurl最终目的是寻找yum源下根目录下的repodata/repomd.xml文件。
enabled: 设置此源是否可用,1为可用,0为禁用。
gpgcheck: 设置此源是否校验文件,1为校验,0为不校验。
gpgkey: 若为校验请指定公钥文件地址。
yum常用命令:
1. 列出所有可更新的软件清单命令:yum check-update
2. 更新所有软件命令:yum update
3. 仅安装指定的软件命令:yum install <package_name>
4. 仅更新指定的软件命令:yum update <package_name>
5. 列出所有可安裝的软件清单命令:yum list
6. 删除软件包命令:yum remove <package_name>
7. 查找软件包命令:yum search <关键字>
8. 清除缓存命令:
yum clean软件包: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers