跳转至

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 实践任务

  1. 使用 SecureCRT 通过 SSH(端口 2222)登录 LinuxDC,执行 echo $SHELL 验证当前 Shell。
  2. 创建并运行 test.sh 输出 "Hello from LinuxDC"。
  3. 安装 htop 并使用 topps 命令查看进程。
  4. 启动并验证 httpd 服务运行状态。
  5. 查看磁盘与内存使用情况。

检查点:是否能完成从登录、创建脚本到服务监控的完整流程?


3.8 自测问题

  • 问题 1:如何确认当前主机名?
    答案:执行 hostnamectl 并查看 Static hostname 字段。

  • 问题 2:如何安装并启动 httpd 服务?
    答案:使用 dnf install -y httpd 安装,systemctl enable --now httpd 启动。

  • 问题 3:如何实时查看系统日志?
    答案:使用 journalctl -f 命令实时输出日志内容。

🧠 知识点:掌握 journalctl 是理解 systemd 日志体系的关键。


🧾 章节总结: 本章系统介绍了 Linux 常用命令及 Shell 操作逻辑,构建了从文件操作到系统服务监控的完整技能链。通过学习本章,你应能独立进行文件管理、服务控制及系统监控操作,为后续的时间同步、仓库配置与安全强化打下坚实基础。