百度Linux教程:从入门到进阶的系统指南
一、Linux系统基础与环境搭建
1.1 发行版选择与安装
Linux发行版的选择直接影响开发效率。对于初学者,推荐基于Debian系的Ubuntu或CentOS(现主流替代为Rocky Linux/AlmaLinux),它们拥有完善的文档社区和包管理工具。安装时需注意:
- 磁盘分区方案:建议采用
/(根分区)、/home(用户数据)、swap(交换分区)三分区模式,其中swap大小建议为物理内存的1-2倍(内存≥16GB时可降低至1倍)。 - 双系统安装:使用
gparted调整Windows分区后,通过grub2引导器实现双系统启动,需确保UEFI/Legacy模式与原系统一致。
1.2 开发环境初始化
安装完成后需配置基础开发工具链:
# Debian/Ubuntu系sudo apt update && sudo apt install -y \build-essential \ # 编译工具链git \ # 版本控制curl wget \ # 网络工具vim tmux \ # 终端效率工具net-tools # ifconfig等网络命令# RHEL/CentOS系sudo yum groupinstall -y "Development Tools"sudo yum install -y git curl wget vim tmux net-tools
二、命令行核心技能
2.1 文件系统操作
掌握find、grep、rsync等命令可提升10倍操作效率:
# 递归查找7天内修改的.py文件并统计行数find /path -name "*.py" -mtime -7 -exec wc -l {} \;# 同步目录时排除.git和node_modulesrsync -avz --exclude='.git' --exclude='node_modules' /src/ /dst/
2.2 管道与重定向
通过管道组合实现复杂操作:
# 统计nginx日志中状态码≥400的请求占比awk '{print $9}' access.log | grep -E '4[0-9]{2}|5[0-9]{2}' | wc -l | \xargs -I {} echo "scale=2; {}/$(wc -l < access.log)*100" | bc
2.3 进程管理
使用systemd管理服务时需注意:
# 查看服务依赖树systemctl list-dependencies nginx.service# 调试服务启动失败journalctl -u nginx.service -b --no-pager
三、系统调优与安全
3.1 性能监控
- CPU瓶颈定位:
top -o %CPU # 按CPU使用率排序mpstat -P ALL 1 # 查看各核使用情况
- 内存泄漏检测:
sudo vmstat 1 10 # 观察内存变化趋势sudo pmap -x $(pidof java) | tail -n 1 # 查看进程内存分布
3.2 安全加固
- SSH防护:
# 修改默认端口Port 2222# 禁用密码认证PasswordAuthentication no# 限制登录用户AllowUsers admin
- 防火墙规则:
sudo ufw allow 2222/tcp # Ubuntusudo firewall-cmd --add-port=2222/tcp --permanent # CentOS
四、百度智能云环境适配
4.1 云服务器初始化
通过百度智能云控制台创建实例后,建议执行:
# 安装云监控Agentwget https://agent.bce.baidu.com/scripts/install_monitor_agent.shsudo bash install_monitor_agent.sh# 配置BCCS(百度云命令行工具)echo "source /opt/bccs/bin/bccs_env.sh" >> ~/.bashrc
4.2 对象存储操作
使用bs命令行工具管理BOS:
# 上传文件并设置ACLbs cp local.txt bos:/my-bucket/ --acl public-read# 生成预签名URLbs sign bos:/my-bucket/object.txt --expire 3600
五、进阶技能树
5.1 Shell脚本编程
#!/bin/bash# 批量重命名.jpg为.pngfor file in *.jpg; domv "$file" "${file%.jpg}.png"done# 带错误处理的备份脚本backup() {local src=$1 dst=$2rsync -avz "$src" "$dst" || {echo "Backup failed at $(date)" >> /var/log/backup.logexit 1}}
5.2 容器化基础
# 运行Nginx容器docker run -d --name web -p 80:80 nginx# 构建自定义镜像FROM ubuntu:22.04RUN apt update && apt install -y python3COPY app.py /CMD ["python3", "/app.py"]
六、常见问题解决方案
-
sudo权限问题:
- 使用
visudo编辑配置,避免直接修改/etc/sudoers - 示例:允许用户
dev重启服务dev ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
- 使用
-
磁盘满处理:
# 查找大文件du -h / | sort -rh | head -20# 清理docker无用数据docker system prune -af
-
网络故障排查:
# 测试域名解析dig +short example.com# 跟踪路由mtr -rw example.com
七、学习资源推荐
-
官方文档:
- Linux man-pages项目
- 百度智能云文档中心
-
交互式学习:
- Linux Journey(免费)
- OverTheWire Bandit(实战练习)
-
社区支持:
- Stack Overflow Linux标签
- 百度智能云开发者社区
通过系统学习与实践,开发者可在3-6个月内掌握Linux系统管理核心技能。建议从实际项目需求出发,例如在百度智能云上部署Web应用时,同步学习负载均衡配置、日志分析等关联技术,形成完整的知识体系。