1. 命令行访问基础与核心概念
命令行界面(CLI)作为与操作系统交互的原始方式,在Linux系统管理中占据着不可替代的地位。与图形界面(GUI)相比,CLI提供了更高效、更灵活的系统控制能力。在RH124认证体系中,命令行操作是系统管理员必须掌握的核心技能。
现代Linux发行版通常提供多种访问命令行的方式。最直接的是通过本地终端(tty1-tty6),使用Ctrl+Alt+F1到F6组合键即可切换。对于远程管理,SSH(Secure Shell)是最常用的协议,其基本连接命令为:
bash复制ssh username@hostname -p port
注意:生产环境中强烈建议禁用root用户的SSH直接登录,改为使用普通用户登录后通过sudo提权。这是RHCE考试中的重点考察项。
命令行提示符的各个部分都有特定含义。以典型的[user@host ~]$为例:
user:当前登录用户host:主机名~:当前所在目录(~表示用户家目录)$:普通用户提示符(root用户为#)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 基础命令解析与实用技巧
2.1 文件系统导航命令
pwd(Print Working Directory)命令虽然简单,但在复杂目录结构中能快速定位当前位置。其实现原理是读取进程环境变量中的PWD值,这个技巧在编写shell脚本时尤为有用。
ls命令的进阶用法包括:
bash复制ls -lht --time-style=long-iso # 以易读格式显示文件大小,按时间排序
ls -d */ # 仅列出子目录
ls -i # 显示inode号,用于处理特殊文件名
cd命令有几个快捷用法:
bash复制cd - # 返回上一个工作目录
cd ~user # 切换到指定用户的家目录
2.2 文件操作命令深度解析
cp命令在复制大文件时推荐使用-v参数显示进度,配合rsync能实现更高效的复制:
bash复制cp -av source_dir/ dest_dir/ # 保留所有属性递归复制
mv命令实际上执行的是重命名操作,跨文件系统移动会先复制后删除。在处理大量文件时,这种特性可能导致性能问题。
rm命令的危险性众所周知,建议设置别名防止误删:
bash复制alias rm='rm -i' # 添加到~/.bashrc
2.3 文本处理三剑客
cat命令配合重定向可以快速创建小文件:
bash复制cat > file.txt <<EOF
This is line 1
This is line 2
EOF
less比more功能更强大,支持反向搜索(?pattern)和标记位置(m标记,'跳转)。
head和tail的-n参数可以简写,如-5等价于-n 5。tail -f是监控日志的利器,新版本还支持-F参数(跟踪被rotate的日志)。
3. 系统信息查询命令集
3.1 进程与系统状态
ps命令的两种风格需要区分:
bash复制ps aux # BSD风格
ps -ef # UNIX风格
top的交互命令常被忽略:
M:按内存排序P:按CPU排序c:显示完整命令1:展开多CPU显示
free命令的-h参数虽然方便,但在脚本中建议使用-b(字节)或-m(MB)确保精度。
3.2 网络诊断工具
ping的进阶用法:
bash复制ping -c 5 -i 0.2 -w 3 example.com # 发送5个包,间隔0.2秒,超时3秒
traceroute在不同系统上有差异:
bash复制traceroute # Linux默认使用UDP
traceroute -I # 使用ICMP(类似Windows的tracert)
netstat已被ss取代,新系统应优先使用:
bash复制ss -tulnp # 显示所有监听端口及对应进程
4. 用户与权限管理
4.1 用户身份切换
su与sudo的本质区别:
su:切换用户身份,需要目标用户密码sudo:以其他用户身份执行命令,需要当前用户在sudoers中
安全建议:
bash复制visudo # 永远使用这个编辑sudoers文件
4.2 文件权限详解
权限数字表示法的计算示例:
code复制rwxr-xr-- = 111101100 = 754
特殊权限的影响:
- SUID(4):执行时以文件所有者身份运行
- SGID(2):目录中新文件继承组ID
- Sticky(1):只有所有者能删除/tmp下的文件
5. 输入输出重定向与管道
5.1 重定向的三种标准
bash复制command > file # 标准输出覆盖
command 2> file # 标准错误覆盖
command &> file # 全部输出覆盖
command >> file # 追加模式
5.2 管道的高级用法
bash复制command1 | tee file.txt | command2 # 同时输出到文件和管道
command |& grep "error" # 同时重定向stdout和stderr
6. 环境变量与shell配置
6.1 变量操作基础
bash复制var=value # 定义变量(注意等号两边不能有空格)
echo ${var} # 使用变量
unset var # 删除变量
readonly var # 设为只读
6.2 重要环境变量
PATH:命令搜索路径HOME:用户家目录SHELL:当前shellUSER/LOGNAME:当前用户PS1:主提示符
7. 命令行编辑与历史
7.1 快捷键效率提升
- Ctrl+A/E:行首/行尾
- Ctrl+U/K:删除到行首/行尾
- Ctrl+W:删除前一个单词
- Alt+.:插入上一个命令的最后一个参数
7.2 历史命令管理
bash复制history | grep "keyword" # 搜索历史命令
!number # 执行指定编号的历史命令
!string # 执行最近以string开头的命令
^old^new^ # 替换上条命令中的字符串
8. 常见问题排查指南
8.1 命令找不到的解决方案
- 检查命令是否存在:
bash复制type command
which command
- 检查PATH变量:
bash复制echo $PATH
- 检查命令依赖:
bash复制ldd $(which command) # 检查动态库
8.2 权限拒绝问题处理
- 检查文件权限:
bash复制ls -l file
- 检查SELinux状态:
bash复制getenforce
ls -Z file # 查看安全上下文
- 检查文件系统挂载选项:
bash复制mount | grep "mount_point"
9. 命令行效率工具推荐
9.1 终端复用器
tmux基础会话管理:
bash复制tmux new -s session_name # 新建会话
tmux attach -t session_name # 接入会话
tmux ls # 列出会话
9.2 交互式命令替代品
htop:增强版topncdu:交互式磁盘分析jq:JSON处理工具ripgrep:更快的grep替代
10. RH124考试重点提示
-
必须掌握的命令:
grep/awk/sed基础用法find命令的-exec参数tar和gzip的组合使用
-
考试常见场景:
- 日志文件分析
- 用户与组管理
- 文件权限修复
- 服务进程管理
-
时间管理技巧:
- 先完成所有选择题
- 复杂任务做好标记回头处理
- 最后检查所有服务是否开机自启
