一、cut 文本截取命令
cut 是Linux专用文本截取工具,用于截取文件或管道输出中的指定列、指定字符段,常用于处理结构化文本(如日志、配置文件、表格数据)。
1. 核心语法
cut [选项] 文件名
2. 常用核心参数
3. 实操案例
截取/etc/passwd文件中以冒号分隔的第1列(用户名):
cut -d: -f1 /etc/passwd
截取第1、3列内容:
cut -d: -f1,3 /etc/passwd
截取每行前5个字符:
cut -c1-5 test.txt
二、tar 归档与释放(打包解压核心)
tar 是Linux标准归档命令,核心作用是打包目录/文件(归档)和解包释放,本身不压缩,常搭配gzip、bzip2实现压缩打包,是服务器备份、文件传输必备命令。
1. 核心常用参数
2. 实操案例
1. 普通打包(仅归档,不压缩):
tar -cvf test.tar test/
2. 解包释放文件:
tar -xvf test.tar
3. gzip格式压缩打包(最常用):
tar -zcvf test.tar.gz test/
4. 解压tar.gz包到指定目录:
tar -zxvf test.tar.gz -C /home/
5. bzip2格式压缩打包:
tar -jcvf test.tar.bz2 test/
三、zip / unzip 跨平台压缩解压
zip、unzip 是跨Windows、Linux、Mac的通用压缩工具,兼容性极强,支持打包目录和多文件,日常文件传输首选。默认系统可能未安装,可执行 yum install zip unzip -y(CentOS)/ apt install zip unzip -y(Ubuntu)安装。
1. zip 压缩命令
语法:zip [参数] 压缩包名 源文件/目录
常用参数:-r 递归压缩目录(必须加,否则仅压缩目录空壳)
案例:压缩单个文件、整个目录
zip test.zip test.txt
zip -r dir.zip test_dir/
2. unzip 解压命令
语法:unzip [参数] 压缩包名
常用参数:-d 指定解压目录
案例:解压到当前目录、指定目录
unzip test.zip
unzip dir.zip -d /home/test/
四、gzip / bzip2 高效压缩解压
二者均为Linux专属压缩工具,压缩效率高于zip,常用于服务器日志、大文件压缩,区别是:gzip速度快、兼容性高;bzip2压缩率更高、体积更小,速度稍慢。默认压缩后删除原文件。
1. gzip 命令(.gz格式)
压缩文件:gzip test.txt 生成 test.txt.gz,删除原文件
解压文件:gzip -d test.txt.gz 解压并删除压缩包,恢复原文件
保留原文件压缩:gzip -c test.txt > test.txt.gz
2. bzip2 命令(.bz2格式)
压缩文件:bzip2 test.txt 生成 test.txt.bz2,删除源文件
解压文件:bzip2 -d test.txt.bz2
保留原文件压缩:bzip2 -k test.txt
补充:gzip、bzip2 不支持直接压缩目录,目录压缩需搭配tar命令使用。
五、grep 文本过滤搜索
grep 是Linux最强文本过滤工具,支持普通字符、正则表达式匹配,用于从文件、管道输出中筛选指定内容,日志排查、文本检索必备。
1. 核心语法
grep [参数] "搜索关键词" 文件名
2. 高频参数
3. 实操案例
筛选文件中包含root的行并显示行号:
grep -n "root" /etc/passwd
反向过滤,排除空行和注释行:
grep -v "^#" test.conf | grep -v "^(date +%Y%m%d).tar.gz /var/log/
八、命令总结对照表
命令 | 核心功能 | 适用场景 |
|---|
cut | 截取文本指定列/字符 | 结构化文本提取、数据清洗 |
tar | 文件/目录归档、解压 | 批量打包备份、服务器文件迁移 |
zip/unzip | 跨平台压缩解压 | Windows/Linux互传文件 |
gzip/gzip -d | 快速压缩、解压gz文件 | 日常快速压缩、日志归档 |
bzip2/bzip2 -d | 高压缩率压缩、解压bz2文件 | 大文件极致压缩、节省磁盘空间 |
grep | 文本内容过滤、搜索 | 日志排查、关键词检索、文本筛选 |
wc | 行数、单词、字符统计 | 数据量化统计、批量计数 |