一、为什么架构师必须懂 Linux?
- 90% 以上的服务器运行在 Linux 系统上(尤其是云环境)
- 容器(Docker)、Kubernetes、微服务等现代架构底层依赖 Linux
- 故障排查、性能调优、安全加固都离不开命令行操作
- 架构设计需理解操作系统资源调度、网络、存储等底层机制
✅ 结论:不懂 Linux 的架构师,就像不会开车的司机。
二、学习环境准备(实操第一步)
安装本地虚拟机
- 安装 VMware
- 下载 Ubuntu镜像,创建虚拟机
- 可参考juejin.cn/post/754092...
三、第一次登录 Linux(SSH 连接)
假设服务器IP 是 192.168.218.128
,用户名是 uustop
bash
# 从你的 Mac/Linux/WSL 终端执行
ssh uustop@192.168.218.128
# 第一次会提示是否信任,输入 yes
# 然后输入密码(或使用密钥登录)
✅ 成功登录后,你会看到类似:
bash
uustop@uustop-vm:~$

四、核心命令实操
1:文件与目录操作
bash
# 查看当前目录
pwd
# 查看文件列表
ls -la
# 创建目录
mkdir myproject
# 进入目录
cd myproject
# 创建文件
touch hello.txt
# 编辑文件(使用 nano,简单易用)
nano hello.txt
# 输入 "Hello, I'm learning Linux!",Ctrl+O 保存,Ctrl+X 退出
# 查看文件内容
cat hello.txt
# 复制、移动、删除
cp hello.txt hello_backup.txt
mv hello.txt ../hello_moved.txt
rm hello_backup.txt

💡 架构师提示:
-a
参数显示隐藏文件(如.bashrc
),对排查环境变量问题很有用。
2:用户与权限管理
bash
# 查看当前用户
whoami
# 查看所有用户(读取 /etc/passwd)
cat /etc/passwd | grep uustop
# 创建新用户
sudo adduser devuser
# 切换用户
su - devuser
# 回到 uustop 用户
exit
# 修改文件权限:让 hello_moved.txt 可执行
chmod +x hello_moved.txt
ls -l hello.txt # 显示 -rwxrwxr-x

🔐 安全原则:最小权限原则。架构师设计系统时,服务应以非 root 用户运行。
3:软件包管理
Ubuntu/Debian 系统:
bash
# 更新软件包列表
sudo apt update
# 安装 nginx
sudo apt install nginx -y
# 查看是否运行
systemctl status nginx
# 开机自启
sudo systemctl enable nginx
CentOS/RHEL 系统:
bash
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
🌐 浏览器访问
http://你的IP
,看到 Nginx 欢迎页,成功!
4:文本处理三剑客
bash
# 创建测试日志
echo "2025-09-02 10:00:00 ERROR User login failed" > app.log
echo "2025-09-02 10:01:00 INFO User logged in" >> app.log
echo "2025-09-02 10:02:00 ERROR Database connection timeout" >> app.log
# grep:查找错误日志
grep "ERROR" app.log
# awk:提取第二列(时间)
awk '{print $2}' app.log
# sed:替换文本
sed 's/ERROR/WARNING/' app.log

🛠 架构师用途:日志分析、自动化脚本、CI/CD 中文本替换。
5:进程与系统监控
bash
# 查看所有进程
ps aux | head -10
# 实时监控(按 q 退出)
top
# 查看内存使用
free -h
# 查看磁盘使用
df -h
# 查看网络连接
netstat -tuln
如果报错请执行
sudo apt install net-tools
# 或使用 ss
ss -tuln


📈 架构师关注:
top
中看 CPU、内存占用;df -h
防止磁盘写满导致服务崩溃。
6:网络与防火墙
bash
# 测试网络连通性
ping baidu.com
# 查看本机 IP
ip addr show
# 查看路由
ip route
# Ubuntu 防火墙(ufw)
sudo ufw allow 80
sudo ufw enable
# CentOS 防火墙(firewalld)
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
🔒 安全建议:关闭不必要的端口,最小化攻击面。
7:Shell 脚本入门
创建一个自动备份脚本:
bash
nano backup_script.sh
内容如下:
bash
#!/bin/bash
# 自动备份脚本
BACKUP_DIR="/home/uustop/backups"
SOURCE_DIR="/home/uustop/myproject"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz $SOURCE_DIR
echo "Backup completed: $BACKUP_DIR/backup_$DATE.tar.gz"
赋予权限并运行:
bash
chmod +x backup_script.sh
./backup_script.sh

🤖 架构师思维:自动化是高可用系统的基石,脚本可集成到定时任务(crontab)。
五、进阶技能(架构师必备)
1. 使用 systemd
管理服务
bash
# 查看所有服务
systemctl list-units --type=service
# 自定义服务(如部署一个 Node.js 应用)
sudo nano /etc/systemd/system/myapp.service
内容示例:
ini
[Unit]
Description=My Awesome App
After=network.target
[Service]
ExecStart=/usr/bin/node /home/ubuntu/myapp/app.js
Restart=always
User=ubuntu
[Install]
WantedBy=multi-user.target
bash
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
🤖 小提示:在部署minio集群的时候,注册成系统服务很方便。
2. 磁盘挂载与 LVM
bash
# 查看磁盘
lsblk
# 格式化新磁盘(假设是 /dev/vdb)
sudo mkfs.ext4 /dev/vdb
# 挂载
sudo mkdir /data
sudo mount /dev/vdb /data
# 写入 fstab 实现开机自动挂载
echo '/dev/vdb /data ext4 defaults 0 0' | sudo tee -a /etc/fstab
六、学习建议与资源
📚 推荐书籍:
- 《鸟哥的 Linux 私房菜》(经典入门)
🧪 实践平台:
- Linux Journey(免费互动教程)
🎯 学习路线:
基础命令 → 用户权限 → 软件管理 → 文本处理 → 进程网络 → Shell 脚本 → 服务管理 → 故障排查
七、总结
作为架构师,我始终认为:
"真正的掌控力,来自于对底层的理解。"
Linux 不只是工具,它是你设计高可用、高性能、高安全系统的基石。
你已经迈出了成为优秀架构师的第一步。坚持下去,未来可期!
------ 架构师 · 与你共勉