在Linux中,ps
、tar
和 grep
是常用的命令,分别用于进程管理、文件归档与解压、文本搜索。下面是它们的详细介绍:
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)用于打包和解压缩文件,常与 gzip
、bzip2
结合使用。
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
解释:将 file1
、file2
和 dir1
打包为 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 地址 |