插件窝 干货文章 八个 Shell 命令,让你瞬间成为 Linux 命令行大师

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

文件 bash 批量 命令 836    来源:    2025-04-18

掌握这些强大的 Shell 命令,你的 Linux 命令行效率将大幅提升:

  1. grep - 文本搜索利器
grep -rin "error" /var/log/  # 递归搜索日志中的错误(-i忽略大小写,-n显示行号)
grep --color=auto -C 3 "pattern" file.txt  # 高亮显示匹配并展示上下文3行
  1. awk - 数据处理专家
awk '{print $1,$3}' access.log  # 提取日志第1和第3列
awk -F: '{sum+=$3} END {print sum}' /etc/passwd  # 计算所有用户UID总和
  1. sed - 流编辑器
sed -i 's/old/new/g' file.txt  # 批量替换文件内容
sed -n '10,20p' file.txt  # 只打印文件的10-20行
  1. find - 文件查找神器
find /home -name "*.jpg" -size +1M -exec ls -lh {} \;  # 查找大于1MB的jpg文件并列出详情
find /var/log -mtime -7 -type f  # 查找7天内修改过的普通文件
  1. xargs - 参数传递大师
find . -name "*.tmp" | xargs rm -f  # 批量删除临时文件
cat urls.txt | xargs -P 5 -I {} wget {}  # 并行下载(5个进程)
  1. jq - JSON处理工具
curl -s api.example.com/data.json | jq '.users[].name'  # 提取JSON中的用户名
jq '.config | {ip: .network.ip, port: .services.web}' config.json  # 结构化提取特定字段
  1. tmux - 终端复用器
tmux new -s mysession  # 创建新会话
tmux split-window -h   # 水平分割窗口
tmux list-sessions     # 列出所有会话
  1. rsync - 智能文件同步
rsync -avz --progress /source/ user@remote:/dest/  # 增量同步并显示进度
rsync --dry-run --delete -av source/ dest/  # 模拟运行并删除目标多余文件

进阶技巧组合:

# 统计nginx日志中访问量前10的IP
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10

# 批量重命名文件
find . -name "*.jpg" | awk -F. '{print $2}' | xargs -I{} mv ./{} ./{}.bak

掌握这些命令后,你将能够: - 快速分析日志文件 - 高效处理文本数据 - 自动化日常管理任务 - 批量操作文件系统 - 处理结构化数据(JSON/CSV) - 保持终端工作会话

每个命令都有更多高级用法,建议通过 man [command] 查看完整手册。