
Linux 运维效率提升不靠堆时间,而在于把重复操作自动化、把模糊排查结构化、把常用命令和状态“一眼看懂”。关键不是学更多命令,而是让已有工具更顺手、更可靠。
用好 Shell 别名和函数,三秒替代十秒输入
别再反复敲 ls -alh、ps aux | grep nginx 或 df -hT | grep -E "(xfs|ext4)"。把这些高频组合封装成简短别名或函数,加到 ~/.bashrc 或 ~/.zshrc 中:
alias ll='ls -alh'alias dps='ps aux --sort=-%cpu | head -10'alias dfd='df -hT | grep -E "xfs|ext4"'-
netport() { ss -tuln | grep ":$1";}(查指定端口,如netport 22)
函数比别名更灵活,能带参数、做判断;每次改完记得 source ~/.bashrc 生效。
用 tmux 或 screen 管理长时会话,断网不丢任务
远程运维最怕执行到一半 SSH 断开,尤其跑日志分析、大文件拷贝或编译。tmux 是现代首选:
-
tmux new -s deploy创建命名会话 -
Ctrl-b d脱离会话(后台继续运行) -
tmux attach -t deploy重新接入 - 配合
tmux-resurrect插件还能保存 / 恢复窗口和命令历史
不用再担心凌晨 rsync 半途失败,也不用手动记一堆终端标签页。
日志排查从“grep 大法”升级为“结构化过滤”
面对 Nginx、journalctl 或应用日志,别只靠 grep keyword 翻屏。试试这些更准更快的方式:
-
journalctl -u nginx.service -S "2024-05-20 14:00" --since "10 minutes ago"按服务 + 时间精准定位 -
tail -f /var/log/syslog | grep --line-buffered "sshd.*Failed"实时过滤失败登录 -
awk '$9 ~ /^5../ {print $1,$2,$3,$9,$10}' /var/log/nginx/access.log快速统计 5xx 错误行(含时间 + 状态码 + 路径) - 用
lnav(需安装)打开日志,自动识别格式、支持语法高亮、按字段排序和搜索
配置免密 + 证书登录 + ssh config,告别密码和长 IP
每次 ssh user@192.168.3.127 -p 2222 不仅慢还易错。三步搞定:
- 本地生成密钥:
ssh-keygen -t ed25519 -C "admin@prod" - 推送公钥:
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 user@192.168.3.127 - 在
~/.ssh/config中定义主机别名:
Host web-prod<br> HostName 192.168.3.127<br> User admin<br> Port 2222<br> IdentityFile ~/.ssh/id_ed25519
之后只需 ssh web-prod,自动走密钥、端口、用户全配好。多台机器可批量管理,也方便配合 Ansible 使用。






























