L5.专家
1531
0
225
在现代化软件交付过程中,熟练使用终端命令是每一位DevOps工程师提升自动化水平与排障效率的核心技能。本文系统性整理了100个在真实工作流中高频使用的命令,涵盖基础设施管理、容器化编排、CI/CD流水线、监控诊断等关键环节,并结合典型应用场景进行解读,旨在构建你的命令行工具箱。
ls -al
cd ~/project
mkdir -p logs/{app,db}
rsync -avz ./dist user@prod:/opt/app
scp
find /var/log -name "*.log" -mtime -7
/var/log
chmod 755 deploy.sh
ln -s /data/config app-config
tar -czvf app-backup-$(date +%F).tar.gz /opt/app
df -Th
du -sh * | sort -hr
docker build -t app:v1 .
Dockerfile
app:v1
docker run -d -p 8080:80 --name web app:v1
docker-compose up -d --build
docker-compose.yml
kubectl apply -f k8s/deployment.yaml
kubectl logs -f pod/app --tail=100
kubectl rollout restart deployment/app
docker image prune -f
docker exec -it db psql -U admin
db
psql
git clone --branch feat/ci git@repo-url
git checkout $(Build.SourceBranchName)
git tag -a v2.0 -m “Release” && git push --tags
ansible-playbook -i hosts deploy.yml --extra-vars “env=prod”
sed -i ‘s/DEBUG=false/DEBUG=true/g’ .env
jq ‘.config.timeout = 30’ params.json > tmp.json
jq
jenkins-job-build deploy-prod --token=API_KEY
mvn clean package -DskipTests
pytest --cov=app tests/ > coverage.xml
sonar-scanner -Dsonar.login=token
scp target/app.jar user@staging:/opt
curl -X POST http://api/reload --cert client.pem
grep -r “OutOfMemoryError” /logs --include=*.log
/logs
.log
tail -f /var/log/nginx/access.log | awk ‘{print $1}’
awk ‘$9 == 502 {count++} END {print count}’ access.log
netstat -tulpn | grep :80
top -o %MEM
top
vmstat 2 10
tcpdump -i eth0 port 3306 -w mysql.pcap
eth0
命令组合示例:快速定位生产问题
# 统计每分钟请求量,用于分析流量骤降 awk -F: ‘{print $2“:“$3}’ access.log | uniq -c | sort -k1 # 检查哪些容器内存使用率超过80% docker stats --no-stream | awk ‘$2 ~ /GB/ && $6 > 80’
ssh -i key.pem user@host -L 3306:localhost:3306
openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
nmap -sV 10.0.0.0/24
chage -M 90 -W 7 deploy-user
crontab -e
at 02:00 <<< “tar -czf /backup/nightly.tar.gz /data”
watch -n 5 ‘kubectl get pods | grep Pending’
alias klogs=‘kubectl logs -f’
aws s3 cp build.zip s3://bucket/v1/ --acl private
az vm start --name prod-vm --resource-group prod-rg
gcloud compute instances create --image-family ubuntu-2004-lts
terraform apply -auto-approve
multitail -cS syslog /var/log/syslog
journalctl -u nginx --since “1 hour ago”
grep -E “50[0-5]” access.log | awk ‘{print $7}’ | sort | uniq -c
logrotate -f /etc/logrotate.d/nginx
zcat access.log.*.gz | awk ‘{print $1}’ | sort | uniq -c | sort -nr
systemctl daemon-reload
systemctl restart nginx
supervisorctl restart worker:*
worker:
pkill -f “celery worker”
kill -HUP $(cat /run/nginx.pid)
lsof -p 1234
fuser -k 8080/tcp
sar -u 2 5
sysstat
iostat -dx 2
pidstat -d 1
vmstat 1
mpstat -P ALL 1
perf top -g -p 1234
strace -ff -p 5678
tcpdump -i eth0 -s0 -w dump.pcap ‘port 5432’
-s0
pg_dump -Fc mydb > db.dump
pg_restore -j 4 -d newdb db.dump
mysqladmin -u root status
mysqldump --single-transaction --routines mydb > backup.sql
redis-cli --latency-history -i 5
mongo --eval “db.stats()”
apt-cache policy nginx
yum history undo 23
pip freeze > requirements.txt
npm ci
package-lock.json
go mod tidy
go.mod
set -euxo pipefail
${variable:-default_value}
read -p “Enter version: “ ver
for ip in $(cat servers.txt); do ssh $ip “hostname”; done
hostname
(time curl -s https://api.status) 2>&1 | grep real
trap “rm -f /tmp/lockfile; exit 1” SIGINT SIGTERM
openssl s_client -connect example.com:443 -servername example.com
ssh-keygen -p -f ~/.ssh/id_rsa
umask 027
getfacl /etc/secrets | setfacl --set-file=- /backup/secrets
auditd -l | grep EACCES
kubectl get events --field-selector type=Warning --sort-by=.lastTimestamp
kubectl top pod --containers
kn service create my-svc --image docker.io/user/app:v1
serverless deploy --stage prod
aws lambda invoke --function-name my-func output.txt
gcloud functions deploy --runtime python310 --trigger-http
jq ‘.resources[] | select(.type==“aws_instance”)’ terraform.tfstate
bat -l yaml config/deploy.yaml
bat
cat
docker run -e “DB_HOST=${PROD_DB_HOST}” app:v2
ansible-playbook deploy.yml
# 示例:从Vault获取数据库密码 curl -H “X-Vault-Token: $VAULT_TOKEN” http://vault:8200/v1/secret/data/db
echo “$(date) - DEPLOY v1.2 by $USER” >> /var/log/deploy.log
收藏0回复 显示全部楼层 举报
发表回复 回帖后跳转到最后一页
手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )
GMT+8, 2025-12-24 21:11 , Processed in 0.198347 second(s), 39 queries , Gzip On.
Powered by Discuz! X3.5
© 2025-2025 云栈社区.