🏷️ 标签:Linux 数据处理 排序 搜索 压缩 归档 运维 Shell 📝 适用人群:Linux 初学者、后端开发、运维人员、学生、数据处理实训 💡 核心亮点:覆盖数据排序、数据搜索、数据压缩、数据归档四大高频场景,命令实用、示例可直接复制
一、前言
在 Linux 环境下,处理日志文件、导出数据、备份文件、清理磁盘是非常高频的工作。 熟练掌握 数据排序、数据搜索、数据压缩、数据归档 这四类操作,可以大幅提升数据处理效率。
本文按照企业最常用场景,分为四大部分:
- 数据排序(sort)
- 数据搜索(grep)
- 数据压缩(gzip、bzip2、xz、zip)
- 数据归档(tar)
所有命令均为实战示例,看完即可上手工作。
二、数据排序(sort)
sort 用于对文本文件内容按行排序。
2.1 基础排序
sort file.txt
2.2 按数字排序
sort -n file.txt
2.3 逆序(降序)
sort -r file.txt
2.4 去重排序
sort -u file.txt
2.5 将结果保存到文件
sort file.txt -o sorted.txt
2.6 按指定列排序
sort -k 2 file.txt
2.7 综合示例:按第二列数字降序
sort -k 2nr file.txt
三、数据搜索(grep)
grep 是 Linux 最强大的文本搜索工具,用于过滤、查找关键字。
3.1 基础查找
grep "error" log.txt
3.2 忽略大小写
grep -i "error" log.txt
3.3 显示行号
grep -n "error" log.txt
3.4 反向匹配(排除)
grep -v "error" log.txt
3.5 统计匹配行数
grep -c "error" log.txt
3.6 递归搜索目录中所有文件
grep -r "TODO" /root/code
3.7 正则匹配
grep -E "warn|error" log.txt
四、数据压缩(gzip /bzip2 /xz/zip)
用于减小文件体积,节省磁盘与传输时间。
4.1 gzip(最快、最常用)
gzip file.txt # 压缩
gunzip file.txt.gz # 解压
4.2 bzip2(压缩率更高)
bzip2 file.txt
bunzip2 file.txt.bz2
4.3 xz(压缩率最高)
xz file.txt
unxz file.txt.xz
4.4 zip(通用跨平台)
zip data.zip file1.txt file2.txt
unzip data.zip
五、数据归档(tar)
tar 用于将多个文件 / 目录打包成一个文件(归档),常与压缩结合使用。
5.1 打包 + gzip 压缩(最常用)
tar -zcvf archive.tar.gz dir/
5.2 解压 tar.gz
tar -zxvf archive.tar.gz
5.3 打包 + bzip2 压缩
tar -jcvf archive.tar.bz2 dir/
5.4 解压 tar.bz2
tar -jxvf archive.tar.bz2
5.5 打包 + xz 最高压缩
tar -Jcvf archive.tar.xz dir/
5.6 查看归档文件内容(不解压)
tar -tvf archive.tar.gz
六、企业高频组合命令(必备)
6.1 日志排序统计访问量 Top10
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10
6.2 搜索错误日志并保存
grep -n "ERROR" app.log > error.log
6.3 备份目录(归档 + 压缩)
tar -zcvf /backup/www_$(date +%Y%m%d).tar.gz /var/www
6.4 批量解压当前目录所有 zip
for f in *.zip; do unzip $f; done
七、命令总结表
| 功能 | 命令 | 典型示例 |
|---|---|---|
| 数据排序 | sort | sort -n file.txt |
| 数据搜索 | grep | grep -n "key" file |
| 压缩 | gzip | gzip file.txt |
| 解压 | gunzip | gunzip file.gz |
| 归档压缩 | tar | tar -zcvf a.tar.gz dir |
| 解压归档 | tar | tar -zxvf a.tar.gz |
八、总结
Linux 处理数据文件核心四大技能:
- 排序:sort
- 搜索:grep
- 压缩:gzip/bzip2/xz/zip
- 归档:tar
掌握它们,你就可以高效处理日志、数据、备份、归档等日常工作。
版权声明
本文为原创 Linux 技术文章,CSDN 首发,专注 Linux 数据文件处理,禁止未经授权转载、抄袭、搬运,侵权必究!