Linux命令全家桶:进程、磁盘、排序、搜索、压缩——Xshell全实操
前言在前面的学习中我们已成功在虚拟机中安装Linux并通过Xshell实现了远程连接。今天我们将一口气拿下PPT《更多的bash shell命令》中提到的所有核心命令涵盖进程管理、磁盘挂载、数据排序搜索、文件压缩归档四大模块。这些命令是Linux运维与开发的基本功——ps和top让你看清系统“健康状况”kill让你掌控进程生死mount/df/du让你玩转磁盘sort/grep让你驾驭数据tar/gzip让你搞定压缩。掌握它们就掌握了Linux日常操作的半壁江山。本文将通过Xshell中的实际操作带你一步步掌握每个命令的用途、参数用法和实操技巧并建立清晰的知识框架体系。所有截图要求统一列在文末方便你一次性完成。一、进程管理篇1.1 ps —— 进程快照查看命令简介psProcess Status是Linux中最基础的进程查看命令能够输出系统当前瞬间的进程状态快照。与动态更新的top不同ps提供的是静态信息适合在脚本中调用或快速查看特定进程。常用参数参数组合 含义 示例ps aux 显示所有用户的所有进程BSD风格 ps auxps -ef 显示所有进程的完整格式System V风格 ps -efps -u 用户名 显示指定用户的进程 ps -u rootps -p PID 显示指定PID的进程 ps -p 1234ps aux输出包含USER用户、PID进程ID、%CPUCPU占用率、%MEM内存占用率、VSZ虚拟内存大小、RSS物理内存大小、TTY终端、STAT进程状态、START启动时间、TIME累计CPU时间、COMMAND命令名。实操演示bash查看所有进程最常用ps aux查看所有进程的完整格式ps -ef查看root用户的进程ps -u root结合grep查找特定进程见后文ps aux | grep sshd1.2 top —— 实时系统监控命令简介top是Linux最强大的实时系统监控工具动态显示进程资源占用情况支持交互式操作。与ps不同top提供实时更新的视图。启动参数参数 含义 示例-d 秒 设置刷新间隔默认3秒 top -d 1-p PID 只监控指定进程 top -p 1234-u 用户名 只显示某用户进程 top -u root-b 批处理模式适合脚本 top -b -n 1-n 次数 刷新N次后退出 top -n 5交互快捷键运行top后使用按键 功能PShiftP 按CPU使用率排序默认MShiftM 按内存使用率排序TShiftT 按运行时间排序1数字 显示所有CPU核心使用情况E 切换内存单位KB/MB/GBc 显示完整命令路径k 终止进程输入PID和信号q 退出top输出解读第1行当前时间、运行时长、登录用户数、1/5/15分钟平均负载第2行进程总数、运行中、休眠、停止、僵尸进程数第3行CPU使用率——us用户态、sy内核态、id空闲、waI/O等待第4-5行物理内存和交换分区使用情况实操演示bash直接启动toptop每秒刷新一次监控root用户top -d 1 -u root批处理模式输出到文件top -b -n 1 top_snapshot.txt1.3 kill —— 终止进程命令简介kill命令通过进程IDPID向进程发送信号默认发送TERM终止信号。当进程无法正常终止时可使用-9SIGKILL强制结束。常用信号信号 编号 含义TERM 15 正常终止默认KILL 9 强制终止无法被捕获HUP 1 重新加载配置实操演示bash查看所有可用信号kill -l正常终止进程默认SIGTERMkill 1234强制终止进程慎用kill -9 1234或使用信号名称kill -KILL 1234⚠️ 警告kill -9会强制终止进程不给进程任何清理机会可能导致数据丢失应作为最后手段使用。二、磁盘管理篇2.1 mount —— 挂载文件系统命令简介Linux将所有磁盘都并入一个虚拟目录下使用新存储设备前需要将其“挂载”到虚拟目录的某个位置。mount命令用于执行挂载操作。常用参数参数 含义 示例-t 类型 指定文件系统类型ext4、ntfs等 mount -t ext4 /dev/sdb1 /mnt-o 选项 挂载选项ro只读、rw读写等 mount -o rw /dev/sdb1 /mnt实操演示bash查看当前已挂载的设备mount挂载ext4格式的磁盘到/mnt目录需root权限sudo mount -t ext4 /dev/sdb1 /mnt挂载时指定读写权限sudo mount -o rw /dev/sdb1 /mnt2.2 umount —— 卸载文件系统命令简介从系统移除可移动设备前必须先卸载umount。如果有程序正在使用设备上的文件系统将不允许卸载。实操演示bash通过挂载点卸载sudo umount /mnt通过设备名卸载sudo umount /dev/sdb1 提示若提示“设备繁忙”可用lsof命令查看哪些进程正在使用该设备。2.3 df —— 查看磁盘空间命令简介dfDisk Free命令查看所有已挂载磁盘的使用情况。常用参数参数 含义-h 以人类可读格式显示KB/MB/GB-T 显示文件系统类型实操演示bash查看所有磁盘使用情况df以易读格式查看df -h显示文件系统类型df -Th2.4 du —— 查看目录大小命令简介duDisk Usage命令显示某个目录的磁盘使用情况。常用参数参数 含义-h 以人类可读格式显示-s 只显示总计不列出子目录-c 显示所有列出的文件总大小实操演示bash查看当前目录下所有文件和子目录大小du以易读格式查看当前目录总大小du -sh .查看/home目录总大小du -sh /home查看当前目录下各子目录大小易读格式du -h --max-depth1三、数据处理篇3.1 sort —— 数据排序命令简介sort命令对文本内容按指定规则排序。默认按字符编码排序——即数字10会排在2前面。常用参数参数 含义 示例-n 按数值大小排序重要 sort -n nums.txt-r 反向排序降序 sort -nr nums.txt-k N 按第N列排序 sort -k 2 data.txt-t 分隔符 指定列分隔符 sort -t ‘,’ -k 3 data.csv-u 去除重复行 sort -u names.txt-o 文件 输出到指定文件 sort -o out.txt in.txt实操演示练习1数字排序bash创建测试文件echo -e “5\n2\n8\n1\n10\n3” nums.txt查看内容cat nums.txt错误示范字符排序10排在2前面sort nums.txt正确示范数值排序sort -n nums.txt数值降序sort -nr nums.txt练习2按列排序bash创建多列数据echo -e “Tom 25\nJerry 22\nAlice 27\nBob 30” data.txt按第2列年龄升序sort -k 2 -n data.txt按第2列降序sort -k 2 -nr data.txt练习3去重bashecho -e “Tom\nJerry\nTom\nAlice\nJerry” names.txtsort -u names.txt3.2 grep —— 文本搜索命令简介grepGlobal Regular Expression Print是Linux最强大的文本搜索工具在文件或管道中查找匹配指定模式的行。常用参数参数 含义 示例-i 忽略大小写 grep -i “error”-v 反向匹配排除 grep -v “debug”-n 显示行号 grep -n “TODO”-c 统计匹配行数 grep -c “404”-w 整词匹配 grep -w “int”-E 启用扩展正则表达式 grep -E “err|warn”-A N 显示匹配行及后N行 grep -A 2 “Exception”-B N 显示匹配行及前N行 grep -B 1 “crash”正则表达式基础元字符 含义 示例^ 匹配行首 grep “^root”$ 匹配行尾 grep “bash$”. 匹配任意单个字符 grep “r…t”前一个字符0次或多次 grep “go*”| 逻辑或需-E grep -E “err|warn”实操演示bash创建测试文件echo -e “2024-01-01 INFO: User login success\n2024-01-02 ERROR: Connection failed\n2024-01-03 INFO: Data updated\n2024-01-04 WARNING: Disk space low” test.log基础搜索——查找ERRORgrep “ERROR” test.log忽略大小写grep -i “error” test.log反向匹配排除INFOgrep -v “INFO” test.log显示行号grep -n “INFO” test.log统计行数grep -c “INFO” test.log正则以2024-01-02开头的行grep “^2024-01-02” test.log正则以low结尾的行grep “low$” test.log与管道结合——查找sshd进程ps aux | grep sshd扩展正则查找ERROR或WARNINGgrep -E “ERROR|WARNING” test.log四、压缩归档篇4.1 gzip —— 文件压缩命令简介gzip采用LZ77无损压缩算法压缩比可达60%-70%比zip更高。压缩后文件后缀为.gz源文件会被删除。常用参数参数 含义-d 解压缩等同于gunzip-1到-9 压缩级别1最快/压缩比低9最慢/压缩比高实操演示bash压缩文件源文件被替换为.gzgzip file.txt解压缩gzip -d file.txt.gz或gunzip file.txt.gz4.2 tar —— 归档打包命令简介tarTape Archive将多个文件和目录打包成单个归档文件常与gzip结合使用。核心选项选项 含义-c 创建归档文件-x 解压归档文件-t 查看归档内容-v 显示详细过程-f 指定归档文件名-z 通过gzip压缩/解压实操演示bash打包不压缩home目录tar -cvf usr.tar /home打包并压缩.tar.gztar -czvf usr.tar.gz /home解压.tar.gz文件tar -xzvf usr.tar.gz查看归档内容分屏显示tar -tvf usr.tar | more最常用解压命令bashtar -xzvf filename.tar.gz # 解压.tar.gzgzip -d filename.gz # 解压.gz五、知识框架体系 进程管理框架text进程管理├── ps静态快照│ ├── ps aux → 所有用户所有进程│ ├── ps -ef → 完整格式所有进程│ └── ps aux | grep xxx → 查找特定进程├── top实时监控│ ├── 启动参数-d -p -u -b -n│ └── 交互快捷键P M 1 E c k q└── kill终止进程├── kill PID → 正常终止SIGTERM└── kill -9 PID → 强制终止SIGKILL⚠️ 磁盘管理框架text磁盘管理├── mount挂载│ └── mount -t 类型 -o 选项 设备 挂载点├── umount卸载│ └── umount 挂载点或设备├── df磁盘空间│ └── df -h易读格式└── du目录大小├── du -sh 目录总大小└── du -h --max-depth1各子目录大小 数据处理框架text数据处理├── sort排序│ ├── -n 数值排序 ⭐│ ├── -r 降序│ ├── -k N 按第N列│ ├── -t 分隔符│ └── -u 去重└── grep搜索├── -i 忽略大小写├── -v 反向匹配├── -n 显示行号├── -c 统计行数├── -E 扩展正则└── 正则^ $ . * | [] 压缩归档框架text压缩归档├── gzip单文件压缩│ ├── gzip 文件 → 压缩│ └── gzip -d 文件.gz → 解压└── tar归档打包├── -c 创建├── -x 解压├── -v 详细过程├── -f 指定文件└── -z gzip压缩/解压六、综合实战实战1查找并终止占用CPU过高的进程bash用top找到PID或直接用ps查找ps aux --sort-%cpu | head -5终止进程替换PIDkill -9 PID实战2查找大文件并清理bash查看磁盘使用情况df -h查找/home下的大目录du -sh /home/* | sort -nr | head -5实战3从日志中提取错误并统计bash统计ERROR出现次数grep -c “ERROR” /var/log/syslog提取ERROR并按时间排序grep “ERROR” /var/log/syslog | sort七、截图清单
