在linux中,ps、tar 和 grep 是常用的命令,分别用于进程管理、文件归档与解压、文本搜索。
下面是它们的详细介绍:
1.ps命令(进程管理)
1.1ps命令简介
ps(process status)用于显示当前系统的进程信息,结合 grep 可以查找特定进程。
1.2ps的常见选项
| 选项 | 作用 |
|---|---|
| -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.1tar命令简介
tar(tape archive)用于打包和解压缩文件,常与 gzip、bzip2 结合使用。
2.2tar常用选项
| 选项 | 作用 |
|---|---|
| -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.1grep命令简介
grep(global regular expression print)用于搜索文本中的匹配模式,支持基本字符串匹配和正则表达式。
3.2grep常用选项
| 选项 | 作用 |
|---|---|
| -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 地址 |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论