Linux & Shell 编程基础 —— 更多 bash shell 命令 课堂笔记
一、进程管理
进程:系统中正在运行的程序。
1. ps 静态查看进程(快照)
基础用法
输出字段:PID (进程 ID)、TTY (终端)、TIME (占用 CPU 时长)、CMD (程序名)
完整查看所有进程 ps -ef
参数说明:
-e:显示系统全部进程
-f:扩展完整信息
输出字段含义: UID:进程所属用户 PID:进程 ID PPID:父进程 ID C:CPU 占用 STIME:进程启动时间 TTY:终端设备 TIME:累计 CPU 时间 CMD:启动命令
2. top 实时动态监控进程
输出分区解读
第一行:系统整体状态
top - 16:00:57 up 63 days, 52 min, 6 users,load average: 8.28, 8.23, 8.28当前时间、开机时长、登录用户、1/5/15 分钟平均负载第二行 Tasks:进程总览 总进程数、运行、休眠、停止、僵尸进程 (Z)
第三行 Cpu (s):CPU 占用拆分 用户态、系统态、空闲、等待 IO 等占比
四五行 Mem / Swap:内存、交换分区总使用
进程列表字段 PID:进程 ID USER:运行用户 PR/NI:优先级、nice 值 VIRT:虚拟内存 RES:物理内存 SHR:共享内存 S:进程状态 (R 运行 / S 休眠 / Z 僵尸 / T 停止) % CPU / % MEM:CPU、内存占用百分比 TIME+:总 CPU 运行时长 COMMAND:执行程序
3. 进程信号、终止进程
常用进程信号表
1 HUP 挂起 2 INT 中断(Ctrl+C) 3 QUIT 退出 9 KILL 强制无条件终止(暴力杀进程) 15 TERM 正常终止(默认 kill 信号) 17 STOP 暂停进程 18 TSTP 后台暂停 19 CONT 恢复暂停进程
kill 按 PID 杀进程
kill 1234 # 默认发送15 TERM kill -9 1234 # 强制杀死,发送9 KILL信号 kill -s KILL 1234killall 按程序名批量杀进程
killall python killall python3二、磁盘空间管理
1. mount 挂载存储设备
直接查看当前所有挂载
含义:/dev/sda3 挂载到根目录 /,文件系统 xfs,可读可写
手动挂载设备(需要 root/sudo)
语法:mount -t 文件系统类型 设备路径 挂载点
常用参数:
-r只读挂载
-w读写挂载(默认)
-o ro/rw/user额外挂载选项
-loop挂载镜像文件
2. umount 卸载设备
不能直接拔 U 盘,必须先卸载;设备被占用会卸载失败
lsof 查看占用设备的进程
卸载提示设备繁忙时使用:
3. df 查看磁盘分区整体使用
4. du 查看目录 / 文件占用空间
默认按磁盘块输出,常用参数:
-h易读单位
-s只显示总大小(汇总)
-c输出所有文件 + 总计
5. U 盘完整挂载实操全套命令
三、数据处理工具 sort & grep
1. sort 文件排序
测试文件 test_sort.txt
输出:11 12 3
常用参数
-n按数字数值排序
-r倒序(降序)
-M识别英文月份排序
2. grep 文本匹配检索
作用:匹配包含指定字符串的行 测试文件 test_sortn.txt 内容:1 2 10 21
四、压缩与归档
1. gzip 单文件压缩解压
2. tar 归档打包(可配合 gzip 压缩)
核心参数
-c创建归档包
-x解压提取文件
-f指定归档文件名(必须放最后)
-v打印过程详情
-z使用 gzip 压缩(打包后.tgz)
五、本章小结
- 进程监控:ps 静态快照、top 实时监控;kill/killall 管理进程,9 号信号强制杀进程
- 磁盘管理:mount 挂载、umount 卸载;df 查看分区总占用,du 查看目录占用;U 盘挂载完整流程 lsblk+mount+umount
- 文本处理:sort 实现数据排序,grep 检索匹配文本
- 文件归档压缩:gzip 单文件压缩;tar 打包目录,搭配 - z 生成 tgz 压缩包