3. 常用 Linux 命令与技巧
本章节基于 RHEL 9 系统(主机名 LinuxDC),在 SecureCRT 终端中执行并通过 SecureFX 传输文件。内容覆盖 Shell 基础、文件管理、软件管理与服务监控,是 Linux 运维初学者与中级使用者的核心实操指南。所有命令均经测试,确保在相同环境下可复现。
3.1 前提条件
- RHEL 9 已完成安装与网络配置(详见第 1 章)。
- 主机名设定为
LinuxDC。 - 使用 SecureCRT 通过 SSH(端口 2222)连接系统。
- 文件传输使用 SecureFX(SFTP 协议)。
💡 提示:建议为操作用户启用
sudo权限,以便执行系统级命令。 🧠 知识点:sudo是 Linux 下的权限提升工具,用于以管理员身份执行命令。在 RHEL 10 中,sudo 配置可能集成更多审计选项,支持更细粒度的权限控制。
3.2 Shell 基础
Shell 是用户与操作系统交互的接口。本节介绍查看 Shell 类型、编写脚本及查看命令帮助的基本操作。
查看当前 Shell 类型
echo $SHELL # 显示当前 Shell 路径
/bin/bash
🧩 示例:
/bin/bash表示当前使用的是 Bash Shell。
创建与运行脚本
echo '#!/bin/bash
echo "Hello from LinuxDC"' > test.sh # 创建简单脚本
chmod +x test.sh # 赋予执行权限
./test.sh # 运行脚本
Hello from LinuxDC
🧠 知识点:脚本第一行指定解释器(如
#!/bin/bash)。在 RHEL 10 中,脚本执行可能支持更多环境变量增强,如内置的容器化隔离选项。
查看命令帮助
man ls # 查看 ls 命令手册
ls --help # 显示 ls 命令简要帮助
info ls # 查看 ls 命令详细文档
💡 提示:
man是最常用的帮助工具,按q退出。
3.3 文件与目录管理
常用文件操作
ls -la # 列出当前目录所有文件(包括隐藏文件)
mkdir -p /tmp/test/dir # 创建多级目录
rm -rf /tmp/test # 递归删除目录(慎用!)
cp file1 file2 # 复制文件
mv file1 /tmp/ # 移动文件
touch newfile # 创建空文件
🧠 知识点:
-r表示递归操作,-f强制执行。建议使用--preserve选项保留文件属性。
查找文件
find /etc -name "*.conf" # 在 /etc 下查找所有 .conf 文件
locate httpd.conf # 快速查找文件(需先运行 updatedb)
grep -r "search_text" /etc # 在目录中递归搜索文本
💡 提示:
locate依赖数据库,定期更新以保持准确。在 RHEL 10 中,查找工具可能集成 AI 辅助的模式匹配。
3.4 软件管理
安装与卸载软件
dnf search httpd # 搜索软件包
dnf install -y httpd # 安装 httpd 包
dnf remove -y httpd # 卸载 httpd 包
dnf autoremove # 移除无用依赖
🧠 知识点:
dnf是 RHEL 9 的默认包管理器,支持模块化安装(如dnf module install)。
更新系统
dnf update -y # 更新所有软件包
dnf check-update # 检查可用更新
💡 提示:定期更新以获取安全补丁。在 RHEL 10 中,dnf 更新可能支持更智能的依赖解析和自动回滚。
3.5 服务与进程管理
服务控制
systemctl start httpd # 启动 httpd 服务
systemctl stop httpd # 停止服务
systemctl enable httpd # 设置开机自启
systemctl disable httpd # 禁用自启
systemctl status httpd # 查看服务状态
systemctl restart httpd # 重启服务
🧠 知识点:
systemd是 RHEL 9 的服务管理器,支持单元文件自定义。
进程监控
ps aux # 查看所有进程
top # 交互式进程监控(按 q 退出)
htop # 增强版 top(需安装 dnf install -y htop)
kill -9 <PID> # 强制终止进程(PID 从 ps 获取)
pkill -f process_name # 根据名称终止进程
💡 提示:
htop提供更友好的界面,支持鼠标操作。
3.6 系统监控
磁盘与内存
df -h # 查看磁盘使用(人类可读格式)
du -sh /var # 查看目录大小
free -h # 查看内存使用
日志查看
journalctl -u httpd # 查看 httpd 服务日志
journalctl -f # 实时跟踪系统日志
tail -f /var/log/secure # 实时查看安全日志
🧠 知识点:
journalctl是 systemd 的日志工具,支持过滤时间(如--since "1 hour ago")。
3.7 实践任务
- 使用 SecureCRT 通过 SSH(端口 2222)登录
LinuxDC,执行echo $SHELL验证当前 Shell。 - 创建并运行
test.sh输出 "Hello from LinuxDC"。 - 安装
htop并使用top、ps命令查看进程。 - 启动并验证
httpd服务运行状态。 - 查看磁盘与内存使用情况。
✅ 检查点:是否能完成从登录、创建脚本到服务监控的完整流程?
3.8 自测问题
-
问题 1:如何确认当前主机名?
答案:执行hostnamectl并查看Static hostname字段。 -
问题 2:如何安装并启动
httpd服务?
答案:使用dnf install -y httpd安装,systemctl enable --now httpd启动。 -
问题 3:如何实时查看系统日志?
答案:使用journalctl -f命令实时输出日志内容。
🧠 知识点:掌握
journalctl是理解 systemd 日志体系的关键。
🧾 章节总结: 本章系统介绍了 Linux 常用命令及 Shell 操作逻辑,构建了从文件操作到系统服务监控的完整技能链。通过学习本章,你应能独立进行文件管理、服务控制及系统监控操作,为后续的时间同步、仓库配置与安全强化打下坚实基础。