后端开发者必备的 Linux 系统工具手册 —— 从入门到生产实战
作为后端开发者,你可能遇到过这些困境:
- 服务器上线后不知道怎么远程连接和管理
- 线上出问题了不知道用什么命令排查
- 看到运维同事一顿操作猛如虎,自己却只会
ls 和 cd - 面试时被问到 Linux 相关问题一脸懵逼
- 想搭建开发环境,但对各种包管理工具一头雾水
这份指南将系统性地解决这些问题,让你从 Linux 小白成长为能够独立运维的后端工程师。
本指南按照 使用频率 组织内容,让你能够按照优先级学习:
| 类别 | 工具 | 说明 |
|---|
| 远程连接 | SSH、SCP、SFTP | 连接服务器的基础 |
| 文件操作 | ls、cp、mv、rm、find | 每天都要用的命令 |
| 文本处理 | grep、sed、awk、cat | 日志分析必备 |
| 包管理 | apt、yum、snap、brew | 安装软件的方式 |
| 进程管理 | ps、top、kill、nohup | 管理运行中的程序 |
| 权限管理 | chmod、chown、sudo | 权限控制基础 |
| 网络基础 | curl、wget、ping、netstat | 网络调试入门 |
| 类别 | 工具 | 说明 |
|---|
| 服务管理 | systemd、systemctl、service | 管理后台服务 |
| 归档压缩 | tar、gzip、zip、7z | 打包和解压文件 |
| 定时任务 | cron、crontab、at | 定时执行脚本 |
| 日志管理 | journalctl、logrotate、tail -f | 日志查看和管理 |
| 性能监控 | vmstat、iostat、free、sar | 系统性能分析 |
| 网络配置 | ip、iptables、ufw、firewalld | 网络和防火墙配置 |
| 类别 | 工具 | 说明 |
|---|
| 容器技术 | Docker、Podman、containerd | 容器化部署 |
| 性能分析 | perf、strace、lsof、fuser | 深度性能调优 |
| 安全工具 | fail2ban、SELinux、AppArmor | 系统安全加固 |
| 调试工具 | gdb、valgrind、tcpdump | 程序和网络调试 |
| 配置管理 | Ansible、Terraform | 自动化配置 |
| 虚拟化 | KVM、QEMU、Vagrant | 虚拟机管理 |
| 类别 | 工具 | 说明 |
|---|
| 版本管理 | Git、SVN | 代码版本控制 |
| 编辑器 | Vim、Nano、Emacs | 命令行编辑器 |
| 构建工具 | Make、CMake、GCC | 编译和构建 |
| 数据库客户端 | mysql、redis-cli、mongo | 数据库操作 |
| 语言环境 | nvm、pyenv、sdkman | 多版本语言管理 |
| 场景 | 工具组合 | 说明 |
|---|
| 系统诊断 | dmesg、journalctl、sar | 系统级问题排查 |
| 网络诊断 | tcpdump、netstat、ss、mtr | 网络故障分析 |
| 磁盘诊断 | iostat、iotop、smartctl | 磁盘性能问题 |
| 内存诊断 | free、vmstat、pmap | 内存泄漏分析 |
我要连接服务器 → SSH (01章)
我要查看日志 → grep、tail、less (01章)
我要安装软件 → apt、yum、snap (01章)
我要杀掉进程 → kill、pkill (01章)
我要查看端口占用 → netstat、ss、lsof (01/05章)
我要设置定时任务 → cron、crontab (02章)
我要配置防火墙 → ufw、iptables (02章)
我要抓包分析 → tcpdump、wireshark (05章)
我要分析性能瓶颈 → perf、strace (03章)
我要部署容器 → Docker、docker-compose (03章)
| A-D | E-L | M-R | S-Z |
|---|
| ansible | echo | make | scp |
| apt | fail2ban | mkdir | sed |
| awk | fdisk | mount | service |
| cat | find | mv | sftp |
| cd | free | mysql | snap |
| chmod | git | nano | ss |
| chown | grep | netstat | ssh |
| cp | gzip | nmap | strace |
| cron | htop | nohup | sudo |
| curl | iostat | perf | systemctl |
| df | ip | ping | tail |
| dig | iptables | pkill | tar |
| docker | journalctl | ps | tcpdump |
| du | kill | pwd | top |
| dmesg | less | redis-cli | ufw |
| dnf | ln | rm | vim |
| ls | rsync | vmstat |
| lsof | | wget |
Week 1: SSH连接 → 基础文件操作 → 文本查看
Week 2: grep日志分析 → 进程管理 → 权限设置
Week 3: 包管理系统 → 服务管理 → 定时任务
Week 4: 网络工具 → 性能监控 → 故障排查入门
Month 1: 掌握所有高频工具,能够独立登录服务器操作
Month 2: 熟悉服务管理和定时任务,能够部署简单服务
Month 3: 学习容器和性能分析,能够排查基本问题
Month 4: 深入安全和自动化,能够独立运维项目
- 边学边练:每个命令都在自己的机器上执行一遍
- 建立笔记:记录自己的常用命令和参数组合
- 模拟场景:用虚拟机模拟各种故障场景
- 阅读手册:
man 命令是你最好的朋友
wsl --install -d Ubuntu
docker run -it ubuntu:22.04 /bin/bash
vagrant init ubuntu/jammy64
vagrant up
vagrant ssh
sudo apt update
sudo apt install -y vim curl wget git htop net-tools
sudo yum install -y vim curl wget git htop net-tools
brew install coreutils gnu-sed gawk
- 适用系统:Ubuntu 20.04+、CentOS 7+、Debian 10+、macOS
- 更新时间:2025年1月
- 内容版本:v1.0
开始你的 Linux 工具学习之旅吧!