1. 项目常用指令概述
在各类技术项目中,熟练掌握常用指令是提升工作效率的关键。无论是开发环境配置、系统维护还是自动化操作,合理的指令使用能节省大量时间。我整理了多年实战中高频使用的核心指令集,涵盖Linux系统、版本控制、容器化、编程语言等多个技术栈。
2. 操作系统基础指令
2.1 Linux核心指令
文件操作三剑客:
ls -alh:显示详细文件信息(权限、大小、时间)grep -rn "keyword" /path:递归搜索文件内容find / -name "*.log" -mtime +7 -exec rm {} \;:查找并删除7天前的日志文件
系统监控指令:
# 实时监控系统资源 top -o %CPU # 按CPU排序 iotop -o # 查看磁盘IO nethogs eth0 # 监控网络流量2.2 Windows实用指令
系统维护组合:
:: 检查磁盘错误 chkdsk C: /f /r :: 查看端口占用 netstat -ano | findstr "8080" :: 强制删除文件 del /f /q locked_file.txt3. 开发工具指令集
3.1 Git版本控制
高频工作流示例:
# 撤销本地修改 git checkout -- <file> # 修改最近提交 git commit --amend # 优雅合并分支 git rebase -i HEAD~3注意:rebase操作会重写历史,仅限个人分支使用
3.2 Docker容器操作
容器管理四部曲:
docker build -t myapp:v1 .构建镜像docker run -d -p 8080:80 --name web myapp:v1启动容器docker exec -it web /bin/bash进入容器docker logs -f --tail 100 web查看日志
4. 编程语言特定指令
4.1 Python环境管理
conda虚拟环境操作:
# 创建环境 conda create -n py38 python=3.8 # 导出环境配置 conda env export > environment.yml # 克隆环境 conda create --name py38_copy --clone py384.2 JavaScript项目指令
npm/yarn常用组合:
# 安全更新依赖 npm outdated npm install package@latest --save # 清理缓存 yarn cache clean5. 数据库操作指令
5.1 MySQL常用命令
备份恢复关键操作:
-- 导出数据库 mysqldump -u root -p dbname > backup.sql -- 导入时先创建空数据库 CREATE DATABASE newdb CHARACTER SET utf8mb4;5.2 Redis运维指令
内存分析技巧:
# 查看内存使用 INFO memory # 查找大key redis-cli --bigkeys # 采样分析 redis-cli --memkeys-samples 10006. 网络调试指令集
6.1 HTTP调试工具
curl高级用法:
# 带证书的POST请求 curl -X POST -H "Content-Type: application/json" \ --cert client.pem --key key.pem \ -d '{"param":"value"}' https://api.example.com6.2 网络诊断组合
连通性检查套餐:
# 路由追踪 mtr -rwbzc 60 example.com # 端口测试 nc -zv example.com 443 # DNS解析 dig +short example.com A7. 自动化脚本指令
7.1 Shell脚本技巧
安全脚本编写要点:
#!/bin/bash set -euo pipefail # 严格模式 IFS=$'\n\t' # 防止空格分割问题 # 参数检查 if [[ $# -eq 0 ]]; then echo "Usage: $0 <input_file>" exit 1 fi7.2 定时任务配置
crontab最佳实践:
# 每天凌晨压缩日志 0 0 * * * /usr/bin/find /var/log -name "*.log" -mtime +7 -exec gzip {} \; # 每5分钟检查服务 */5 * * * * /usr/local/bin/healthcheck.sh >/dev/null 2>&18. 安全相关指令
8.1 SSH安全配置
密钥管理操作:
# 生成ED25519密钥 ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 # 复制公钥到服务器 ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host8.2 权限管理指令
ACL高级权限设置:
# 给用户追加目录权限 setfacl -Rm u:username:rwx /project # 查看有效权限 getfacl /path | grep "^user:username"9. 文本处理指令
9.1 AWK高级用法
日志分析模板:
# 统计HTTP状态码 awk '{count[$9]++} END {for(code in count) print code, count[code]}' access.log # 提取特定时间段日志 awk '/2023-10-01 14:/,/2023-10-01 15:/' app.log9.2 Sed流编辑器
批量修改示例:
# 替换文件内容 sed -i.bak 's/old/new/g' *.conf # 删除空行 sed -i '/^$/d' input.txt10. 系统调优指令
10.1 内核参数调整
临时修改与持久化:
# 查看当前值 sysctl net.core.somaxconn # 临时修改 sudo sysctl -w net.core.somaxconn=1024 # 永久生效 echo "net.core.somaxconn=1024" >> /etc/sysctl.conf10.2 磁盘性能优化
IO调度策略设置:
# 查看当前调度器 cat /sys/block/sda/queue/scheduler # 更改为deadline echo deadline > /sys/block/sda/queue/scheduler11. 虚拟化相关指令
11.1 KVM管理命令
虚拟机快速操作:
# 列出所有虚拟机 virsh list --all # 启动虚拟机 virsh start vm01 # 控制台连接 virsh console vm0111.2 云平台CLI
AWS常用操作:
# 查看EC2实例 aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,State.Name]' # 创建S3存储桶 aws s3 mb s3://my-unique-bucket-name12. 多媒体处理指令
12.1 FFmpeg实用命令
视频处理三连:
# 转换格式 ffmpeg -i input.mp4 -c:v libx265 output.mkv # 提取音频 ffmpeg -i video.mp4 -vn -acodec copy audio.aac # 截图生成 ffmpeg -ss 00:01:30 -i movie.mp4 -frames:v 1 screenshot.jpg12.2 图片批量处理
ImageMagick魔法:
# 批量调整大小 mogrify -resize 800x600 *.jpg # 添加水印 convert input.jpg -font Arial -pointsize 36 -draw "text 10,50 'Copyright'" output.jpg13. 终端增强技巧
13.1 Tmux工作流
会话管理三板斧:
# 新建会话 tmux new -s project # 分离会话 Ctrl+b d # 恢复会话 tmux attach -t project13.2 Zsh配置优化
高效补全配置:
# 启用高级补全 autoload -Uz compinit && compinit # 设置忽略大小写 zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'14. 硬件相关指令
14.1 USB设备管理
设备排查步骤:
# 查看USB设备树 lsusb -t # 查看详细参数 udevadm info -a -n /dev/sdb14.2 传感器监控
硬件状态检查:
# CPU温度 sensors | grep Core # 磁盘健康度 smartctl -H /dev/sda15. 跨平台指令对照
15.1 Linux/macOS/Windows对比
常见任务对照表:
| 功能 | Linux/macOS | Windows |
|---|---|---|
| 查看IP地址 | ip a/ifconfig | ipconfig |
| 进程搜索 | `ps aux | grep nginx` |
| 关机 | shutdown -h now | shutdown /s /t 0 |
16. 指令组合实战案例
16.1 日志分析流水线
多指令组合示例:
# 分析Nginx错误日志 grep "500" /var/log/nginx/error.log | \ awk '{print $1,$2}' | \ sort | uniq -c | \ sort -nr | head -1016.2 系统健康检查
一键诊断脚本:
#!/bin/bash echo "===== $(date) =====" echo "CPU Load: $(uptime)" echo "Memory: $(free -h | grep Mem)" echo "Disk: $(df -h / | tail -1)" echo "Top Processes:" ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -517. 指令学习资源
17.1 内置帮助系统
各工具帮助获取方式:
# Linux命令 man ls info coreutils # Git git help commit # Docker docker run --help17.2 速查表生成
自定义cheatsheet:
# 生成个人常用指令列表 alias | grep -E 'git|docker' > ~/cheatsheet.txt history | awk '{print $2}' | sort | uniq -c | sort -nr | head -20 >> ~/cheatsheet.txt18. 指令安全规范
18.1 危险指令清单
绝对禁止在生产环境执行的指令:
rm -rf / # 根目录删除 chmod -R 777 / # 权限全开放 dd if=/dev/random of=/dev/sda # 磁盘擦除18.2 安全执行建议
防护措施三原则:
- 关键指令先
echo预览效果 - 修改操作前备份原始数据
- 使用
timeout限制长时间运行命令
19. 指令性能优化
19.1 并行处理技巧
加速批量操作:
# 并行压缩日志 find /var/log -name "*.log" | parallel gzip # 多线程下载 aria2c -x16 http://example.com/large.iso19.2 缓存利用策略
重复命令加速:
# 缓存DNS查询 nscd -g | grep hosts # 预加载常用命令 zsh -c "repeat 10 {time ls >/dev/null}"20. 自定义指令开发
20.1 Shell函数封装
实用函数示例:
# 快速目录跳转 function cdl() { cd "$1" && ls -al } # 端口测试 function porttest() { nc -zv "$1" "$2" 2>&1 | grep --color succeeded }20.2 复杂指令脚本化
案例:自动化部署脚本
#!/bin/bash set -e APP_NAME="myapp" VERSION="${1:-latest}" DEPLOY_DIR="/opt/$APP_NAME" echo "=== Deploying $APP_NAME:$VERSION ===" docker pull registry.example.com/$APP_NAME:$VERSION systemctl stop $APP_NAME docker run --rm --env-file $DEPLOY_DIR/.env \ -v $DEPLOY_DIR/data:/data \ registry.example.com/$APP_NAME:$VERSION \ migrate up systemctl start $APP_NAME echo "Deployment completed"