一、进程管理
1、ps命令(查)
来自process缩写,显示当前的进程状态。包括:进程的号码,发起者,系统资源,使用占比,运行状态等等。
语法格式:ps 参数
实例:
ps aux #显示进程全部瞬间信息包括:用户,进程ID,CPU占用率,内存占用率,虚拟内存,资源占用率,终端,状态,起始时间,路径(程序)
ps -ef #与上面相比有上级进程PPID
常用:ps -ef |grep ssh #用管道符筛选一下
ps -u root #只筛选出root用户的进程
ps aux |sort -rnk 3 #按第三列进行排序
ps -aux --sort -pcpu |less 通过CPU和内存使用情况来查看占用资源的进程
ps -aux --sort -pcpu,+pmem |head -n 10
#根据CPU使用来升序,内存使用来升序排序,并通过哦管道显示前10个信息
2、pstree命令(查)
display a tree of process 的缩写,其功能就是用于以树状图形式显示进程信息
实例:
pstree #树状图的形式显示当前系统中的全部进程(默认)
pstree -p #以树状图的形式显示当前系统中全部进程(带有进程号)
pstree -a #以更完整、更丰富的信息样式显示每个进程
pstree -ap |grep ssh #过滤出想要的信息
3、top命令(查最多)
实时监控命令
实例:
top #两秒刷新一次,默认是按照CPU占用率排序。
top -c #显示完整路径
top -d 1 #设置一秒刷新一次
top -p 139 #查看进程号为139的进程
打开一个死循环程序:
CPU占用率巨高。
kill 4809 将这个死循环程序删掉
4、kill命令(删)
结束进程
语法格式:kill 参数 进程号
实例:
kill -l #列出系统支持的全部信号列表
kill 4809 #将PID=4809程序删掉
kill -9 4809 #强制将PID=4809程序删掉
注意:只能杀死自己所建立的进程。root的进程杀掉要提权
搜索进程:ps -ef |grep httpd
搜索进程的端口:netstat -lnp |grep httpd
二、系统管理
1、find命令(查全,但慢)
根据给定的路径和条件查找相关文件和目录,支持正则表达式
通常进行从根目录进行全盘搜索(缺点:慢)
语法格式:find 路径 条件 文件名
实例:
find / -name sshd.conf #全盘搜索名字叫sshd.conf
find / -name *conf |grep ssh #全盘搜索以conf结尾的文件,再过滤出ssh文件
find /etc -size +1M #搜索etc中的大于1M的文件
find /home -user bzy #找属于bzy的文件
find . #列出当前工作目录中所有文件,目录以及文件信息
find /var/log -name "*.log" #搜索目标目录下指定后缀的文件
find . -mtime +7 #搜索当前目录中七天以外被修改的文件
find . -mtime 7 #搜索当前目录中在七天前那一天被修改的文件
find /home/bzy -name "*.c" -mtime -7 #搜索当前目录中七天以内被修改的c语言文件
find / -type d -perm 1777 #全盘搜索所有的目录,且权限为1777的目录
find / -type f -perm /a=x #全盘搜索系统中所有类型为普通文件,且可以执行的文件
find / -name "*.mp4" -exec rm -rf {}(前面找的文件) \; #删除所有mp4文件
2、whereis命令(查帮助、源码)
找到命令(二进制程序)、命令源代码、man帮助手册的位置信息,在特定的数据库中。
语法格式:
whereis [参数] 命令名
实例:
whereis poweroff #查找指定命令程序以及相关文件所在位置
whereis -b poweroff #仅查找指定命令程序文件所在位置
whereis -m poweroff #仅查找指定命令的帮助文档所在位置
3、which命令(查命令)
whereis的缩略版,查找命令文件,只查找命令本身所在的路径。
语法格式:which [参数] 文件名
实例:
which reboot #查找某个命令文件的所在位置
which ls poweroff cd #查找多个指定命令文件的所在位置
4、uname命令
显示操作系统相关信息
参数说明:
实例:
uname -a #显示本操作系统的全部信息
作者使用的操作系统为:按发行版来说是RedHat9.1 按内核版5.14.0
5、history命令
显示与管理历史命令的记录
语法格式:history 参数
实例:
history #显示执行的全部命令
history 5 #显示最近执行的五条命令
history -w #将本次缓存信息写入历史文件(~/.bash_history)
history -r #将缓冲区历史文件信息写入当前缓存
history -c #清空缓冲区命令记录
6、重定向符号 > >> < <<
> >> #输出重定向符
< << #输入重定向符
输出重定向(覆盖):date>date.txt #将日期信息写入date.txt(写多少次都是一个信息,因为是覆盖)
输出重定位(追加):date>>date.txt #将日期信息写入date.txt(写多少次都有多少信息,因为是追加)
错误输出重定向:ls /home/ /aaaaa (1)> list.txt #把正常输出信息写入
重定向到空设备:ls /home/ /aaaaa 2> list.txt #把异常输出信息写入
ls /home/ /aaaaa 2>/dev/null #空设备,即将产生的输出丢掉
0===>stdin===>标准输入设备
1===>stdout===>标准输出设备
2===>stderr===>标准错误输出
输入重定向:grep "root" < /etc/passwd #将/etc/passwd路径的信息执行前面的命令 wc -l < /etc/passwd #显示passwd的行号
输入重定向结束符: cat << 0
输入的数据将执行cat指令,当输入0,结束输入。
7、管道符号 |
用于进程间通信
前面|后面 前面每一个进程的输入(stdout)都作为下一个进程的输出(stdin).
实例:
ls / | grep y #将ls /的正确执行结果作为参数传递给了grep y
rpm -qa |grep mariadb #检索已经安装的软件,在其中找mariadb软件信息
ls / | wc -l #统计有根多少文件
8、关机重启
reboot------重启
shutdown -r now #立刻重启
shutdown -r 10 #十分钟后自动重启
shutdown -r 20:35 #20:35时刻立刻重启
halt #立即关机
poweroff #立即关机
shutdown -h now #立刻关机
shutdown -c #取消重启或关机
小练习:
获取一个文件的前十行:head -10 a.cfg > a10.txr
将ping的结果信息存入指定文件:ping -c 5 baidu.com > ping.txt
将sshd的服务器运行状态信息写入指定文件中:systemctl status sshd > sshd.log