1. Linux系统概述与核心定位
Linux作为现代计算领域的基石操作系统,其核心价值在于开放源代码的灵活性和强大的可定制性。不同于商业操作系统,Linux内核采用模块化设计,允许用户根据需求裁剪或扩展功能。这种设计哲学使得Linux能够从嵌入式设备扩展到超级计算机,成为全球数据中心和云计算平台的首选系统。
内核版本号遵循"主版本.次版本.修订号"的命名规则,其中次版本号为奇数表示开发版,偶数表示稳定版。例如5.4.0-91-generic中,5为主版本号,4为稳定分支,0-91表示修订补丁版本。理解这个编号系统对系统维护至关重要,因为它决定了驱动兼容性和安全更新策略。
提示:使用
uname -r命令可快速查看当前运行的内核版本,而lsb_release -a则显示发行版详细信息。
2. 终端操作基础与Shell环境
终端是Linux系统的神经中枢,Bash(Bourne-Again Shell)作为默认命令行解释器,提供了强大的交互能力。环境变量如PATH决定了命令查找路径,通过export PATH=$PATH:/custom/path可临时添加新路径。要永久生效,需修改~/.bashrc或/etc/profile文件。
命令结构遵循"命令 [选项] [参数]"的格式,例如:
bash复制grep -rin "error" /var/log/ # 在日志中递归搜索错误信息
其中-r表示递归搜索,-i忽略大小写,-n显示行号,这些选项组合大幅提升了排查效率。
3. 文件系统操作精要
Linux采用单一的树状文件结构,所有设备都挂载在根目录(/)下。关键目录包括:
- /bin:基础二进制文件
- /etc:系统配置文件
- /var:可变数据文件
- /home:用户目录
实用命令示例:
bash复制# 查找并处理大文件
find / -type f -size +100M -exec ls -lh {} \; | sort -k5 -rh
# 实时监控文件变化
tail -f /var/log/syslog
文件权限采用rwx三组标记,分别对应所有者、所属组和其他用户。chmod 755 script.sh设置可执行权限,其中7(4+2+1)表示所有者有读写执行权限,5(4+1)表示组和其他用户有读执行权限。
4. 进程管理与系统监控
进程是Linux资源分配的基本单位,ps aux显示详细进程列表,配合管道符可实现高级过滤:
bash复制ps aux | grep '[a]pache' # 精确匹配Apache进程
top和htop提供动态视图,关键指标包括:
- %CPU:进程CPU占用率
- %MEM:内存使用百分比
- RES:实际物理内存用量
- S:进程状态(R=运行,S=睡眠)
系统负载平均值显示在uptime输出中,三个数字分别表示1分钟、5分钟和15分钟的平均负载。理想情况下应低于CPU核心数,例如4核CPU的负载长期超过4就需要调查。
5. 网络配置与故障排查
网络接口信息通过ip addr查看,传统ifconfig已逐渐被淘汰。关键网络命令包括:
bash复制# 查看路由表
ip route show
# 测试连通性
mtr -rw 8.8.8.8 # 结合ping和traceroute
# 抓取HTTP流量
tcpdump -i eth0 -A port 80
SSH安全配置建议:
- 修改默认端口
- 禁用root登录
- 使用密钥认证
- 启用Fail2Ban防护
6. 软件包管理系统
不同发行版使用不同包管理工具:
- Debian/Ubuntu:
aptbash复制
apt update && apt upgrade -y apt-cache search ^nginx - RHEL/CentOS:
yum或dnfbash复制dnf install epel-release dnf groupinstall "Development Tools"
源码编译安装的通用流程:
bash复制./configure --prefix=/usr/local
make -j$(nproc)
sudo make install
ldconfig
7. Shell脚本编程基础
有效的脚本应包含:
- Shebang声明解释器
- 注释说明
- 错误检查
- 日志记录
示例备份脚本:
bash复制#!/bin/bash
# 增量备份脚本
BACKUP_DIR="/backups"
TARGET_DIR="$HOME/documents"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
if [ ! -d "$BACKUP_DIR" ]; then
mkdir -p "$BACKUP_DIR" || exit 1
fi
rsync -avz --delete \
--link-dest="$BACKUP_DIR/latest" \
"$TARGET_DIR" \
"$BACKUP_DIR/backup_$TIMESTAMP"
ln -nsf "$BACKUP_DIR/backup_$TIMESTAMP" "$BACKUP_DIR/latest"
8. 系统安全加固措施
基础安全实践包括:
- 定期更新:
unattended-upgrades自动安装安全补丁 - 防火墙配置:
ufw allow 22/tcp && ufw enable - 用户权限:
visudo编辑sudoers文件 - 文件审计:
auditd监控关键文件变更
安全扫描工具示例:
bash复制# 查找SUID文件
find / -perm -4000 -type f -exec ls -la {} \; 2>/dev/null
# 检查可疑进程
lsof -i -P -n | grep ESTABLISHED
9. 性能调优实战
内存优化技巧:
- 使用
vm.swappiness=10减少交换倾向 echo 3 > /proc/sys/vm/drop_caches清理缓存
磁盘I/O优化:
- 调整调度器:
echo deadline > /sys/block/sda/queue/scheduler - 使用ionice限制备份任务优先级:
ionice -c2 -n7 tar -czf backup.tar.gz /data
10. 容器化与自动化
Docker基础操作:
bash复制# 构建镜像
docker build -t myapp:v1 .
# 资源限制运行
docker run -d --name app \
--memory=512m --cpus=1.5 \
-p 8080:80 myapp:v1
Cron定时任务配置要点:
- 使用完整路径
- 重定向输出到日志文件
- 设置MAILTO接收错误通知
- 考虑使用systemd timer替代复杂任务
示例crontab:
code复制# 每天凌晨压缩日志
0 0 * * * /usr/bin/find /var/log -name "*.log" -mtime +7 -exec gzip {} \;
