Linux中ps、tar、grep

发布于:2025-02-13 ⋅ 阅读:(43) ⋅ 点赞:(0)

在Linux中,pstargrep 是常用的命令,分别用于进程管理、文件归档与解压、文本搜索。下面是它们的详细介绍:


1. ps 命令(进程管理)

1.1 ps 命令简介

ps(Process Status)用于显示当前系统的进程信息,结合 grep 可以查找特定进程。

1.2 ps 的常见选项

选项 作用
-e 显示所有进程
-f 显示完整格式信息
-u 用户名 显示特定用户的进程
-p PID 仅显示指定进程
-aux 显示所有进程,包含用户名和CPU、内存占用
-eo 格式 自定义显示字段

1.3 常用 ps 命令示例

(1)查看所有进程
ps -e
ps aux
(2)查看当前用户进程
ps -u $(whoami)
(3)查找特定进程
ps aux | grep nginx

解释:查找 nginx 进程。

(4)按 CPU 或内存占用排序
ps aux --sort=-%cpu   # 按 CPU 使用率排序
ps aux --sort=-%mem   # 按 内存 使用率排序
(5)显示特定进程的详细信息
ps -p 12345 -o pid,%cpu,%mem,cmd

解释:显示进程 ID 为 12345 的 CPU、内存占用情况及其执行命令。


2. tar 命令(打包与解压)

2.1 tar 命令简介

tar(Tape Archive)用于打包和解压缩文件,常与 gzipbzip2 结合使用。

2.2 tar 常用选项

选项 作用
-c 创建压缩文件
-x 解压文件
-v 显示详细过程
-f 指定文件名
-z 使用 gzip 进行压缩
-j 使用 bzip2 进行压缩
-J 使用 xz 进行压缩
-t 查看压缩包内容
-C 目录 指定解压目录

2.3 常用 tar 命令示例

(1)打包文件

tar -cvf archive.tar file1 file2 dir1

解释:将 file1file2dir1 打包为 archive.tar

(2)解压 .tar 文件

tar -xvf archive.tar

(3)打包并使用 gzip 压缩

tar -czvf archive.tar.gz file1 file2 dir1

(4)解压 .tar.gz 文件

tar -xzvf archive.tar.gz

(5)打包并使用 bzip2 压缩

tar -cjvf archive.tar.bz2 file1 file2

(6)解压 .tar.bz2 文件

tar -xjvf archive.tar.bz2

(7)查看压缩包内文件

tar -tf archive.tar

(8)解压到指定目录

tar -xvf archive.tar -C /home/user/

3. grep 命令(文本搜索)

3.1 grep 命令简介

grep(Global Regular Expression Print)用于搜索文本中的匹配模式,支持基本字符串匹配和正则表达式。

3.2 grep 常用选项

选项 作用
-i 忽略大小写
-n 显示行号
-v 反向匹配
-o 仅显示匹配的部分
-c 统计匹配次数
-r 递归搜索目录
-A N 显示匹配行后 N 行
-B N 显示匹配行前 N 行
-C N 显示匹配行前后 N 行
-E 支持扩展正则表达式

3.3 常用 grep 命令示例

(1)基本搜索

grep "error" logfile.txt

(2)忽略大小写

grep -i "error" logfile.txt

(3)显示匹配的行号

grep -n "error" logfile.txt

(4)统计匹配次数

grep -c "error" logfile.txt

(5)显示匹配行及上下文

grep -C 3 "error" logfile.txt

(6)递归搜索目录

grep -r "error" /var/log/

(7)使用正则匹配 IP 地址

grep -E "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" logfile.txt

4. 结合使用示例

(1)查找并终止特定进程

ps aux | grep "nginx"
kill -9 $(ps aux | grep "nginx" | awk '{print $2}')

(2)搜索 tar 包中的文件

tar -tvf archive.tar | grep "config"

(3)实时监控日志

tail -f logfile.txt | grep "error"

总结

命令 作用
ps aux 显示所有进程
ps -u 用户名 查看某个用户的进程
ps aux --sort=-%cpu 按 CPU 使用率排序
tar -cvf archive.tar file1 file2 创建 .tar 文件
tar -xvf archive.tar 解压 .tar 文件
tar -czvf archive.tar.gz dir1 创建 .tar.gz 压缩包
grep "error" logfile.txt 在文件中查找 “error”
grep -r "error" /var/log/ 递归查找 “error”
grep -E "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" logfile.txt 查找 IP 地址

网站公告

今日签到

点亮在社区的每一天
去签到