RHCSA LINUX
所需软件:VmwareWorkStation 16
rhel-baseos-9.0-x86_64-dvd 镜像文件
Xshell 远程终端工具
修改密码:
#第一步重启系统,然后按键盘的下键将白色条放到第二行上输入e
#第二步在linux开头那一行尾部添加rd.break,然后使用ctrl+x继续后面
#第三步输入输入mount查看设备挂载信息(主要看/sysroot目录挂载权限)
接着输入mount -o remount,rw /sysroot目录重新挂载已经挂载的设备,并以其他的权限挂载,这里我们需要rw权限
#第四步输入chroot /sysroot/ ,使用chroot命令改变系统的根目录的位置,将其改到/sysroot之后就可以进行密码修改
#第五步passwd root 输入两次密码
#第六步输入touch /.autorelabel
#第七步两次输入exit完成root密码重置
远程连接xshell
ssh root@192.168.62.129
(如果输入密码的时候服务器一直拒绝,则需要在虚拟机中打开bash)
输入:vim /etc/ssh/sshd_config
进入后输入/Root 匹配后删掉这一行的#键,将后面的内容删掉改为yes,如图
改完后:wq保存退出,输入 systemctl restart sshd
然后再去重新远程链接一下。
**操作系统是什么**?操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是配置在计算机硬件上的第一层软件,任何其它软件都必须在操作系统的支持下才能运行。
开源:把软件程序和源代码一起打包给用户
使用自由,复制自由,修改自由,创造衍生品自由
低风险:
高品质
计算机的结构
硬件:显示器、键盘、鼠标、
输入:
主机:
CPU:算数逻辑单元(程序的运算和逻辑判断)+控制单元(协调各周边组件和各单元之间的工作)
输出:
软件:操作系统,
运算器 控制器 输入、输出
操作系统主要是通过操作系统内核实现的。
系统调用把应用程序的请求传给内核,调用相应的内核函数完成所需的处理,将处理的结果返回给应用程序。
SHELL 壳
Bash(bourne-Again SHELL)
终端(终端设备,是计算机网络中处于网络最外围的设备,主要是用于用户信息的输入和处理结果的输出)
物理终端:键盘、鼠标、显示器。
虚拟终端:模拟终端(图形化界面)切换到重命令行的终端ctrl+alt+f3
伪终端
重命令行的终端切换到模拟终端 ctrl+alt+f2
命令格式
命令名称 [命令参数] 命令对象
命令名称:动词,要做的某件事
命令对象:一般要处理的文件、目录、用户
严格区分大小写
reboot 重启 shutdown -r now 重启
shutdown -h now 关机 poweroff 关机
ip a ifconfig 查看IP地址
查看当前linux的发行版本:cat /etc/redhat-release
查看内核版本:uname -r
查看shell类型:cat /etc/shells chsh -l
查看当前的默认shell类型:echo $SHELL
[root@localhost ~] #
#:标识符,标识的是当前用户是root
$:标识符,标识的当前的用户是普通用户。
[root@localhost ~]
root:管理员,超级管理员,根用户
@:分隔符
localhost:本意标的是当前这台主机,也是这台主机的主机名。
~:当前用户的家目录。root用户的家目录:/root.
普通用户的家目录:/home/rhcsa
家目录:存放个人数据的地方
Ls(list directory contents):用于显示指定工作目录下的内容(文件及子目录)。
如果指定,则列出指定目录的内容。
如果不指定,则列出当前目录的内容。
/根,文件系统的根。 一切皆文件。
路径:
绝对路径:以根开始的路径。/home/rhcsa
相对路径:不以根开始的路径。Rhcsa
root
普通用户
su (switch user):用于变更其他使用者的身份。
如果从root切换到普通用户,则不需要输入密码。但是如果从普通用户去切换到root,则需要输入密码。
一般使用的时候需要加上-的选项去获取对应身份的环境变量和身份权限。
pwd(print work directory)显示工作目录
cd (change directory):切换当前工作目录
cd /root
cd - :切换到上一次切换的目录
cd ~:切换到当前用户的家目录
ls(list directory contents)列出当前工作目录下的内容。
-l 以长格式的形式显示文件和目录的信息(权限、所有者、大小、创建时间)ls -l =ll
-a 显示所有文件及目录(.开头的隐藏文件)
-A 不列出.(当前目录)和..(父目录)
-h 在-l基础上去使用h,以人类可读的方式显示当前目录中文件和目录的大小。
/bin 软链接(快捷方式),符号链接,binaries(二进制文件),可执行的应用程序。
/boot:存放的是启动程序后的核心文件(链接文件、镜像文件。)
/dev:存放的是linux的外部设备(光驱)。
/etc:存放的是系统管理所需要的配置文件。
/home:普通用户的家目录。
/root:root用户的家目录。
/lib:library(库),存放着系统最基本的动态连接共享库(32位),
/lib64:ibrary(库),存放着系统最基本的动态连接共享库(64位)
/media:挂载点目录,让用户去临时挂载别的文件系统。系统默认挂载点目录
/mnt:挂载点目录,手动去挂载点目录。
/opt:optional(可选),主机给额外安装软件所摆放的目录。
/sbin:超级用户的二进制文件的缩写,存放的是系统管理员所使用的系统管理程序。(超级管理员自己能用到的一些命令)
/srv:第三方服务,存放的是一些服务启动后需要提取的数据。
/tmp:temporary(临时):存放的是一些临时文件。
/usr:unix shared resource(共享资源),用户很多应用程序和文件都存放在该目录中。
/var:variable变量的缩写,存放的不断扩充的东西。(日志文件)
/run:是临时文件系统,存放的系统启动以来的信息(守护进程)
/sys
/proc :进程的缩写。程序(由源代码生成的可执行文件),进程(程序执行后形成了进程,它会占用内存资源。)
Block 块设备
bus 总线(地址、控制、数据)
固件
/sys 内核或者操作系统,
help
help 命令 help cd
--help
命令 --help
man
manual
man 命令
空格是下一页,b上一页,/单词,n上一个关键字,N下一个关键字。
区段1:用户指定,查看命令的帮助。
区段2:系统调用,
区段3:程序库的调用
区段4:设备、查看特殊文件的帮助。
区段5:文件格式
区段6:游戏,查看游戏的帮助
区段7:
区段8:系统指令,
区段9:内核内部的指令。
Info
Info 命令
Date
date -s “年月日 时:分:秒“
date 月日时分年
clock
BIOS
hwclock -r
hwclock --hctosys将硬件时间给到到系统时间
hwclock --systohc
- rw- --- --- . 1 root root 1073 Oct 21 2023 anaconda-ks.cfg
- 标记位——文件类型
- 普通文件
d 目录文件
l 链接文件
软链接 硬链接
文件:元数据inode(索引节点)
硬链接hard link
和软链接(符号链接symbolic link )
硬链接特点
- 必须有原始文件
- 在同一个文件系统里面创建
- 不能对目录进行创建
软链接特点:
- 对不存在的目录和文件进行创建
- 对存在的目录和文件进行创建
- 可以跨文件系统创建的
- 删除软链接的时候对原文件没有任何影响
Ln
Ln -s 原始文件 软链接文件
Ln 原始文件 硬链接文件
用户数据
B block 块设备文件
C 字符设备
P pipiline管道设备文件
S socket 套接字文件 IP地址+端口号
文件权限
Rw- --- --- .
A B C D
A:该文件的所有者对文件的权限。
B:该文件的所属组的对该文件的权限。
C:其他人对该文件的权限。
D :扩展权限。
d rwx r-x r-x .
r 读取的权限
w 对文件内容进行更改的权限
x 对文件的执行权限。
- 没有权限
Access 访问时间:用户读取文件内容的时间
Modify 修改时间:修改文件内容的时间。
Change 改变时间:用来标记文件元数据发生变化的时候。
Birth 创建时间:创建文件的时间。
Stat 用于显示文件元数据的内容
Touch 修改文件的时间戳
如果touch一个已经存在的文件,则会把它除了创建时间之外的剩下时间全部进行修改。
如果touch一个不存在的文件,则会创建该文件。
不能使用/来当文件名
Mkdir(make directory)创建目录。
级联目录:
Tree目录
目录:
rm
rm 要删除的对象(普通文件)
rm = rm -I 删除的话y,不删除的话n
忽略提示信息删除:\rm 要删除的对象
rm -f 要删除的对象
rm -rf 要删除的对象
要清空当前目录:rm -rf *
(*代表的匹配所有)
Cp
mp 选项 源文件 目标文件
mv 选项 源文件 目标文件
数据流和重定向
标准输入stdin (standard input):从键盘获取的输入。
代码0
标准正确输出stdout(standard output):命令执行后的正确信息会输出到屏幕上,
代码1
标准错误输出stderr(standard error output): 命令执行失败后的错误信息会输出到屏幕上,
代码2
重定向操作符
输出重定向操作符
>输出重定向符;>>追加输出重定符
输入重定符操作符
<输入重定向符,<<输入的终止结束符
echo [字符串] [$变量]
tee
| 管道符
命令 管道符 tee 文件
Pwd | tee filenaeme1
Vim编辑器共有三种命令模式
命令模式 编辑模式 末行模式
编辑模式
a 光标后插入 A 行尾插入 o 光标所在下一行插入
O 光标所在上一行插入 i 光标前插入 I 行首插入
s 删除光标所在位置的字符并进入插入模式 S 删除当前行并进入插入模式
命令模式
dd 删除当前行 dgg 删除光标到文档首 dG 删除光标到文档尾部
d$ 删除光标到行尾,包括光标所在位置字符 d^ 删除光标到行首,不包括光标所在位置的字符 dw 按单词删除 gg 跳转到文档首部行首
G 跳转到文档尾部行首 u 撤销之前的操作 行号+G 跳转到指定行
x 删除光标所在位置的内容 yy 复制光标所在行
p 将刚刚复制的内容粘贴到光标所在行的下一行 cc 剪切当前行,行数cc 剪切当前行开始的几行
H 跳转到当前屏幕输出的最上面一行 L 跳转到当前屏幕输出的最下面一行
M 跳转到当前屏幕输出的中间那一行
$ 光标跳转至行尾 ^ 光标跳转至行首 w 按单词进行移动光标
r 替换光标所HH在的字符 h 往左按字符移动光标 j 往下(后)按行移动光标
k 往上(前)按行移动光标 l 往右按字符移动光标
末行模式:
:w 保存 :w filename 将文件另存为filename :q 退出
:wq 保存退出 :q! 强制保存不退出 :set nu 显示行号
:set nonu 不显示行号 :行号 跳转到指定行
:%s/被替换内容/替换后的内容 如果全局替换就在最后加个/g
例如 :%s/d/D/g
:%s/被替换内容//
删除被替换内容的意思
/ 查找字符串
n 下一个关键字 N 上一个关键字
:%s/要替换的内容/替换的内容/g
Whereis:
格式:Whereis 参数 命令名称
Whereis可以找到二进制文件,源代码文件,帮助页面
-m 只查找说明(帮助)文件
-b 只查找二进制文件
-s 只查找源代码文件
find:
格式:find 路径 匹配表达式
find指定文件下去查找文件和目录
.当前目录 ..上一层目录
-name 文件名(*,?)
-type 文件类型 (f普通文件、d目录文件、l链接文件)。
-size 文件大小 +1M -1M c(字节) w(字数)b(块数) K M G
-user 文件的所有者
-group 文件的所属组
-atime n分钟 查找n分钟内被访问的文件
-ctime n 分钟
-mtime n小时
-mmin n分钟
-exec …… {} \;
locate 选项 要查找的内容
文件内容显示
grep:用于查找文件里面的字符串或者正则表达式
格式:grep 选项 字符串 文件的路径
-n 查找到字符串所在行
-c 查找到字符串拥有的行号
-l 只打印匹配到文件名
-v 反向查找
-r 递归查找。
grep hello文件名:查找该文件内含有hello的内容
grep -c hello 文件名:查找含有hello文件的行号
grep ^[h] 文件:匹配以h开头的行
grep ^[gf] 文件:匹配以g和f开头的行
grep ^[^gf] 文件:匹配以g和f结尾的行
grep ^[0-9] 文件:匹配以数字开头的行
grep ^$ 文件:显示空行
grep ^[^^$] 文件:显示空行以外的所有行
grep -v ^$ 文件:显示空行以外的所有行
grep hello f* grep hello *1
浏览普通文件:
输入重定向符:< 输出重定向符:> (正常情况下是可以省略的)
cat:
cat (concatenate):显示文件内容。
语法格式:cat 选项 文件
-n:由1开始对所有输出的行数编号
-b:由1开始对所有输出的行数编号,空白行不编号
Head:
head 可用于查看文件的开头部分的内容,默认显示前十行
语法格式:head 参数 文件
-q 隐藏文件名
-v 显示文件名
-n<行数> 显示的行数。
例如:head -n 5 passwd:显示password前5行内容
-c<数目> 显示的字节数。
例如:head -c 20 passwd:显示passwd前20个字节
tail
tail -f:(用来查看自己的日志内容)命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。(使用tail不停的去读取和显示文件的最新内容,这样的话可以起到实时监视的效果)
tail:显示文件的后几行内容,默认显示文件的后10行内容
语法格式:tail 参数 文件
tail -num:(tail -5 passwd:显示passwd文件的最后10行的内容)
more (按页显示)
more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。
more 文件名
cut:
cut命令用于按列提取文本内容,
格式:cut [选项] 文件名称
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。
- b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
- -c :以字符为单位进行分割。
- -d :自定义分隔符,默认为制表符。
- -f :与-d一起使用,指定显示哪个区域。
- -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除。
Sort 对文本内容进行排序显示
语法格式:sort 选项 文件名称
-f | 忽略大小写 |
-b | 忽略缩进与空格 |
-n | 依照数值的大小排序 |
-r | 反向排序 |
-u | 去除重复行 |
-t | 指定间隔符 |
-k | 设置字段范围 |
tr 要替换的内容 替换的内容 文件
wc 统计文本文件的行数、字数、字节数。
wc 选项 文件名称
-l 只显示行数
-c 只显示字节数
-w 只显示单词数
.zip
zip 压缩后的文件名 要压缩的文件
.rar
.7z
.bz2
.xz
.tar
.gz
.tar.gz
.tar.bz2
tar 选项 包名(压缩文件) 文件名
文件传送格式
scp -r 当前主机文件 目标主机的对应路径
scp -r f1 root@192.168.197.128:/
文件接收格式
scp 目标主机路径的文件 接收到当前主机路径
scp root@192.168.197.129:/root/file1 /
;分割多条命令
alias 别名=‘原命令 选项’
rm=’rm -I’
history
-c 清空当前的历史记录
-a 文件名
-r 文件名
-w
Useradd
-u uid
-g gid
-G 指定附加组
-c “注释信息”,
-d 指定某个目录为用户的家目录
-s 指定用户使用的shell
Passwd 用户名
-n 指定密码最短使用权限
-x 指定密码最长使用权限
-w 制定警告时间
-d 删除用户密码。
useradd 选项 用户名
usermod 选项 用户名
-l 新用户名
-L
-U 解锁用户账户
Userdel 用户名
-r
groupadd
groupmod
groupdel 组名
文字设定法
+ - =
chmod:(change mod)
格式:chmod 对象 符号(+ - =)权限(r w x) 文件名
数字设定法
- 没有权限 0
x 执行权限 1
w 修改权限 2
r 读取权限 4
格式:chmod n1n2n3 文件名称
N1 : 所有者的权限
N2 : 所属组的权限
N3 : 其他人的权限
Chmod 367 f1:(chmod更改f1文件的所有者的修改和执行权限,更改所属组的读取和修改权限,更改其他人的读取修改执行权限)
特殊权限
SUID
作用:是为了让一般用户执行某些程序的时候,在程序运行的期间,暂时获得该程序文件的所属者的权限。
SGID
文件:如果SGID设置在二进制文件上面,则不论用户是谁,都可以在执行该程序的时候程序的所属组将变成该文件的所属组。
目录:如果SGID设置A目录上,则在该目录内创建的文件或者目录的所属组会变成A目录的所属组。
Sticky Bit
SBit 只针对目录有效,在具有SBit权限的目录下,如果该用户在该目录下拥有wx权限,则当用户在该目录下创建文件或者目录的时候,只有文件拥有者和root用户才有权限去删除里面的东西。
ACL