Appearance
2. 常用 Linux 命令与技巧
本章节基于 RHEL 8.10 系统(主机名 ZSLinux),在 SecureCRT 终端中执行并通过 SecureFX 传输文件。内容覆盖 Shell 基础、文件管理、软件管理与服务监控,是 Linux 运维初学者与中级使用者的核心实操指南。所有命令均经测试,确保在相同环境下可复现。
2.1 前提条件
- RHEL 8.10 已完成安装与网络配置(详见第 1 章)。
- 主机名设定为
ZSLinux。 - 使用 SecureCRT 通过 SSH(端口 22)连接系统。
- 文件传输使用 SecureFX(SFTP 协议)。
💡 提示:建议为操作用户启用
sudo权限,以便执行系统级命令。 🧠 知识点:sudo是 Linux 下的权限提升工具,用于以管理员身份执行命令。
2.2 Shell 基础
Shell 是用户与操作系统交互的接口。本节介绍查看 Shell 类型、编写脚本及查看命令帮助的基本操作。
查看当前 Shell 类型
bash
echo $SHELL # 显示当前 Shell 路径输出示例:
/bin/bash🧩 示例:
/bin/bash表示当前使用的是 Bash Shell。
创建与运行脚本
bash
echo '#!/bin/bash' > test.sh # 创建脚本文件
echo 'echo "Hello from ZSLinux"' >> test.sh # 添加命令
chmod +x test.sh # 赋予执行权限
./test.sh # 运行脚本输出结果:
Hello from ZSLinux⚙️ 操作步骤:编写 → 赋权 → 执行,是 Shell 脚本运行的标准流程。
查看命令帮助
bash
man ls # 查看 ls 命令手册
ls --help # 显示 ls 的简要帮助信息⚠️ 注意:退出
man手册需按q键。 🧠 知识点:man来自 manual,是最重要的系统帮助命令。
✅ 检查点:是否能独立创建、赋权并运行脚本?
2.3 常用命令
2.3.1 文件与目录管理
查看文件与目录
bash
ls -l # 长格式显示文件
ls -a # 显示包含隐藏文件🧠 知识点:以
.开头的文件为隐藏文件,-a参数可列出它们。
创建与删除
bash
mkdir /data # 创建目录
touch file.txt # 创建空文件
rm -f file.txt # 强制删除文件
rm -rf /data # 递归删除目录⚠️ 注意:
rm -rf操作不可恢复,执行前务必确认路径。 💡 提示:可使用tree命令以结构化方式显示目录(需安装tree软件包)。
复制与移动
bash
cp file.txt /data/ # 复制文件
mv /data/file.txt /data/file2.txt # 重命名或移动文件🧩 示例:可将配置文件复制备份,如
cp /etc/hosts /etc/hosts.bak。
查看文件内容
bash
cat /etc/hostname # 查看文件内容
tail -f /var/log/messages # 实时监控日志变化🚀 提升:使用
less可分页阅读大文件,更适合日志分析。
2.3.2 软件管理
安装与更新软件
bash
dnf install -y htop # 安装 htop
dnf update -y htop # 更新 htop 软件包删除软件
bash
dnf remove -y htop # 卸载软件💡 提示:
dnf info <软件名>可查看软件版本、来源与依赖信息。 🧠 知识点:dnf是 RHEL 8 默认的软件包管理器,取代了早期的yum。 ✅ 检查点:是否能通过 DNF 命令实现软件的安装、更新与删除?
2.3.3 服务管理
管理服务状态
bash
dnf install -y httpd # 安装 httpd 服务
systemctl enable --now httpd # 启用并立即启动服务
systemctl status httpd # 查看服务状态停止与禁用服务
bash
systemctl stop httpd # 停止服务
systemctl disable httpd # 禁用开机自启查看日志
bash
journalctl -u httpd # 查看 httpd 日志
journalctl -f # 实时监控系统日志⚠️ 注意:服务名区分大小写,确保输入准确。 💡 提示:
systemctl list-units --type=service可查看所有已加载服务状态。 🧠 知识点:systemctl是 systemd 的核心命令,用于统一管理系统服务。
2.4 系统监控
系统监控命令可帮助管理员掌握 CPU、内存、磁盘与网络状态。
进程监控
bash
top # 实时查看进程
ps aux | grep httpd # 查找 httpd 进程💡 提示:
htop提供更友好的交互界面,支持键盘快捷控制。
磁盘与存储
bash
df -h # 显示磁盘使用情况
du -sh /var # 查看目录大小🧠 知识点:
df显示文件系统空间使用情况,du显示目录占用情况。
内存与 CPU
bash
free -h # 显示内存使用
vmstat 1 5 # 每秒采样一次,共 5 次
uptime # 查看系统负载与运行时间🚀 提升:可结合
sar工具进行长期性能采样。
网络状态
bash
ss -tuln # 显示网络端口监听状态
ping -c 4 www.baidu.com # 测试网络连通性🧠 知识点:
ss取代了旧的netstat,性能更高。 ✅ 检查点:能否通过命令查看系统负载、磁盘与网络状态?
2.5 系统验证
检查主机名与系统信息
bash
hostnamectl # 查看主机名与系统版本输出示例:
Static hostname: ZSLinux
Icon name: computer-vm
Operating System: Red Hat Enterprise Linux 8.10🧩 示例:可使用
hostnamectl set-hostname修改系统主机名。
查看运行时间与用户
bash
whoami # 当前用户
uptime # 系统运行时间⚠️ 注意:若主机名未生效,可执行
hostnamectl set-hostname ZSLinux并重启。
2.6 实践任务
- 登录
ZSLinux,执行echo $SHELL验证当前 Shell。 - 创建并运行
test.sh输出 "Hello from ZSLinux"。 - 安装
htop并使用top、ps命令查看进程。 - 启动并验证
httpd服务运行状态。 - 查看磁盘与内存使用情况。
✅ 检查点:是否能完成从登录、创建脚本到服务监控的完整流程?
2.7 自测问题
问题 1:如何确认当前主机名?
答案:执行hostnamectl并查看Static hostname字段。问题 2:如何安装并启动
httpd服务?
答案:使用dnf install -y httpd安装,systemctl enable --now httpd启动。问题 3:如何实时查看系统日志?
答案:使用journalctl -f命令实时输出日志内容。
🧠 知识点:掌握
journalctl是理解 systemd 日志体系的关键。
🧾 章节总结: 本章系统介绍了 Linux 常用命令及 Shell 操作逻辑,构建了从文件操作到系统服务监控的完整技能链。通过学习本章,你应能独立进行文件管理、服务控制及系统监控操作,为后续的网络配置、安全强化与自动化部署打下坚实基础。
