1. cut 命令 - 文本截取工具
功能:按列或字符截取文本内容
常用选项
选项 | 说明 |
| 按字节截取 |
| 按字符截取(推荐处理中文) |
| 指定分隔符(默认TAB) |
| 指定字段(需配合 |
使用示例
# 系统文件处理
cut -d':' -f1 /etc/passwd # 获取用户名
cut -d':' -f3 /etc/passwd # 获取UID
cut -d':' -f1,3 /etc/passwd # 同时获取用户名和UID
# 字符处理
cut -c 2 name.txt # 截取每行第2个字符
who | cut -b 3 # 截取who输出每行第3字节
who | cut -c 3 # 截取每行第3字符
# 中文处理
cat name | cut -c 2 # 正确截取中文字符注意:cut最适合处理以单个字符为间隔的文本
2. sort 命令 - 文本排序工具
功能:对文本行进行排序(默认按行首字符升序)
常用选项
选项 | 说明 |
| 指定字段分隔符 |
| 指定排序字段 |
| 按数值大小排序 |
| 降序排列 |
| 去重(相当于uniq) |
| 结果输出到文件 |
使用示例
# 基础排序
sort passwd.txt # 按第一列升序
# 高级排序
sort -n -t: -k3 passwd.txt # 按第3列数值升序
sort -nr -t: -k3 passwd.txt # 按第3列数值降序
# 结果处理
sort -u passwd.txt # 去重排序
sort -nr -t: -k3 passwd.txt -o out.txt # 保存排序结果3. uniq 命令 - 重复行处理工具
功能:去除连续重复行(常与sort配合使用)
常用选项
选项 | 说明 |
| 统计重复行出现次数 |
| 仅显示重复行 |
| 仅显示唯一行 |
使用示例
# 创建测试文件
cat fruit.txt
apple
apple
peache
pear
banana
cherry
cherry
banana
orange
# 基础去重
uniq fruit.txt # 仅去除相邻重复
sort fruit.txt | uniq # 全局去重
# 高级用法
sort fruit.txt | uniq -c # 统计出现次数
sort fruit.txt | uniq -d # 只显示重复行
sort fruit.txt | uniq -u # 只显示唯一行
# 实用案例
who | awk '{print $1}' | uniq # 查看登录用户
last | awk '{print $1}' | sort | uniq | grep -v "^$\|wtmp" # 查看历史登录用户4. tr 命令 - 字符转换工具
功能:字符替换/删除/压缩(适合单个字符处理)
常用选项
选项 | 说明 |
| 删除指定字符 |
| 压缩重复字符 |
使用示例
# 字符转换
tr 'a-z' 'A-Z' < fruit.txt # 小写转大写
cat fruit.txt | tr 'a' '/' # 替换a为/
# 字符处理
tr -d 'a' < fruit.txt # 删除所有a字符
tr -d '\n' < fruit.txt # 删除换行符
tr -s 'p' < fruit.txt # 压缩连续p为单个
# 注意:替换是一一对应的
cat fruit | tr 'apple' 'star' # a→s, p→t, l→a, e→r5. 综合应用案例
案例1:统计连接主机数
ss -nt | tr -s " " | cut -d " " -f5 | cut -d ":" -f1 | sort | uniq -c步骤解析:
ss -nt:查看TCP连接(不解析服务名)tr -s " ":压缩多个空格cut -d " " -f5:提取对端地址:端口cut -d ":" -f1:提取IP地址sort:排序使相同IP相邻uniq -c:统计各IP出现次数
案例2:统计连接状态
ss -nta | grep -v '^State' | cut -d" " -f1 | sort | uniq -c6. 命令速记口诀
- •cut - 截取列
- •sort - 排序行
- •uniq - 去重行(需配合sort)
- •tr - 处理字符
整理后的文档采用分层结构,每个命令包含:
- 功能说明
- 选项表格
- 分类示例
- 注意事项
- 综合应用案例
















