1. 远程管理常用命令全景指南
作为运维工程师最趁手的"瑞士军刀",远程管理命令的熟练程度直接决定了工作效率。从基础的SSH连接到复杂的批量操作,这些命令串起了分布式系统的管理脉络。我将结合八年云环境运维经验,梳理那些真正高频实用的命令组合。
注意:所有命令示例均基于Linux环境,Windows用户可通过WSL或PowerShell获得类似体验
1.1 基础连接三板斧
SSH无疑是远程管理的基石命令,但多数人只停留在基础用法。试试这个带跳板机的多层连接:
bash复制ssh -J user1@jump_server user2@target_server -p 2222
其中-J参数实现跳板机穿透,-p指定非标准端口。更安全的做法是配合-i指定密钥文件:
bash复制ssh -i ~/.ssh/aws_key.pem ec2-user@54.32.1.1
Telnet虽然因明文传输被诟病,但在设备调试中仍有不可替代性。测试交换机端口时:
bash复制telnet 192.168.1.1 23
<< EOF
enable
config terminal
interface gigabitethernet 0/1
no shutdown
EOF
这个Here Document用法可自动化完成系列配置。
Mosh作为SSH的增强版,特别适合移动场景:
bash复制mosh --ssh="ssh -i /path/to/key" user@host
其基于UDP的协议能保持连接稳定,即使切换网络也不会中断会话。
1.2 文件传输双雄对决
SCP的递归传输是备份利器:
bash复制scp -r /local/dir user@remote:/remote/dir
但大文件传输建议用-C启用压缩:
bash复制scp -C backup.tar.gz user@backup:/storage
Rsync才是增量同步的王者,这个命令能保持权限并排除缓存文件:
bash复制rsync -avz --delete --exclude='*.tmp' /src/ user@host:/dest/
参数详解:
-a:归档模式(保留权限、时间戳)-v:显示详细过程-z:启用压缩--delete:同步删除操作
1.3 进程管理高阶技巧
Tmux是持久化会话的终极方案,创建命名会话:
bash复制tmux new -s deploy
断连后恢复只需:
bash复制tmux attach -t deploy
Nohup的进阶用法是配合输出重定向:
bash复制nohup ./start.sh > output.log 2>&1 &
这样既避免进程随终端退出,又能完整记录日志。
1.4 网络诊断组合拳
Ping的扩展用法:
bash复制ping -c 10 -i 0.5 -s 1024 example.com
-c:指定发包次数-i:设置间隔秒数-s:调整包大小
Traceroute显示详细AS路径:
bash复制traceroute -A example.com
结合mtr实时监控:
bash复制mtr --report-wide --show-ips example.com
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 云环境专用命令集
2.1 AWS EC2管理
实例元数据查询:
bash复制curl http://169.254.169.254/latest/meta-data/
通过CLI启停实例:
bash复制aws ec2 stop-instances --instance-ids i-1234567890
2.2 Docker容器操作
批量清理停止的容器:
bash复制docker container prune -f
查看容器资源占用:
bash复制docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"
2.3 Kubernetes集群管理
获取Pod详细信息:
bash复制kubectl get pods -o wide
查看节点资源:
bash复制kubectl top nodes
3. 安全加固命令手册
3.1 SSH安全配置
禁用密码登录:
bash复制sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
限制root登录:
bash复制echo "PermitRootLogin no" | sudo tee -a /etc/ssh/sshd_config
3.2 防火墙策略
开放特定端口:
bash复制sudo ufw allow 8080/tcp
查看活跃规则:
bash复制sudo iptables -L -n -v
4. 自动化运维实战
4.1 批量执行脚本
通过pssh并行操作:
bash复制pssh -h hosts.txt -l user -i "sudo apt update"
Ansible基础playbook:
yaml复制- hosts: webservers
tasks:
- name: Ensure nginx is installed
apt:
name: nginx
state: present
4.2 日志分析命令
统计HTTP状态码:
bash复制cat access.log | awk '{print $9}' | sort | uniq -c
实时监控日志:
bash复制tail -f /var/log/nginx/error.log | grep -E '500|503'
5. 性能诊断工具箱
5.1 系统监控
动态查看资源:
bash复制htop
磁盘IO分析:
bash复制iotop -oP
5.2 进程追踪
查看打开文件:
bash复制lsof -p PID
系统调用跟踪:
bash复制strace -p PID
6. 数据库管理命令
6.1 MySQL常用操作
备份所有数据库:
bash复制mysqldump -u root -p --all-databases > full_backup.sql
查询进程列表:
bash复制mysqladmin -u root -p processlist
6.2 Redis运维命令
内存分析:
bash复制redis-cli --bigkeys
持久化监控:
bash复制redis-cli info persistence
7. Windows远程管理
7.1 PowerShell远程
启用远程访问:
powershell复制Enable-PSRemoting -Force
跨机器执行:
powershell复制Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process}
7.2 常用CMD命令
网络配置:
cmd复制ipconfig /all
端口检测:
cmd复制netstat -ano | findstr 3306
8. 终端增强技巧
8.1 命令历史优化
时间戳记录:
bash复制export HISTTIMEFORMAT="%F %T "
避免重复记录:
bash复制export HISTCONTROL=ignoreboth
8.2 别名配置
常用快捷方式:
bash复制alias ll='ls -alF'
alias grep='grep --color=auto'
SSH快捷登录:
bash复制alias sshprod='ssh -i ~/.ssh/prod_key deploy@production'
9. 实用脚本片段
9.1 自动备份脚本
bash复制#!/bin/bash
BACKUP_DIR="/backups/$(date +%Y%m%d)"
mkdir -p $BACKUP_DIR
mysqldump -u root -pPASSWORD --all-databases > $BACKUP_DIR/full.sql
rsync -a /var/www $BACKUP_DIR
find /backups -type d -mtime +7 -exec rm -rf {} \;
9.2 服务监控脚本
bash复制#!/bin/bash
SERVICE="nginx"
if systemctl is-active --quiet $SERVICE; then
echo "$SERVICE is running"
else
echo "$SERVICE is down" | mail -s "Alert" admin@example.com
fi
10. 终端复用进阶
10.1 Tmux分屏管理
垂直分屏:
bash复制tmux split-window -h
水平分屏:
bash复制tmux split-window -v
10.2 Screen会话共享
创建共享会话:
bash复制screen -S shared
加入会话:
bash复制screen -x shared
11. 网络调试大全
11.1 数据包分析
TCPDump抓包:
bash复制tcpdump -i eth0 -w capture.pcap port 80
HTTP流量过滤:
bash复制tcpdump -A -s0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
11.2 端口扫描
快速扫描:
bash复制nc -zv example.com 20-30
详细扫描:
bash复制nmap -sV -T4 example.com
12. 系统维护命令
12.1 磁盘管理
查找大文件:
bash复制find / -type f -size +100M -exec ls -lh {} \;
清理旧内核:
bash复制sudo apt autoremove --purge
12.2 用户管理
批量创建用户:
bash复制for user in bob alice eve; do
useradd -m -s /bin/bash $user
done
密码过期设置:
bash复制chage -M 90 -W 7 username
13. 版本控制命令
13.1 Git实用操作
修改最近提交:
bash复制git commit --amend
交互式变基:
bash复制git rebase -i HEAD~3
13.2 分支管理
查看合并关系:
bash复制git log --graph --oneline --all
清理已合并分支:
bash复制git branch --merged | grep -v "\*" | xargs -n 1 git branch -d
14. 文本处理艺术
14.1 Sed流编辑
批量替换:
bash复制sed -i 's/old/new/g' *.txt
删除空行:
bash复制sed '/^$/d' file.txt
14.2 Awk数据分析
统计列总和:
bash复制awk '{sum+=$3} END {print sum}' data.csv
字段提取:
bash复制awk -F',' '{print $1,$4}' input.csv
15. 加密与压缩
15.1 OpenSSL操作
生成密码哈希:
bash复制openssl passwd -1 "mypassword"
创建自签名证书:
bash复制openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
15.2 压缩解压
排除特定文件:
bash复制tar czvf archive.tar.gz --exclude='*.log' /path/
分卷压缩:
bash复制tar cvzf - /bigdata | split -b 2G - bigdata.tar.gz.
16. 时间同步管理
NTP校时:
bash复制sudo ntpdate pool.ntp.org
时区设置:
bash复制sudo timedatectl set-timezone Asia/Shanghai
17. 硬件信息查询
CPU详情:
bash复制lscpu
内存信息:
bash复制free -h
18. 环境变量管理
查看所有变量:
bash复制printenv
持久化设置:
bash复制echo 'export PATH=$PATH:/new/path' >> ~/.bashrc
19. 计划任务配置
一次性任务:
bash复制at now + 1 hour <<< "rm /tmp/*.tmp"
查看cron日志:
bash复制grep CRON /var/log/syslog
20. 系统启动分析
查看启动时间:
bash复制systemd-analyze
列出启动服务:
bash复制systemctl list-unit-files --state=enabled
21. 软件包管理
查找文件所属包:
bash复制dpkg -S /usr/bin/curl
清理包缓存:
bash复制apt-get clean
22. 内核参数调整
查看当前参数:
bash复制sysctl -a
临时修改:
bash复制sysctl -w net.ipv4.tcp_tw_reuse=1
23. 内存优化命令
释放缓存:
bash复制echo 3 > /proc/sys/vm/drop_caches
查看内存占用:
bash复制smem -s pss -k
24. 系统日志分析
查看最近错误:
bash复制journalctl -p err -b
跟踪日志:
bash复制journalctl -f
25. 终端录制回放
开始录制:
bash复制script -t 2> timing.log -a session.script
回放记录:
bash复制scriptreplay timing.log session.script
26. 远程桌面管理
VNC连接:
bash复制vncviewer -passwd /path/to/passwd-file server:1
XRDP配置:
bash复制sudo apt install xrdp
sudo systemctl enable xrdp
27. 剪贴板操作
远程复制文件:
bash复制ssh user@host "cat /path/file" | xclip -selection clipboard
粘贴到远程:
bash复制xclip -o -selection clipboard | ssh user@host "cat > /path/file"
28. 编码转换技巧
文件编码转换:
bash复制iconv -f GBK -t UTF-8 input.txt -o output.txt
批量转换:
bash复制find . -name "*.txt" -exec iconv -f GBK -t UTF-8 {} -o {}.utf8 \;
29. 系统救援命令
单用户模式:
bash复制init 1
修复文件系统:
bash复制fsck /dev/sda1
30. 性能基准测试
CPU压力测试:
bash复制stress --cpu 4 --timeout 60s
磁盘IO测试:
bash复制fio --name=randread --ioengine=libaio --rw=randread --bs=4k --numjobs=4 --size=1G --runtime=60 --time_based
31. 容器网络诊断
查看Docker网络:
bash复制docker network inspect bridge
容器内抓包:
bash复制docker run --net container:web tcpdump -i eth0
32. 证书管理
查看证书详情:
bash复制openssl x509 -in cert.pem -text -noout
检查证书链:
bash复制openssl s_client -connect example.com:443 -showcerts
33. 系统快照管理
LVM快照创建:
bash复制lvcreate -L 10G -s -n db_snapshot /dev/vg00/db
恢复快照:
bash复制lvconvert --merge /dev/vg00/db_snapshot
34. 系统升级命令
内核升级:
bash复制sudo apt install linux-image-generic-hwe-20.04
安全更新:
bash复制sudo unattended-upgrade -d
35. 环境隔离技巧
Python虚拟环境:
bash复制python -m venv myenv
source myenv/bin/activate
Docker临时环境:
bash复制docker run --rm -it ubuntu bash
36. 批量重命名
使用rename:
bash复制rename 's/\.jpeg$/\.jpg/' *.jpeg
mmv批量处理:
bash复制mmv "*.old" "#1.new"
37. 磁盘挂载管理
查看UUID:
bash复制blkid /dev/sda1
持久化挂载:
bash复制echo "UUID=1234-5678 /mnt ext4 defaults 0 2" >> /etc/fstab
38. 服务管理命令
查看依赖关系:
bash复制systemctl list-dependencies nginx
服务资源限制:
bash复制systemctl set-property nginx MemoryLimit=500M
39. 终端分页查看
带语法高亮:
bash复制bat /var/log/nginx/access.log
交互式浏览:
bash复制less +F /var/log/syslog
40. 系统信息仪表盘
综合监控:
bash复制glances
磁盘可视化:
bash复制ncdu /
41. 密码生成管理
随机密码:
bash复制openssl rand -base64 12
密码强度检查:
bash复制cracklib-check <<< "yourpassword"
42. 系统安全扫描
漏洞检查:
bash复制lynis audit system
rootkit检测:
bash复制rkhunter --check
43. 网络流量控制
限速下载:
bash复制wget --limit-rate=200k http://example.com/bigfile.iso
带宽限制:
bash复制trickle -d 100 -u 50 ftp.example.com
44. 系统备份还原
全盘备份:
bash复制dd if=/dev/sda of=/backup/sda.img bs=4M status=progress
差异备份:
bash复制rsync -a --link-dest=/last_backup /source/ /new_backup/
45. 进程资源限制
CPU限制:
bash复制cpulimit -l 50 -p PID
内存限制:
bash复制ulimit -v 500000
46. 系统时间管理
硬件时钟同步:
bash复制hwclock --systohc
高精度时间:
bash复制chronyc tracking
47. 日志轮转配置
自定义日志切割:
bash复制logrotate -f /etc/logrotate.d/nginx
即时压缩:
bash复制logger "Test message" | gzip >> /var/log/messages.gz
48. 系统调用监控
跟踪文件操作:
bash复制strace -e trace=file command
系统调用统计:
bash复制strace -c ls /
49. 终端颜色配置
自定义提示符:
bash复制PS1='\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\$ '
颜色测试:
bash复制for i in {0..255}; do printf "\e[48;5;${i}m%3d " $i; done; printf "\e[0m\n"
50. 命令组合艺术
查找并处理文件:
bash复制find . -name "*.log" -mtime +30 -exec gzip {} \;
统计代码行数:
bash复制find src/ -name "*.py" -exec wc -l {} + | sort -n
监控目录变化:
bash复制while inotifywait -r -e modify,create,delete /path; do ./deploy.sh; done
