一、磁盘类
1.1、df 查看磁盘空间使用情况
df: disk free 空余硬盘
1、基本语法
df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
2、选项说明
| 选项 | 功能 |
| -h | 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; |
3、案例实操
(1)查看磁盘使用情况
df -h
1.2、du 文件和目录的磁盘使用空间
1、基本语法
du 目录/文件(功能描述:统计文件或递归显示目录及子目录的磁盘使用空间)
2、选项说明
| 选项 | 功能 |
| -a | 显示当前目录下所有的文件目录及子目录大小 |
| -h | 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; |
| -s | 只显示。。。。 |
应用:-h,-ah,-sh
3、案例实操
(1)查看文件的空间使用情况
du houge.txt
(2)查看目录及子目录的空间使用情况
du xiyou
(3)查看目录、子目录及目录下所有文件的空间使用情况
du -a xiyou
二、进程线程类
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
2.1、ps 查看当前系统进程状态
ps:process status 进程状态
1、基本语法
ps -aux | grep xxx (功能描述:查看系统中所有进程)
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
2、选项说明
| 选项 | 功能 |
| -a | 选择所有进程 |
| -u | 显示所有用户的所有进程 |
| -x | 显示没有终端的进程 |
3、功能说明
(1)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:产生此进程的命令名
(2)ps -ef 显示信息说明
UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU时间
CMD:启动进程所用的命令和参数
4、经验技巧
如果想查看进程的CPU占用率和内存占用率,可以使用aux;
如果想查看进程的父进程ID可以使用ef;
5、案例实操
(1)查看进程的CPU占用率和内存占用率
ps -aux
(2)查看进程的父进程ID
ps -ef
2.2、kill 终止进程
1、基本语法
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
2、选项说明
| 选项 | 功能 |
| -9 | 表示强迫进程立即停止 |
3、案例实操
(1)开启多个终端
在XShell 中双击开启的标签,即可打开新的终端。准备两个终端。
(2)监控houge.txt
在其中一个终端中执行以下命令。
tail -F houge.txt
(3)查看tail进程号
在另一个终端中查看进程号。
ps -ef | grep tail
(4)杀死tail进程
kill -9 43823
此时,另一个终端可以看到提示,进程已被杀死。
注:kill 43823,已被终止
(5)通过名称杀死进程
killall 命令可以根据名称杀死进程,此处的进程名称是精确匹配。通常进程名称为启动命令中可执行文件的名称。对于tail -F houge.txt启动的进程,其进程名称为tail。
再开启一个终端,在其中两个终端中执行以下命令。
tail -F houge.txt
在最后一个终端中执行以下命令。
killall tail
可以看到另外两个终端的tail进程均被杀死。
2.3、查看服务器总体内存
1、基本语法
free -m (功能描述:查看服务器总体内存)
2、案例实操
man free
2.4、top 查看系统健康状态
1、基本命令
top [选项]
2、选项说明
| 选项 | 功能 |
| -d秒数 | 指定top命令每隔几秒更新。 |
| -i | 使top不显示任何闲置或者僵死进程。 |
| -p | 通过指定监控进程ID来仅仅监控某个进程的状态。 |
3、操作说明
| 操作 | 功能 |
| P | 以CPU使用率排序,默认就是此项 |
| M | 以内存的使用率排序 |
| N | 以PID排序 |
| q | 退出top |
4、查询结果字段解释
(1)第一行信息为任务队列信息
| 内容 | 说明 |
| 12:26:46 | 系统当前时间 |
| up 1 day, 13:32 | 系统的运行时间,本机已经运行1天 13小时32分钟 |
| 2 users | 当前登录了两个用户 |
| load average: 0.00, 0.00, 0.00 | 系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。 |
(2)第二行为进程信息
| Tasks: 95 total | 系统中的进程总数 |
| 1 running | 正在运行的进程数 |
| 94 sleeping | 睡眠的进程 |
| 0 stopped | 正在停止的进程 |
| 0 zombie | 僵尸进程。如果不是0,需要手工检查僵尸进程 |
(3)第三行为CPU信息
| Cpu(s): 0.1%us | 用户模式占用的CPU百分比 |
| 0.1%sy | 系统模式占用的CPU百分比 |
| 0.0%ni | 改变过优先级的用户进程占用的CPU百分比 |
| 99.7%id | 空闲CPU的CPU百分比 |
| 0.1%wa | 等待输入/输出的进程的占用CPU百分比 |
| 0.0%hi | 硬中断请求服务占用的CPU百分比 |
| 0.1%si | 软中断请求服务占用的CPU百分比 |
| 0.0%st | st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。 |
(4)第四行为物理内存信息
| Mem: 625344k total | 物理内存的总量,单位KB |
| 571504k used | 已经使用的物理内存数量 |
| 53840k free | 空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了 |
| 65800k buffers | 作为缓冲的内存数量 |
(5)第五行为交换分区(swap)信息
| Swap: 524280k total | 交换分区(虚拟内存)的总大小 |
| 0k used | 已经使用的交互分区的大小 |
| 524280k free | 空闲交换分区的大小 |
| 409280k cached | 作为缓存的交互分区的大小 |
5、案例实操
top -d 1
top -i
top -p 2575
执行上述命令后,可以按P、M、N对查询出的进程结果进行排序。
注:top已经很古老
实际使用软件(Ubuntu自带的“系统监视器”)更方便

2.5、netstat 显示网络统计信息和端口占用情况
1、基本语法
netstat -anp |grep 进程号 (功能描述:查看该进程网络信息)
netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
2、选项说明
| 选项 | 功能 |
| -n | 拒绝显示别名,能显示数字的全部转化成数字 |
| -l | 仅列出有在listen(监听)的服务状态 |
| -p | 表示显示哪个进程在调用 |
3、案例实操
(1)通过nc命令监听某个端口
nc -lk 12345
上述命令表示监听本机12345端口。
(2)在另一个终端查看进程号
ps -ef | grep "nc -lk 12345"
(3)通过进程号查看该进程的网络信息
netstat -anp | grep 44118
(4)查看某端口号是否被占用
netstat -nlp | grep 12345
三、crontab 系统定时任务
3.1、crontab 服务管理
1、重新启动crond服务
sudo systemctl restart cron
3.1、crontab 定时任务设置
1、基本语法
crontab [选项]
2、选项说明
| 选项 | 功能 |
| -e | 编辑crontab定时任务 |
| -l | 查询crontab任务 |
| -r | 删除当前用户所有的crontab任务 |
3、选择编辑器
crontab -e
执行上述命令,系统会提示我们选择编辑器,此处没有vim。 (Ctrl+X退出)
我们可以通过EDITOR环境变量在执行crontab时选择编辑器,命令如下。
EDITOR=vim crontab -e
4、参数说明
(1)执行上述命令会进入crontab编辑界面,并打开vim编辑定时任务。
* * * * * 执行的任务
| 项目 | 含义 | 范围 |
| 第一个“*” | 一小时当中的第几分钟 | 0-59 |
| 第二个“*” | 一天当中的第几小时 | 0-23 |
| 第三个“*” | 一个月当中的第几天 | 1-31 |
| 第四个“*” | 一年当中的第几月 | 1-12 |
| 第五个“*” | 一周当中的星期几 | 0-7(0和7都代表星期日) |
(2)特殊符号
| 特殊符号 | 含义 |
| * | 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。 |
| , | 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令 |
| - | 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令 |
| */n |
代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令 |
(3)特定时间执行命令
| 时间 | 含义 |
| 45 22 * * * 命令 | 在22点45分执行命令 |
|
0 17 * * 1 命令 | 每周1 的17点0分执行命令 |
| 0 5 1,15 * * 命令 | 每月1号和15号的凌晨5点0分执行命令 |
| 40 4 * * 1-5 命令 | 每周一到周五的凌晨4点40分执行命令 |
| */10 4 * * * 命令 | 每天的凌晨4点,每隔10分钟执行一次命令 |
| 0 0 1,15 * 1 命令 | 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。 |
5、案例实操
(1)监听bailongma.txt
tail -F bailongma.txt
(2)每隔1分钟,向/home/atguigu/桌面/bailongma.txt 文件中添加一个11的数字
*/1 * * * * /bin/echo "11" >> /home/atguigu/桌面/bailongma.txt
(3)查看效果
...
389

被折叠的 条评论
为什么被折叠?



