Linux案例教程:从基础命令到系统管理的实践指南

Linux作为开源操作系统的代表,凭借其稳定性和灵活性广泛应用于服务器、嵌入式设备及云计算领域,本教程通过实际案例,逐步介绍Linux的基础操作、系统管理及服务配置,帮助读者从入门到实践掌握核心技能。
基础命令与文件操作
Linux的强大之处在于命令行操作,以下是常用命令的实践案例。
文件与目录管理
- 创建目录:使用
mkdir命令创建多级目录,例如mkdir -p /home/user/docs/projects(-p选项可自动创建不存在的父目录)。 - 文件操作:通过
touch创建空文件(如touch file.txt),cp复制文件(cp file.txt /backup/),mv移动或重命名文件(mv old.txt new.txt)。 - 权限管理:使用
chmod修改权限,例如chmod 755 script.sh(所有者可读写执行,其他用户可读执行)。
文本处理
- 查看文件内容:
cat用于显示整个文件(cat log.txt),less支持分页浏览(less config.conf)。 - :结合
grep搜索关键字(grep "error" log.txt),awk提取特定字段(awk '{print $1, $3}' data.csv)。
表1:常用文本处理命令对比
| 命令 | 功能 | 示例 |
|——-|————————–|——————————-|
| grep | 文本搜索 | grep "root" /etc/passwd |
| sed | 流编辑器(替换/删除) | sed 's/old/new/g' file.txt |
| sort | 排序 | sort -n numbers.txt |
系统监控与进程管理
进程管理
- 查看进程:
ps aux显示所有进程,top实时监控资源占用。 - 终止进程:通过
kill命令结束进程(kill -9 PID,-9表示强制终止)。
系统资源监控
- 磁盘使用:
df -h查看分区使用情况(-h以人类可读格式显示)。 - 内存占用:
free -m显示内存使用量(-m以MB为单位)。
案例:排查服务器高负载问题
- 使用
top发现httpd进程占用CPU过高。 - 通过
ps -ef | grep httpd查看进程详情。 - 检查访问日志:
tail -f /var/log/httpd/access_log,发现异常IP频繁请求。 - 使用
iptables封禁IP:iptables -A INPUT -s 192.168.1.100 -j DROP。
用户与权限管理
Linux的多用户特性要求精细化的权限控制,以下是实际操作案例。

用户管理
- 创建用户:
useradd -m -s /bin/bash username(-m自动创建家目录)。 - 设置密码:
passwd username。 - 删除用户:
userdel -r username(-r同时删除家目录)。
用户组管理
- 创建组:
groupadd developers。 - 添加用户到组:
usermod -aG developers username(-a表示追加,避免覆盖其他组)。
表2:用户权限配置案例
| 需求 | 命令 | 说明 |
|——————–|——————————-|——————————-|
| 允许用户sudo权限 | echo "username ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers | 无需密码执行sudo命令 |
| 限制用户仅访问目录 | chown -R username:group /data | 设置目录所有者 |
网络配置与服务部署
网络基础配置
- 查看网络状态:
ip addr show或ifconfig。 - 配置静态IP:编辑
/etc/network/interfaces(Ubuntu)或/etc/sysconfig/network-scripts/ifcfg-eth0(CentOS)。
服务部署案例:搭建LAMP环境
- 安装Apache:
apt update && apt install apache2 -y # Debian/Ubuntu yum install httpd -y # CentOS/RHEL
- 启动服务:
systemctl start apache2或systemctl start httpd。 - 配置虚拟主机:在
/etc/apache2/sites-available/创建配置文件,<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/html </VirtualHost> - 部署MySQL:
apt install mysql-server -y mysql_secure_installation # 安全配置向导
自动化脚本与任务调度
Shell脚本基础
编写备份脚本backup.sh:
#!/bin/bash SOURCE="/var/www/html" DEST="/backup/$(date +%Y%m%d).tar.gz" tar -czf $DEST $SOURCE echo "Backup completed: $DEST"
赋予执行权限:chmod +x backup.sh。
定时任务(Cron)
使用crontab -e添加定时任务,
0 2 * * * /path/to/backup.sh # 每天凌晨2点执行备份
表3:Cron表达式示例
| 表达式 | 执行时间 |
|————–|————————|
| 0 * * * * | 每小时整点执行 |
| 0 0 1 * * | 每月1日零点执行 |

故障排查与日志分析
Linux系统日志是排查问题的关键,常见日志文件包括:
/var/log/syslog:系统日志。/var/log/auth.log:认证日志。
案例:解决SSH登录失败问题
- 检查
/var/log/auth.log,发现“Failed password”错误。 - 确认用户名是否正确,或检查
/etc/ssh/sshd_config中的PermitRootLogin设置。 - 重启SSH服务:
systemctl restart sshd。
通过以上案例,读者可以逐步掌握Linux的日常操作、系统管理及服务部署,Linux的学习需要结合实践,建议在虚拟机或实验环境中反复操作,逐步提升技能,从基础命令到自动化脚本,Linux的强大功能将为系统管理和开发工作提供高效支持。


















