当前位置:首页>Linux>Linux运维必备:文本处理与Shell高频命令实战大全

Linux运维必备:文本处理与Shell高频命令实战大全

  • 2026-09-10 13:38:32
Linux运维必备:文本处理与Shell高频命令实战大全

技术弄巷

读完仅需

5
分钟

记得星标公众号

前言

在Linux运维工作中,文本处理、管道、重定向、定时任务、格式化输出等基础命令是日常效率的核心。无论是日志排查、数据提取、批量处理还是脚本编写,熟练掌握这些命令都能大幅提升工作效率,避免重复劳动。

本文整理了运维最常用的文本查看、查找、替换、排序、统计、管道、重定向、计划任务、后台执行等高频命令,全部附带实战示例,适合作为学习手册与速查工具。

一、文本查看命令

1. cat / head / tail

# 查看文件并显示行号
cat -n /etc/passwd

# 查看前20行
head -20 /etc/passwd

# 查看后10行
tail -10 /etc/passwd

# 取第20行内容(经典组合)
cat -n /etc/passwd | head -20 | tail -1

2. rev / tac

  • rev
    :字符左右颠倒
  • tac
    :行上下颠倒
rev 文件名
tac 文件名

二、文件查找:find

常用选项

  • -name
    :按名称查找
  • -type
    :按类型查找 f 文件 d 目录
  • -user
    / -nouser:按属主
  • -group
    / -nogroup:按属组
  • -mtime
    :按修改时间
  • -size
    :按大小

多条件与执行命令

# 查找并复制
find /etc/ -name "hosts" -execcp {} /tmp/ \;

# 查找7天前文件并删除
find /var/log -type f -mtime +7 -execrm {} \;

三、参数传递:xargs

解决 exec参数过长溢出问题:

find / -name "core" -exec file {} \;
find / -name "core" | xargs file

列转行、批量创建目录:

cat /etc/passwd | grep ^abc | cut -d: -f1 | xargs mkdir

四、计划任务:crond / crontab

# 每10分钟执行一次
*/10 * * * * 命令或脚本

五、后台运行与持久化

1. & 后台运行

xclock -update 1 &

2. nohup 退出终端不挂起

nohupcommand &
nohup xclock -update 1 &

六、Shell 通配符

  • *
    :匹配所有
  • ?
    :匹配一个字符
  • [a-z]
    、[0-9]、[!a-z]
  • {1..10}
    :序列

七、输出与格式化:echo / printf

1. echo

# 支持转义
echo -e "a\tb\nc"

# 不换行
echo -n "hello"

# 字体颜色 30~37
echo -e "\033[31m 红色字 \033[0m"

# 背景色 40~47
echo -e "\033[42;37m 绿底白字 \033[0m"

# 系统铃声
echo -e "\007 bell"

2. printf

printf"hello\n"
printf"%s,%s,%d\n" hello world 123
  • %s
    字符串
  • %d
    整数
  • %.2f
    小数

八、交互式输入:read

# 单变量
read name
echo$name

# 多变量
read a b c

# 带提示
read -p "input a num:" var

九、管道 |

管道作用:

  1. 左右各启动子进程
  2. 前命令输出 → 后命令输入

注意:管道中 read 无法赋值

echo 123 | read a
echo$a# 为空

十、重定向(文件描述符)

  • 0:标准输入
  • 1:标准输出
  • 2:标准错误
# 覆盖
ls > file.log

# 追加
ls >> file.log

# 正确+错误一起输出
ls > file.log 2>&1
ls &> file.log

Here Document / Here String

# 直到 EOF 结束
cat > file <<EOF
aaa
bbb
EOF


# 直接字符串输入
cat > file <<< "hello"

十一、tee 命令

屏幕输出 + 写入文件:

who | tee who.log
find /etc -name hosts | tee aa.txt

十二、排序去重:sort / uniq

sort

sort file             # 默认字典序
sort -n file          # 按数字排序
sort -nr file         # 数字倒序
sort -u file          # 去重
sort -t: -k3nr file   # 以:分隔,按第3列数字倒序

uniq

uniq file          # 去连续重复
uniq -u file       # 只显示不重复行
uniq -d file       # 只显示重复行
uniq -dc file      # 统计重复次数

十三、文本过滤:grep

grep root /etc/passwd
grep ^root /etc/passwd   # 以root开头
grep halt$ /etc/passwd   # 以halt结尾

grep -i root file        # 忽略大小写
grep -n root file        # 显示行号
grep -c root file        # 统计行数
grep -r root /etc/       # 递归查找
grep -rl root /etc/      # 只显示文件名
grep -A2 -B2 -C2 root    # 显示前后行

十四、字段截取:cut

cut -c 1-5 file      # 截取字符
cut -d: -f1 file     # 以:分隔取第1列
cut -d: -f1,3,5 file
cut -d: -f1-5 file

十五、字符替换:tr

# 大小写转换
echo"hello" | tr'[a-z]''[A-Z]'

# 去重字符
echo"helloooo" | tr -s '[a-z]'

# 删除空行
tr -s "\n" < file

十六、统计:wc

wc -l file   # 行数
wc -w file   # 单词数
wc -c file   # 字符数

十七、路径处理:basename / dirname

basename /var/log/messages  # messages
dirname /var/log/messages   # /var/log

十八、文件分割:split

split -l 2 passwd    # 每2行切分
split -b 1 file      # 按字节切分

十九、文件合并:join / paste

join(按相同字段合并)

join a.txt b.txt
join -a1 -a2 a.txt b.txt

paste(按行拼接)

paste a.txt b.txt
ls | paste -d" " - - - -

二十、变量二次执行:eval

cmd="echo \$name"
eval$cmd

二十一、日期:date

date
date +%F
date +%Y-%m-%d-%H-%M-%S
date -s "2025-01-01 12:00:00"

二十二、日志输出:logger

logger "test log"
logger -p local5.err -t tag msg

二十三、计算器:bc

echo"1+2" | bc
echo"scale=3;7/3" | bc
echo"sqrt(100)" | bc

# 进制转换
echo"ibase=10;obase=2;10" | bc

二十四、逻辑判断:&& / ||

pwd && echo"ok"
aaa || echo"fail"

二十五、经典运维练习题

  1. 统计可登录用户数量
  2. 提取本机IP地址
  3. 提取文件时间:stat install.log
  4. IP 转点分二进制
  5. /etc/passwd
    按 UID / GID 排序

核心要点总结

  1. 文本三剑客
    :grep过滤、sort排序、cut截取是运维日志处理核心。
  2. 管道 + 重定向
    是Linux数据流转基础,xargs解决参数过长问题。
  3. find + exec/xargs
    是批量文件操作必备组合。
  4. read/echo/printf
    是Shell交互与格式化输出基础。
  5. bc
    支持高精度运算与进制转换,非常实用。
  6. nohup & crontab
    保证后台与定时任务稳定运行。

写在最后

本文覆盖Linux运维文本处理、管道重定向、系统工具、Shell基础全场景高频命令,是运维人员从入门到进阶必备干货。熟练掌握后,排查问题、编写脚本、批量处理效率会大幅提升。

后续会持续更新Shell脚本实战、Linux优化、服务部署、自动化运维系列干货。如果本文对你有帮助,欢迎点赞、在看、收藏、转发,关注我,一起成为更专业的运维人!

摸鱼、通勤、碎片时间,不如来一局轻松的小游戏!《全民学霸》全新白蛇传版本上线,卡牌闯关玩法简单不费脑,点开就能玩,几分钟一局,既能打发时间又能解压!关注我,下次给你们整理更多摸鱼必备的轻量小游戏,快点击下方开玩👇#全民学霸 #摸鱼小游戏 #卡牌小游戏 #白蛇传 IP #轻量小游戏 #不用下载的游戏

请在微信客户端打开

最新文章

随机文章