插件窝 干货文章 12个让您震撼的Linux终端命令

12个让您震撼的Linux终端命令

bash 命令 文件 tcpdump 756    来源:    2025-04-13

作为IT工程师,我为您精选12个强大但常被低估的Linux终端命令,附带技术解析和使用场景:

  1. strace - 系统调用追踪器
strace -f -e trace=file ls /tmp  # 追踪ls命令的所有文件操作

技术价值:实时显示进程的系统调用,用于调试程序行为或分析性能瓶颈。

  1. lsof - 全量文件描述符查看
lsof -i :80  # 查看所有使用80端口的进程
lsof +D /var/log  # 查看谁在访问日志目录

进阶用法:结合grep 'deleted'可查找被删除但仍在占用的文件。

  1. ncdu - 磁盘分析神器
ncdu --exclude /mnt /  # 交互式分析根目录,排除/mnt

优势:比du更直观的可视化界面,支持快速导航和删除操作。

  1. screen/tmux - 终端复用器
tmux new -s session1  # 创建持久化会话
Ctrl+b d  # 分离会话
tmux a -t session1  # 重新连接

生产环境价值:SSH断开后任务持续运行,支持多窗口工作区。

  1. rsync - 增量同步专家
rsync -avz --progress --partial ~/data user@remote:/backup 

关键参数: - --bwlimit=1000 限制带宽为1MB/s - --link-dest 硬链接式快照备份

  1. jq - JSON处理利器
curl api.example.com/data | jq '.[] | select(.value > 10)'

复杂示例jq '.users | map(select(.age > 18)) | length'

  1. ag (The Silver Searcher)
ag -G '\.py$' 'import requests'  # 在py文件中搜索

优势:比grep快10倍,自动忽略.gitignore文件。

  1. watch - 实时监控
watch -n 1 -d 'netstat -ant | grep ESTABLISHED'

高阶用法watch -t -d 'ls -l | fgrep Jan'

  1. column - 表格格式化
mount | column -t  # 对齐输出为表格
  1. sshuttle - 无客户端VPN
sshuttle -r user@vps 0/0  # 将所有流量通过SSH隧道转发

适用场景:快速建立安全网络通道,无需配置VPN服务端。

  1. pv - 管道监视器
dd if=/dev/zero | pv | dd of=/dev/null  # 测试管道吞吐量
tar -czf - bigfile | pv | ssh user@host "tar xzf -"

监控指标:实时显示进度、吞吐量和ETA。

  1. tcpdump - 网络流量分析
tcpdump -i eth0 'port 443' -w https.pcap  # 抓取HTTPS流量
tcpdump -nn -v -X 'icmp[icmptype] == icmp-echo'  # 抓Ping包

高级过滤'tcp[13] & 2 != 0' 捕获所有SYN包

每个命令都有其独特价值: - 调试三剑客:strace+lsof+tcpdump - 运维三板斧:rsync+tmux+watch - 开发效率组:ag+jq+column

建议通过man -k <keyword>探索相关命令,例如man -k "network"查找网络相关工具。掌握这些命令将显著提升您在Linux环境下的工作效率和问题诊断能力。