当前位置: 首页 > news >正文

更多Bash Shell命令实战——从进程管理到数据归档

前言
本文是《更多的bash shell命令》课程的实践总结,通过在Xshell中连接虚拟机,亲手操作了Linux中进程管理、磁盘管理、数据排序、搜索和归档等常用命令。本文将按照PPT的顺序,逐一演示每个命令的用法,并附上操作截图和常见参数说明,帮助正在学习Linux的你快速上手。
一、实验环境
操作系统:Ubuntu(VMware虚拟机)
远程连接工具:Xshell
Shell环境:GNU Bash
二、监测程序——ps命令
ps命令用于查看系统上运行的所有程序的信息。当程序运行在系统上时,我们称之为进程(process)。
基本用法:
直接输入ps,查看当前终端下的进程:
ps
输出示例:
PID TTY TIME CMD
2938 pts/1 00:00:00 bash
3810 pts/1 00:00:00 ps
目前只运行了bash shell以及ps命令本身。基本输出显示了程序的进程ID(PID)、它们运行在哪个终端(TTY)以及进程已用的CPU时间。
查看所有进程:
使用ps -ef参数组合查看系统上运行的所有进程:
ps -ef
-e参数指定显示所有运行在系统上的进程,-f参数则扩展了输出。输出依次包含以下信息:
UID:启动这些进程的用户
PID:进程的进程ID
PPID:父进程的进程号
C:进程生命周期中的CPU利用率
STIME:进程启动时的系统时间
TTY:进程启动时的终端设备
TIME:运行进程需要的累计CPU时间
CMD:启动的程序名称
操作截图:

三、实时监控——top命令
ps命令只能显示某个特定时间点的信息,而top命令是实时显示的。
启动top:
top
top输出的第一部分显示系统的概况:
第一行:当前时间、系统的运行时间、登录的用户数以及系统的平均负载。平均负载有3个值:最近1分钟、最近5分钟和最近15分钟的平均负载。值越大说明系统的负载越高。
第二行:进程概要信息,有多少进程处在运行、休眠、停止或是僵化状态。
第三行:CPU的概要信息,包括用户空间占用CPU百分比(us)、内核空间占用CPU百分比(sy)、空闲CPU百分比(id)等。
最后两行:系统内存的状态,包括物理内存总量、空闲内存、已用内存和交换空间的信息。
top常用交互命令:
在top界面中可以输入以下按键执行相应功能:
? 显示在top当中可以输入的命令
P 以CPU的使用资源排序显示
M 以内存的使用资源排序显示
N 以pid排序显示
T 由进程使用的时间累计排序显示
k 给某一个pid一个信号,可以用来杀死进程
r 给某个pid重新定制一个nice值(即优先级)
u 显示指定用户下的所有进程
q 退出top
操作截图:

四、结束进程——kill命令
作为系统管理员,很重要的一个技能就是知道何时以及如何结束一个进程。有时进程挂起了,需要让进程重新运行或结束。
常用信号:
1 HUP 挂起
2 INT 中断
9 KILL 无条件终止
15 TERM 尽可能终止
18 TSTP 停止或暂停,但继续在后台运行
19 CONT 在STOP或TSTP之后恢复执行
使用kill命令:
用法:kill [option] [PID号]
默认情况下,kill命令会向命令行中列出的全部PID发送一个TERM信号,告诉进程可能的话就停止运行。
正常终止进程:
kill PID号
强制终止进程(慎用):
kill -9 PID号
操作截图:
五、磁盘挂载——mount和umount命令
Linux文件系统将所有的磁盘都并入一个虚拟目录下。在使用新的存储媒体之前,需要把它放到虚拟目录下,这项工作称为挂载(mounting)。
查看已挂载设备:
mount
mount命令提供如下四部分信息:
媒体的设备文件名
媒体挂载到虚拟目录的挂载点
文件系统类型
已挂载媒体的访问状态
手动挂载设备:
mount -t type device directory
常用参数:
-r 将设备挂载为只读的
-w 将设备挂载为可读写的(默认参数)
-t 指定文件系统类型
卸载设备:
从Linux系统上移除一个可移动设备时,不能直接从系统上移除,而应该先卸载。
umount [directory|device]
操作截图:

六、查看磁盘空间——df和du命令
df命令:
df命令可以很方便地查看所有已挂载磁盘的使用情况。
查看磁盘使用情况:
df
以易读格式显示(MB、GB):
df -h
df命令输出依次为:设备的设备文件位置、能容纳多少个1024字节大小的块、已用了多少个、还有多少个可用、已用空间所占比例、设备挂载到了哪个挂载点上。
du命令:
du命令可以显示某个特定目录的磁盘使用情况,用来快速判断系统上某个目录下是不是有超大文件。
查看当前目录磁盘使用情况:
du
以易读格式显示:
du -h
只显示总大小:
du -sh
查看指定目录:
du -sh /home
操作截图:

七、排序数据——sort命令
sort命令是对数据内容进行排序。注意,sort只是将数据显示的时候进行了排序,实际上文件内部的数据没有变。
基本用法:
创建测试文件:
echo -e “5\n3\n15\n8\n1\n20\n10” > numbers.txt
cat numbers.txt
默认排序(按字符排序):
sort numbers.txt
按数值排序:
sort -n numbers.txt
降序排序:
sort -nr numbers.txt
常用参数:
-n 把数字识别成数字而不是字符,按值排序
-r 将结果按降序输出
-t 指定分隔符
-k 指定排序的列
操作截图:

八、搜索数据——grep命令
grep命令会在输入或指定的文件中查找包含匹配指定模式的字符的行。
基本用法:
创建测试文件:
echo -e “apple\nbanana\ngrape\napple pie\npineapple\nAPPLE” > fruits.txt
基本搜索:
grep “apple” fruits.txt
反向搜索(不包含apple的行):
grep -v “apple” fruits.txt
显示行号:
grep -n “apple” fruits.txt
统计匹配行数:
grep -c “apple” fruits.txt
忽略大小写:
grep -i “apple” fruits.txt
多个匹配模式:
grep -e “apple” -e “grape” fruits.txt
使用正则表达式(以a开头):
grep “^a” fruits.txt
在系统进程中使用grep:
ps -ef | grep bash
操作截图:

九、压缩和解压——gzip和tar命令
gzip命令:
gzip命令会压缩你在命令行指定的文件。
压缩文件:
gzip filename
解压文件:
gzip -d filename.gz
tar命令:
tar命令最开始是用来将文件写到磁带设备上归档的,现在普遍用来归档数据。
常用功能:
-c 创建一个新的tar归档文件
-x 从已有tar归档文件中提取文件
-t 列出已有tar归档文件的内容
-r 追加文件到已有tar归档文件末尾
常用选项:
-f file 输出结果到文件或设备file
-z 将输出重定向给gzip命令来压缩内容
-j 将输出重定向给bzip2命令来压缩内容
-v 在处理文件时显示文件
-C dir 切换到指定目录
tar命令使用案例:
创建测试目录和文件:
mkdir test_archive
touch test_archive/file1.txt test_archive/file2.txt test_archive/file3.txt
创建tar归档文件:
tar -cvf archive.tar test_archive/
查看tar归档文件内容:
tar -tvf archive.tar
创建tar.gz压缩文件:
tar -czvf archive.tar.gz test_archive/
解压tar.gz文件:
tar -xzvf archive.tar.gz
解压到指定目录:
mkdir extract_dir
tar -xzvf archive.tar.gz -C extract_dir/
操作截图:

十、知识框架总结
1.进程管理类:
ps 查看进程信息 常用参数:-ef
top 实时监控进程 常用交互:P、M、N、T、u、k、q
kill 结束进程 常用参数:-9
2.磁盘管理类:
mount 挂载设备 常用参数:-t
umount 卸载设备 无
df 查看磁盘空间 常用参数:-h
du 查看目录占用空间 常用参数:-h、-s
3.数据处理类:
sort 排序数据 常用参数:-n、-r、-t、-k
grep 搜索数据 常用参数:-v、-n、-c、-i、-e
4.压缩归档类:
gzip 压缩文件 常用参数:-d
tar 归档文件 常用参数:-c、-x、-t、-v、-f、-z

http://www.jsqmd.com/news/1115627/

相关文章:

  • 终极指南:3步快速上手XUnity Auto Translator游戏翻译插件
  • QMCDecode:macOS上免费解锁QQ音乐加密音频的终极指南
  • 嵌入式条码扫描方案:LV30引擎与PIC18微控制器的实战应用
  • 江苏蔡司三维扫描仪定制厂家
  • OLTP数据库OLAP数据仓库
  • 专业解析:如何通过m4s-converter实现B站缓存视频的格式转换与永久保存
  • KMR221与PIC18F86J10的高精度电压检测系统设计
  • 免费大模型镜像真相:成本、合规与本地部署替代方案
  • AI编码时代核心难题:解密本地正常、线上必崩的隐性代码陷阱
  • 2026年西安改灯避坑:靠谱改灯要点与常见陷阱解析
  • STM32与TB9051FTG实现静音直流电机控制方案
  • MCreator 2026.1 Forge 1.20.1 踩坑:Gradle 同步失败与环境配置全解
  • 2026农户必看:海力冠生物刺激素最佳施用间隔指南
  • ICM-42688-P与STM32F429在机器人控制中的高效融合
  • AD74413R与PIC18F87J50高精度工业信号处理方案
  • 动物森友会存档修改终极指南:5分钟打造你的梦幻岛屿
  • 直流有刷电机驱动方案选型与优化实战
  • 嵌入式系统高精度电压管理方案设计与实现
  • 2026年6月选型观察:排盘时间校准误差怎么解决?2026年6月八字软件测评重点看真太阳时
  • 如何用VisualCppRedist AIO解决Windows DLL缺失问题:新手友好指南
  • 湖南评副高必须发论文吗?
  • Navicat Mac版无限试用终极指南:三种简单方法免费使用Navicat Premium
  • Python爬虫经典案例第55篇:在线文档平台爬取——Notion数据采集实战
  • STM32嵌入式条码识别系统设计与优化
  • AD74413R与PIC18F86J10在工业控制中的ADC/DAC集成方案
  • 一套可持续执行的做计划方法 适配日常多任务办公场景
  • 终极NHSE动物森友会存档编辑器完整指南:从入门到精通
  • Windows Cleaner:终极免费系统清理工具,快速解决C盘爆红问题
  • 如何用Python写一个简单的Web应用?
  • 4-20mA电流环与STM32L4的工业级电流检测方案