RHCSA笔记1
一、 学习 RHCSA 课程的准备
(一)RHCSA 相关介绍
(1)RHCSA 全称:Red Hat Certified System Administrator(红帽认证系统管理员)
(2)操作系统:直接运行在硬件上的软件平台,供其他应用程序进行计算、娱乐和书写等功能的平台
(3)虚拟机:运行在操作系统上的一个软件,可以将其他的系统安装在虚拟机中,形成一个子系统。子系统分享宿主机资源(CPU、内存、硬盘等)
(4)虚拟机的优点:
a.可以同时运行多个子系统
b.安全性更为优秀
c.灵活好用,可随时切换任意系统
(二)安装系统
1.所需软件
(1)虚拟机( Vmware workstation pro )
(2)系统的光盘镜像文件(如 rhel-9.x-x86_64.iso )
2.创建虚拟机步骤
(1)打开虚拟机软件,如 VMware Workstation Pro
(2)选择“文件”菜单中的“新建虚拟机”选项
(3)在新建虚拟机向导中,选择“自定义(高级)”选项,然后点击“下一步”

(4)根据需求选择虚拟机硬件兼容性,点击“下一步”
(5)选择“稍后安装操作系统”

(6) 根据需求选择合适的操作系统和版本

(7)设置虚拟机名称和存放位置
(8)设置CPU数量和核心数量

(9)设置虚拟机内存大小,一般选“2048”
(10)选择网络类型,如NAT或桥接模式
(11)后面皆选择虚拟机推荐模式类型
(12)选择创建新的虚拟磁盘,并设置磁盘大小
(13)选择“单个文件”或“多个文件”

(14) 安装完虚拟机后,选择 “编辑虚拟机设置”
(15)在左侧栏中点击 “CD/DVD” ,将下载好的镜像文件添加进去

(16)将显示器里的“加速3D”取消勾选
(17)最后点击“确定”
(18)“开启虚拟机”
(19)在显示屏上的三个选项中选择 “Install Red Hat......”
(20)待虚拟机打开类似登录的页面后:
选好语言类型
安装源默认
软件选择 “带 GUI 的服务器” (可不选)
安装目标位置默认
设置 root 密码,并勾选 “允许 root 用户使用密码进行 SSH 登录”
创建用户,取“全名”和“用户名”及输入密码,并勾选“需要密码才能使用该账户”
(21)确认一下虚拟机的网络,打开 “虚拟网络编辑器” 显示 Vmnet0(桥接模式)和 Vmnet1(仅主机模式)以及 Vmnet8(NAT模式)三种模式网段,如果网络出现问题,点击 “更改设置” ,再点击 “还原默认设置” ,即可重置网络
3.虚拟机网络模式
桥接模式:虚拟机使用宿主机的物理网络,可直接与外部网络通信,获取自身网络信息,实现虚拟机与外部网络的直接连接。
NAT模式:虚拟机相当于宿主机上的一个使用网络的 “APP” ,能通过宿主机连通外部网络,实现虚拟机与外部网络的间接通信。
无网络(主机-虚拟机专属网络):分为两种情况,一是主机C与虚拟机的外部网络无连接;二是主机与虚拟机为专属网络,虚拟机和外部网络也无连接。
4.虚拟机的快照和开关机功能
![]()
从左到右为:
(1)创建快照(可以将当前的系统状态保存起来,如果之后使用系统出现故障,可以通过该快照还原)每一台虚拟机都必须拍下快照!!!
(2)恢复快照:可恢复所拍摄的快照
(3)管理快照:可进行快照的管理,包括删除,新增......

(4)挂起虚拟机:将虚拟机当前状态保留,并关机,再次运行虚拟机的时候会恢复到该状态
(5)关闭虚拟机:选择关机时,一定不能用 “结束任务” 去关机
二、Linux 系统基础命令
(一)命令格式
命令名【选项】【参数】
选项:决定命令执行的方式,通常有个 - 或 -- 开头
参数:决定命令作用的目标(目录,文件,磁盘,网卡等)
命令提示符:
[root@rhcsa ~]$ ~ 表示当前登录用户的家目录,$ 表示当前用户是非管理员身份
[root@rhcsa /]# / 表示当前的工作路径,# 表示当前用户是管理员身份
其中,root是当前登录本机账号信息 @用来分隔账户和主机名 rhcsa是当前设备名称
(二)Linux 命令行快捷键
| 快捷键 | 功能说明 |
| Ctrl a | 将光标移动到当前命令行的开头 |
| Ctrl e | 将光标移动到当前命令行的结尾 |
| Ctrl c | 终止当前正在执行(或输入中)的命令 |
| Ctrl l | 清空终端屏幕内容(等同于命令) |
| Ctrl z | 终止进程 |
| ↑ | 查找历史输入的上一条命令 |
| ↓ | 查找历史输入的下一条命令 |
| Esc . | (先按Esc,再按小数点) 将上一条命令的最后一个参数复制到当前命令行 |
Teb | 单词补全 |
| Ctrl insert | 复制 |
| Shift insert | 粘贴 |
| Ctrl shift = | 放大字号 |
| ctrl - | 缩小字号 |
(三)远程登录或远程软件操控
远程登录
ssh root@服务器 IP 地址(或 ssh root@服务器 IP 地址 -p 端口号)

通过远程软件操控服务器
Xshell
下载好软件后,先在终端中查看本机 IP 地址,并记住或复制下来
Xshell 软件中选择文件菜单 -> 新建 -> 打开设置向导
名称:自定
主机:IP 地址
点击连接输入 root (记住用户名打钩)及密码(记住密码打钩)

xshell 中使用远程登录命令来连接服务器

输入用户名及密码即可登录成功
Mobaxterm
下载好软件后,先在终端中查看本机 IP 地址,并记住或复制下来
打开 Mobaxterm ,点击左上角的 Session

进入 Session 后,继续点击左上角的 SSH
Remost host * :输入 IP 地址
Specify username:要登录的账户名
port:端口号(一般默认22)

填好内容后,点击 OK 。在跳转到的页面上输入密码回车即可
(四)帮助相关
man info (不推荐使用)
man + 要查看的命令 (如:man ls 可以了解 ls 的命令使用方法)
在 man 命令帮助信息的界面中,所包含的常用操作按键如下:
| 按键 | 作用 |
| 空格键 / PgDn | 向下翻一页 |
| PgUp / b | 向上翻一页 |
| home | 前往首页 |
| end | 前往尾页 |
| / | 从上至下搜索某个关键词,如 “/linux” |
| ? | 从下至上搜索某个关键词,如 “?linux” |
| n | 定位到下一个搜索到的关键词 |
| N | 定位到上一个搜索到的关键词 |
| q | 退出帮助文档 |
man手册的几个部分:

info (用法和man一样)
不同的是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写, 并且在各个页面中还有类似网页的【超链接】来跳到各个不同的页面中,每个独立的页面也被称为一个节点(node)。但是,要查询的目标数据的说明文件必须是以 info 的格式写的,才能够使用 info 的特殊功能(例如超链接)。 而这个支持 info 命令的文件默认是放置在 /usr/share/info/ 这个目录当中。
info page当中可以使用的按键:
| 快捷键 | 作用 |
| ↑ | 向上移动一行 |
| ↓ | 向下移动一行 |
| PgDn | 向下翻一页 |
| PgUp | 向上翻一页 |
| Tab | 在有 “*” 符号的节点间进行切换 |
| Enter | 进入有 “*” 符号的子页面,查看详细帮助信息 |
| u | 进入上一层信息 |
| n | 进入下一小节信息 |
| p | 回到上一小节信息 |
| s 或者 / | 在 info page 中使用关键字搜索 |
| ? | 查看帮助信息 |
| q | 退出 info 信息 |
帮助选项:绝大多数命令都有 --help 或者 -h 选项
(五)用户相关
(1)关机命令
poweroff (直接关机)
shutdown -h 时间 (调用poweroff定时关机)
init 0 (内核级别的关机)
(2)重启命令
reboot (直接重启)
shutdown -r 时间 (定时重启)
init 6 (内核级别的重启)
(3)关闭防火墙及SELinux
systemctl stop firewalld(临时关闭)
systemctl disable firewalld(取消开机自启动。可在 disable 后加 --now ,此刻开始永久关闭)
setenforce 0(临时关闭selinux,重启失效)
(4)修改主机名命令
hostname 名字 (临时修改,退出后重连会恢复原先名称)
hostnamectl hostname 名字 (永久修改,修改完后退出重连,即可显示名称)
(5)修改或查看系统时间命令
| 参数 | 作用 |
| %Y | 完整年份 |
| %m | 月份(1~12) |
| %d | 本月中的第几天 |
| %H | 小时(00~23) |
| %M | 分钟(00~59) |
| %j | 今年中的第几天 |
| %X | 相当于%H:%M:%S |
| %Z | 显示时区 |
| %A | 星期几 |
| %p | 显示本地AM或PM |
date (查看时间)
![]()
也可用 date +'%Y-%m-%d %H:%M:%S' 输出格式化的系统时间(用加号连接,双引号和单引号均可)

date -s (修改时间,用双引号,单引号会报错)
![]()

timedatectl(查看时间与时区状态)



timedatectl list-timezones (查看可用时区列表)

timedatectl set-timezone (设置时区)

timedatectl set-ntp(时间同步,true 启用,false 禁用)
(6)其他命令
passwd (修改用户密码)
注:root 用户可以修改所有人密码,并且无需知道其原有密码,直接就可以修改。普通用户只能修改自己的密码,并且要输入原密码,正确后才可修改。新密码必须是大于8位且含有英文大小写、数字及符号的密码。
su (切换用户)
ifconfig 或者 ip a (可查看ip信息)

参数说明(红色框):
ens160 :网卡设备名称,后面跟网卡的状态标识。UP → 网卡已启用 BROADCAST → 支持广播 RUNNING → 网卡处于工作状态 MULTICAST → 支持组播。
mtu 1500 :网卡的“最大传输单元”,表示单次能传输的最大数据包大小(字节),以太网默认是1500。
inet 172.168.75.200 :网卡的 IPv4 地址。
netmask 255.255.255.0 :子网掩码,用来划分网络段和主机段(此处表示为 172.168.75.0/24 网段)。
broadcast 172.168.75.255 :当前网段的广播地址,向这个地址发送的数据包会被网段内所有主机接收。
忘记虚拟机密码的解决办法:(尝试之前记得快照保存)
poweroff 命令关机(也可在虚拟机终端输入 reboot 命令重启)
开机进入 grub 界面时,按 e 键

找到 Linux 开头的部分,在末尾输入 rd.break。输完后按ctrl x

输入 mount -o remount,rw /sysroot 回车

接着输入 chroot /sysroot 回车
输入 passwd root 回车,输入新密码后回车

必须输入 touch /.autorelabel 回车(忘记这步系统就会无法正常使用)

修改成功后,输入两个 exit 退出

(六)目录相关
结构:

(1)常见目录及用途
| 文件名 | 描述 |
| / | Linux文件系统的根目录,所有其他目录或文件都是它的子节点,是文件系统的顶层入口 |
| /boot | 存放系统启动必需的文件(如内核、引导加载程序等),损坏会导致系统无法启动 |
| /root | 超级用户(root)的个人主目录,普通用户无权限访问 |
| /home | 存放普通用户的个人主目录(每个用户对应一个子目录,如 /home/user1 ) |
| /bin | 是 “Binary” 的缩写,存放普通用户可执行的系统命令/程序(如 ls 、 cp ),属于系统基础命令目录 |
| /sbin | 与 /bin 类似,但存放的是系统管理类命令或程序(如 ifconfig 、 reboot ),仅root用户可执行 |
| /lib | 是 “Library” 的缩写,存放系统或程序依赖的共享库文件(如 .so 后缀的动态链接库) |
| /lib64 | 专门存放64位程序依赖的共享库文件,适配64位系统环境 |
| /usr | 全称 “Unix System Resources” ,存放系统预装或用户安装的大型程序、文档、资源(如软件安装目录 /usr/bin 、 /usr/lib ) |
| /opt | 全称 “Optional” ,存放第三方大型应用程序(如商业软件),避免文件分散到系统目录,便于管理 |
| /etc | 是 “Editable Text Configuration” 的缩写,存放系统或程序的配置文件(如网络配置 /etc/network 、服务配置 /etc/systemd ) |
| /var | 是 “Variable” 的缩写,存放动态变化的文件(如系统日志 /var/log 、缓存 /var/cache 、数据库数据等) |
| /run | 存放系统启动后产生的临时运行信息(如进程 PID 文件、临时套接字),重启后会清空 |
| /dev | 是 “Device” 的缩写,存放系统所有硬件设备的映射文件(如硬盘 /dev/sda 、终端 /dev/tty ),通过文件操作设备 |
| /mnt | 用于临时挂载外部文件系统(如U盘、移动硬盘),是传统的临时挂载点 |
| /media | 功能与 /mnt 类似,更偏向自动挂载的可移动介质(如光盘、U盘,现代系统常自动挂载到这里) |
| /tmp | 存放系统/程序运行时产生的临时文件,所有用户可读写,系统会定期自动清理 |
| /src | 是 “server” 的缩写,用于存放服务运行时依赖的数据文件(如Web 服务的网站源码、FTP 服务的共享文件),是服务数据的统一存储目录 |
| /sys | 是 “system” 的缩写,通过虚拟文件系统映射内核与硬件设备的信息(如硬件参数、驱动状态),可用于查看或配置硬件、内核参数(需root权限)。虚拟目录,重启后会重置 |
| /proc | 是 “process” 的缩写,同样是虚拟文件系统,存放系统运行时的动态信息(如进程状态、CPU/内存使用情况、内核参数),常用命令(如)会读取此目录数据。虚拟目录,重启后会重置 |
(2)查看目录或文件命令
1.切换路径命令
cd (修改路径行)格式为:cd 要进入的路径 (cd .. 是返回上一级目录 cd . 是指用户当前所在目录)
绝对路径(以/开始的路径)
相对路径(以当前工作目录开始的路径)

pwd (打印当前工作路径)
![]()
2.文件类型
文件详细信息中,第一个字符表示文件类型:
| 参数 | 文件类型 | 说明 |
| - | 普通文件 | 存储文本、程序、数据等常规内容的文件 |
| d | 目录文件 | 用于组织和管理其他文件/目录的“容器” |
| p | 管道文件 | 用于同一主机内进程间通信 |
| c | 串行设备文件 | 按顺序读写的设备(如鼠标、键盘) |
| s | 套接字文件 | 用于网络或进程间通信的特殊文件 |
| l | 链接文件(软/硬链接) | 指向其他文件或目录的“快捷方式” |
| b | 块设备文件 | 可随机读写的设备(如硬盘、光盘) |
举例:
串行设备文件
![]()
链接文件
![]()
块设备文件
![]()
硬链接
ln -参数 源文件 目标连接文件(建立硬链接)
例如:

注意:
硬连接建立后,删除源文件后数据依然可以访问,只有硬连接为0时,数据无法访问
硬连接不能给目录建立。不可以在不同的文件系统内建立硬连接,由于 inode 是当前文件在本文件系统的索引值即只能在本分区使用,应以硬连接不能跨越文件系统
软链接
ln -s 源文件 目标连接名(建立软链接)
ln -snf 新文件名 软连接名(更改软连接 )
例如:

建立网卡配置文件的软连接:

注意:
软连接只是一种指向关系,删除源文件则数据不可访问。仅删除软链接,数据依然可以访问
可以通过ll命令查看软连接实际执行文件及位置
软硬连接的区别
硬连接中源文件与连接文件公用一个inode号,是同一个文件,软连接中源文件与连接文件拥有不同inode号,是2个不同的文件
软连接的指向关系可以查看,硬连接不可以查看
连接数不同,软连接数不会增加
文件大小不同,硬连接文件大小与源文件一样
软连接不受任何文件系统的影响,任何用户都可以创建指向目录的软连接
3.查看命令
uname -r(查看内核版本)
![]()
参数说明:
5 - 内核版本
14 - 主修订版本
0-362 - 次要修订版本
8.1 - 补丁版本
x86_64 - 适用平台
chsh -l(查看 shell 类型)

echo $SHELL(查看当前默认 shell )
![]()
cat (查看文件内容)


ls(查看文件)


颜色表示
白色:普通文件
蓝色:目录
红色:压缩包文件
黄色:设备文件
绿色:可执行文件
ls -l(= ll 查看该路径下所有文件的详细信息)

权限参数说明:
d:表示目录
r:读权限
w:写权限
x:可执行权限
其中,d 开始从左往右按三位为一组,分别是用户(所有者)、组、其他用户的权限
例如:cdrom 文件中,d rwx r-x r-x 分为
rwx:所有者(csa 用户)权限是可读、可写、可执行
r-x:组(csa 组)权限是可读、可执行、不可写
r-x:其他用户权限是可读、可执行、不可写
简单来说,这两个目录的权限规则是:所有者拥有完全控制权限,组用户和其他用户仅能查看和进入目录,无法修改目录内的内容。
ls -l 加其他选项的功能:
| 命令选项 | 功能说明 |
| a | 显示所有文件(包括隐藏文件,以 . 开头)的详细信息 |
| A | 显示所有文件(包括隐藏文件,但不包含以 . 和 .. 开头的文件)的详细信息 |
| d | 查看目录详情 |
| s | 显示文件的块大小,默认按文件名排序 |
| S | 以块为单位(KB)按文件大小(从大到小)排序显示 |
| sh | 以人类易读的格式优化显示文件大小,并按文件大小排序 |
| t | 按文件的修改时间排序(最新修改的文件在前) |
| c | 按文件的状态改变时间排序(文件属性修改时间) |
举例:





(3)文件或目录名的命名规则
| 规则 | 说明 |
| 不能使用 / 作为文件名 | / 是Linux文件系统的路径分隔符,属于系统保留符号,无法用于文件名 |
| 文件名长度不能超过255个字符 | 超过长度会导致创建失败(不同文件系统可能略有差异,但255是通用限制) |
| 文件名区分大小写 | 例如 File.txt 和 file.txt 会被识别为两个不同文件 |
| 同一目录下同名文件不可共存 | 同一目录中,无论什么文件类型(如普通文件、目录),都不能使用相同名称(需重命名后才能创建) |
(4)创建目录和文件命令
du命令
du [参数] [目录名]
作用:统计目录及文件的空间占用情况,查看某个目录中的各级子目录所占用的磁盘空间数。
| 选项 | 功能 |
| -a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。 |
| -s | 只统计每个文件所占用空间总的大小,而不是统计每个子目录、文件的大小。 |
| -h | 以K,M,G为单位显示磁盘使用情况,以提高信息的可读性。 |
创建目录
mkdir [选项] 目录名/目录路径
作用:创建一个或多个目录,支持单层、多层目录创建,可设置目录权限。
常用选项:
| 选项 | 功能说明 |
无选项 | 创建单层目录 |
| -p | 递归创建多级目录(父目录不存在时自动创建) |
| -m | 创建时指定目录权限(替代默认权限) |
| -v | 显示创建过程详情 |
示例:




高级用法:
mkdir 目录1 目录2 目录3(同时创建多个同级目录)

mkdir 路径(结合路径创建)

注意:
无 -p 时,父目录不存在会报错(如 mkdir a/b 若 a 不存在则失败);
权限设置需符合系统权限规则(如普通用户无法创建 777 权限的系统目录)。
创建文件
touch [选项] 文件名/文件路径
作用:创建空文件,更新已有文件的访问时间和修改时间(文件存在时)
常用选项:
| 选项 | 功能说明 |
| 无选项 | 创建空文件(不存在时)或 更新时间戳(存在时) |
| -a | 仅更新文件的访问时间 |
| -m | 仅更新文件的修改时间 |
| -d | 自定义时间戳 |
| -t | 用 “YYYYMMDDHHMM” 格式指定时间戳 |
示例:



高级用法:
touch 文件1 文件2 文件3(同时创建多个空文件)

touch 路径(结合路径创建)

touch {a..c}(批量创建同类文件)


注意:
文件名可包含多种字符(除 / 外),但建议避免空格(需用引号包裹,如 touch "my file.txt" );
无法创建多级目录下的文件(如 touch a/b/file.txt 若 a/b 不存在则报错,需先 mkdir -p a/b );
更新时间戳时不会修改文件内容和权限,仅改变系统记录的文件时间属性
stat 文件名或目录名(可查看文件或目录的详细时间)


(5)创建大容量文件
dd if=来源 of=新文件名 count=数据块个数 bs=块容量
作用:制作指定个数及容量的空文件
参数说明:
if=/dev/zero zero空数据设备文件,可以向其它文件中填充无数个数据0
of=新文件名,一般给出存储路径
count=:新文件由几个数据块组成
bs=:一个数据块容量
示例:

(6)Linux 通配符
| 通配符 | 含义 |
| * | 匹配任意0个或多个字符(常用于匹配目录中所有文件) |
| [] | 匹配括号内任意一个字符(可指定范围) |
| ? | 匹配任意1个字符 |
示例:
查看以 .txt 结尾的文件信息
![]()
查找末尾为1开头的文件详细信息
![]()
查看当前目录下以 d 开头的所有文件或目录

查看以 d 开头的文件或目录的详细信息

查看名称为 “d +任意几个字符” 的文件或目录的详细信息
![]()

(6)文件或目录操作
1.删除操作
删除文件
rm [选项] 目标文件
rm 文件名(删除单个文件)

rm 文件1 文件2(删除多个文件)

注意:目录不能直接用 rm 删除

删除目录
rm -d 目录名(仅能删除空目录)

rm -r 目录名 (递归删除目录及所有子内容)

常用选项(文件和目录均适用):
| 选项 | 功能 |
| -f | 强制删除,不提示确认 高风险:误删后无法恢复 |
| -r / -R | 递归删除目录及子内容 必须加此选项才能删除非空目录 |
| -i | 删除前逐一提示确认 安全但效率低,适合谨慎操作 |
| -v | 显示删除过程的详细信息 便于确认删除的内容 |
示例:


注意:
rm 删除的文件无法恢复。Linux中没有 “回收站” ,删除后只能通过数据恢复工具尝试找回(成功率低),务必谨慎操作。
禁止执行 rm -rf / (会删除整个系统的所有文件),这是致命操作。
通配符使用需谨慎。例如 rm * 会删除当前目录下所有文件,确认后再执行
2.移动/重命名操作
mv [选项] 源文件/目录 目标路径/新名称
作用:移动文件/目录到指定位置,重命名文件/目录
重命名文件

移动文件到目录

移动目录到目录

批量移动文件

常用选项:
| 选项 | 功能 |
-i | 覆盖目标文件前提示确认(避免误覆盖) |
| -f | 强制覆盖目标文件(无提示) |
| -v | 显示移动或重命名的详细过程 |
| -n | 不覆盖已存在的目标文件(比较安全) |
示例:


3.复制操作
cp [选项] 源文件/目录 目标路径/新名称
作用:复制文件/目录到指定位置(支持保留属性、递归复制等)。
复制单个文件

复制文件到目录

常用选项:
| 选项 | 功能 |
| -r / -R | 递归复制目录(必须加此选项才能复制非空目录) |
| -i | 覆盖目标文件前提示确认 |
| -f | 强制覆盖目标文件 |
| -v | 显示复制的详细过程 |
| -p | 保留源文件的权限、时间戳等属性 |
| -a | 等价于 -dR --preserve=all ,递归复制并保留所有属性(适合备份) |
4. mv 与 cp 命令区别
| 特性 | mv | cp |
| 操作本质 | 移动/重命名(源文件会被删除) | 复制(源文件保留) |
| 目录操作 | 无需额外选项(直接移动目录) | 必须加 -r 才能复制目录 |
| 磁盘占用 | 不增加磁盘空间(仅修改路径) | 增加磁盘空间(创建新文件) |
