1. cut 命令 - 文本截取工具

功能:按列或字符截取文本内容

常用选项

选项

说明

-b

按字节截取

-c

按字符截取(推荐处理中文)

-d

指定分隔符(默认TAB)

-f

指定字段(需配合-d

使用示例

# 系统文件处理
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 命令 - 文本排序工具

功能:对文本行进行排序(默认按行首字符升序)

常用选项

选项

说明

-t

指定字段分隔符

-k

指定排序字段

-n

按数值大小排序

-r

降序排列

-u

去重(相当于uniq)

-o

结果输出到文件

使用示例

# 基础排序
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配合使用)

常用选项

选项

说明

-c

统计重复行出现次数

-d

仅显示重复行

-u

仅显示唯一行

使用示例

# 创建测试文件
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 命令 - 字符转换工具

功能:字符替换/删除/压缩(适合单个字符处理)

常用选项

选项

说明

-d

删除指定字符

-s

压缩重复字符

使用示例

# 字符转换
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→r

5. 综合应用案例

案例1:统计连接主机数

ss -nt | tr -s " " | cut -d " " -f5 | cut -d ":" -f1 | sort | uniq -c

步骤解析

  1. ss -nt:查看TCP连接(不解析服务名)
  2. tr -s " ":压缩多个空格
  3. cut -d " " -f5:提取对端地址:端口
  4. cut -d ":" -f1:提取IP地址
  5. sort:排序使相同IP相邻
  6. uniq -c:统计各IP出现次数

案例2:统计连接状态

ss -nta | grep -v '^State' | cut -d" " -f1 | sort | uniq -c

6. 命令速记口诀

  • cut - 截取列
  • sort - 排序行
  • uniq - 去重行(需配合sort)
  • tr - 处理字符

整理后的文档采用分层结构,每个命令包含:

  1. 功能说明
  2. 选项表格
  3. 分类示例
  4. 注意事项
  5. 综合应用案例