RHCE学习笔记
一、 红帽系统管理员I:.1红帽企业Linux入门
Linux优点:
1. Linux是开源软件
2. 拥有强大的命令行
3. 模块化系统
开源软件是任何人都可以使用、研究、修改和共享其源代码的软件 。
开源软件不仅由志愿者开发,也有专业的人员由组织支付费用参与软件开发 。
发行版是由Linux内核和用户程序组成,是可安装的完整操作系统 。
红帽是比较著名的Linux的社区参与者,发行的版本有:
1. RHEL,Linux红帽企业Linux的简称 , 最稳定的版本 , 兼容性也非常好 。目前最新版本是8.3.0
2. ,是完整、免费、基于Linux的社区发行版 , 由红帽提供赞助,并作为创新产品的试验田,主要在桌面版使用 。由于有许多新功能测试,稳定性不好,所以企业一般不会使用 。目前最新版本是 33
3.,社区企业操作系统的简称,是由RHEL克隆版本 , 发布时间晚于RHEL , 完全免费,唯一不同是遇到问题没有专业技术支持,只能去社区寻求帮助,而RHEL版本是可以有专业人士处理问题 , 并在正式勘误发布之前得到修补的程序,目前最新的也是8.3
1.2访问命令行
Shell(n.壳)是一个程序,是用户和Linux内核之间的桥梁,用户通过程序达到控制Linux内核的功能;另一个层面是一种命令语言,一种程序设计语言 。Shell (Shell脚本)是用Shell编写的一组命令 。Shell有很多版本,RHEL默认的是GNU -Again Shell(bash) , 大部分Linux系统、Unix以及macOS中都是该版本 。与win中的类似 。
bash命令行开始:[user@host ~]$
user是当前登录的用户名
host是当前操作系统的名称
~是代表当前所在目录是家目录
$是代表该用户是普通用户 , 如果是#表示是root用户
每个命令由三部分组成:命令、选项、参数
tty是电传打字机()的缩写,可以理解为输入输出设备,意思是终端 , 每台Linux都可以开很多终端,使用+Alt+F1-F7切换,某些终端是图形化界面,某些是调用bash 。
SSH是 Shell的缩写,表示安全的Shell连接
Open SSH是开源的Shell程序,提供网络连接linux的接口 。
直接使用ssh命令是使用密码验证方式登录,使用ssh -i是使用密钥身份登录 , 本地主机存储私钥,远程主机存储公钥,实现认证 。
红帽linux桌面环境由提供,是个图形化操作界面 。
在bash中;作为特殊字符 , 称之为元字符,可以在一行中执行多个命令,以;隔开
date:用于显示系统时间
:用于修改用户密码
file:用于显示文件类型,Linux中不需要扩展名
cat:(连接)查看文件内容 , 一次显示全部不分页
less:(adv.少)查看文件内容,分页显示,用回车和空格控制
head:查看文件内容头行数,默认10行
tail:查看文件内容末尾行数 , 默认10行
wc:word count缩写,统计文件的单词数量,-l表示行数,-w表示字数,-c表示字符数
一次tab键可以补全唯一的命令
两次tab键可以搜索以此开头支持的命令
(转义字符)+回车:用于输入长命令换行,系统在下一行首显示>
:显示历史执行的命令
!是元字符 , !+数字执行上一条命令编号,!+字符执行上一条最匹配的命令
Alt+.:截取上一命令中的参数部分显示出来,不用重复输入参数或路径
+A:跳转至命令开头
+左右键:以单词的形式左右跳转
+L:清屏
命令 –help:查看命令帮助信息
1.3从命令行管理文件
大部分Linux系统文件系统遵从FHS(文件系统层次化标准)
常用的根目录下的文件夹及用途:
/usr:全名Unix(Unix软件资源),存放安装的软件、共享的库,文件或只读程序 。
/usr/bin:用户命令
/usr/sbin:系统管理命令
/usr/local:本地自定义软件
/etc:全名是(附加物) , 存放配置文件
/var:全名是(变化的),存放系统的可变数据
/run:系统启动以来的运行数据,重启系统会重新创建
/home:普通用户的家目录 , 存放普通用户的个人数据
/root:超级管理员root的家目录
/tmp:全名是temp,存放临时文件,10天不修改自动删除
/boot:存放系统启动所需的文件
/dev:全名是(设备) , 硬件设备文件,用于访问硬件设备 。
绝对路径:指文件在硬盘上真正的存放路径,以根目录/开头
相对路径:指相对当前目录的路径 , .代表当前路径,..代表父目录
路径导航命令:
pwd:是Print打印工作目录的缩写,用于显示当前绝对路径
cd:切换当前目录,cd不带参数是切换到家目录 , cd -是切换到上一次所在目录,方便来回切换 。
ls:是list列表的缩写 , 用于查看目录下的文件列表
ls -l[李1] :表示long长,以长列表格式查看文件列表
ls -a[李2] :表示all所有,显示所有文件,包括隐藏文件
ls -R[李3] :以递归方式显示文件列表
文件管理命令:
touch:翻译为触碰,用于更新文件的时间戳为现在时间,如果文件名不存在就创建该文件 。
mkdir:全名是make 制作目录,用于创建一个或多个目录;
mkdir -p[李4] :创建目录并强制创建不存在的父目录
cp:全名copy复制 , 复制一个或多个文件,最后一个参数是目录 , 如果是文件名代表并重命名 。
cp -r:r是递归的缩写,可用于复制目录
mv:是move移动的缩写,用于移动文件或文件夹,也可重命名
rm:是去掉的缩写 , 用于删除文件
rm -r:r是递归的缩写,可用于删除有内容的目录
rmdir:是 的缩写 , 可用于删除空目录
rm -i[李5] :是交互的,表示删除之前交互式询问
rm -f[李6] :是force强制 , 表示强制执行不需要询问
ls -i:是inode索引节点的缩写,显示文件的索引号,每个文件都有一个索引号,索引号一致说明是一个文件不同的硬链接 。
硬链接:创建一个指向硬盘文件的别名,和原来的没有任何区别 , 权限一致,删除文件时,只要有一个硬链接文件不会真实从磁盘删除 。
ln:是link链接的缩写,建立文件的硬链接(别名)
硬链接的局限:
1) 只能是常规文件,对于目录和特殊文件无法创建
2) 只能在同一文件系统内创建硬链接
软连接:也称为“符号链接”,类似于快捷方式,是指向文件或目录的特殊文件,没有局限性 , 软链接前面的标识是l
ln -s:是象征性的缩写,表示建立软链接
shell的通配符:
*表示零个或多个任何字符串
?表示一个字符
[abc]表示里面的任何一个字符
[!abc]表示不在里面的任何一个字符
[^abc]表示不在里面的任何一个字符
{a..z}表示顺序的字符,可以一次创建很多文件
=表示变量赋值
$表示获取变量的值
$( )表示命令替换 , 用括号内的命令输出替换该部分参数
是转义字符,用于转换其后的字符的意思
“”是阻止大部分shell扩展,双引号内的仅表示普通字符
‘’是阻止所有shell扩展,单引号内的仅表示普通字符
1.4在红帽企业Linux中获取帮助
阅读man page获取帮助:
man是手动的、手册的缩写,page翻译为手册页 。
man命令用于查看手册页 , 格式如下:
man 章节 命令
章节1:用户命令(可执行命令和shell程序)
章节5:文件格式(用于许多配置文件和结构)
章节8:系统管理和特权命令(维护任务)
man命令内容导航:
空格:翻动一屏,也可使用鼠标
上下箭头:翻动一行
/:启动搜索功能
N:搜索下一个
Shift+N:搜索上一个
Q:退出
Man命令内容包括几个部分:
NAME:名称 , 主题/命令名称,简单描述
:概要,命令语法的概要
:描述,对命令的深度描述
:示例 , 命令的举例
FILES:文件,与命令相关的文件或目录的列表
SEE ALSO:参阅,相关的信息可以参考阅读
BUGS:错误/漏洞 , 软件中的已知的错误
:作者,参与编写的人员信息
man -k+字符,根据关键字搜索 page
GNU INFO文档
man page的格式更为正式,内容通常记录的是软件包中的特定命令或功能,而且采用独立文本文件的结构 。Info文档则涵盖整个特定的软件包,其内容往往是有关如何使用软件的更为实用的示例,而且采用了超文本文档结构 。
典型的man page具有少量的内容 , 侧重于主题、命令、工具或文件,info文档则是一个综合性的文档 。通常而言,info文档的内容将更加深入 。
pinfo命令是打开info文档在顶级目录中 。
Info文档的导航和man page类似
1.5创建、查看和编辑文本文件
进程使用文件描述符的编号通道:
0:stdin, input标准输入 , 默认连接键盘 , 仅读取
1:,标准输出,默认连接终端,仅写入
2:, error标准错误 , 默认连接终端,仅写入
3及以上:文件名,无默认连接 , 可读写
特殊文件/etc/null会丢弃重定向的输出并始终为空 。
输出重定向操作符:
>:重定向标准输出( 1)以覆盖文件
>>:重定向标准输出( 1)以附加到文件
2>或2>>:重定向标准错误( 2)以覆盖或附加到文件
>/etc/null:重定向到null,即丢弃
&>或&>>:重定向标准输出和标准错误到同一文件以覆盖或附加
管道符 | 是将前一个命令的标准输出连接到下一个命令的标准输入 。
管道符类似于建立了一个单向管道 , 无法做到即重定向到文件也在终端显示,tee命令克服了这一缺点 。
tee:翻译是发球区,命令将标准输出输入到下一个命令的标准输入并可同时输出到文件,类似于T形的管道 。
tee命令格式:第一个命令 | tee 重定向目录 | 第三个命令
或第一个命令 | 第二个命令 | tee 重定向目录
区别在于上面的命令先将结果保存到文件 , 再执行第三个命令,下面的命令先执行第二个命令,将最终的结果输出到文件 。
vi/vim编辑器:
vi是 可视化编辑器的缩写 , m是增强版的缩写 。因此vi是原始的版本 , vim是增强后的版本 。
模式有四种:
命令模式:默认进入的模式,可以浏览文件,u撤销最近的编辑,x删除单个字符 。
扩展命令模式:按:键进入,按回车键退回命令模式,使用q退出、q!强制退出不保存、wq保存并退出、w保存文件等命令
编辑模式(插入模式):按i键或键进入,按Esc键退回,可以对文档进行内容修改 。
可视模式:按v键进入 , 按v键退出 , 可以选择多个字符进行操作 , 按Shift+v是进入行模式,Ctl+v进入块模式,可进行字符选择,高亮显示,按y(yank拉)进行复制,按p(put推)进行粘贴 。
Shell变量赋值使用=,例如:COUNT=20
Shell变量对于每个shell程序都是独立的 。
set:列出所有变量
unset:取消变量值
变量前面加上$表示获取变量的值
命令将shell变量导出为环境变量
-n:取消导出变量
env:列出特定shell的环境变量
1.6管理本地用户和组
linux用户账户类型:
1. 超级用户,即root,UID=0,具有完全权限
2. 系统用户,UID=1-999,给提供服务的进程使用,该类账户无法登陆交互界面,只为特定的进程服务 。
3. 普通用户,UID=1000-65535,大部分用户都有用于处理日常事务的普通用户账户,对系统具有有限的访问权限 。
id命令:查看用户信息,不带参数表示查看当前登录用户的信息 。
ps命令:是 的缩写,用于查看进程信息 。
本地用户信息存储文件位置:/etc/,该文件用:划分七个段:
1. 用户名,例如kiosk
2. 用户密码,大部分会是X,表示迁移至/etc/(影子)
3. 账户UID,系统内以UID标识,并可以看出账户类型
4. 账户主要组的GID
5. 用户真实姓名
6. 用户主目录(家目录),例如/home/kiosk
7. 用户默认shell程序,通常是/bin/bash , 如果是系统用户不允许进行交互登录会是/sbin/
组是需要共享文件和其他系统资源访问权限的用户集合 。默认存储路径是/etc/group文件中 。
/etc/group文件使用:分割成四个段:
1. 组名称
2. 组密码,过时了,始终是X
3. 组ID即GID
4. 用户列表
主要组和补充组:每个用户只能有一个主要组,默认新建用户时会创建同名的主要组,无论是主要组还是补充组都使用户具有权限 。
su:是 User的缩写,切换至另一个用户,格式是su – 用户名,
如果不带用户名是切换到root用户,需输入root密码:
su:切换到root用户 , 保留现在用户的环境
su -:切换到root用户 , 使用新的环境 , 常用 。
sudo:是 do的意思 , 以管理员身份运行一个命令 , 用于临时获取root权限,需要输入该用户密码,而不是root密码 。
sudo su -:将获得root的交互式shell
sudo -i:获取root的交互式shell,与上面稍有不同
sudo的主要配置文件是/etc/
:创建新用户,默认配置在/etc/login.defs文件中
:是user (修改)的缩写,修改现有用户的参数
-g:–gid,为账户指定主要组
-G:–为账户指定补充组,用逗号隔开
-L:–lock锁定账户
-U:–解锁账户
:是user (删除)缩写,用于删除用户账户,从/etc/中删除用户,保留主目录
-r:删除用户,同时删除主目录 。
:为用户修改或设置密码 , 非8位以上强密码会提示 。
:创建组,默认配置也在/etc/login.defs
-g:指定组的gid
:是group (修改)缩写,可以修改组的属性
-n:name缩写,指定组的新名称
-g:group缩写,指定组的新gid
:删除组,只有不是任何用户的主要组才能删除
修改用户所属组:
-g:修改用户的主要组
-aG:增补用户的补充组
-G:指定用户所属补充组列表 , 不在的则表示删除
/etc/影子文件用于存储用户的密码相关信息,每个用户都会在文件内有一行 , 一行用冒号分割成9段:
1. 用户名,此用户的用户名
2. 密码,此用户的加密密码
3. 上次更改密码的日期,数字是自1970.1.1(UTC)至今的天数
4. 密码更改最短天数
5. 密码可以有效的最长天数 , 空表示不失效
6. 警告期,失效之前收到密码过期的警告
7. 非活动期,密码过期后还可以登录时期
8. 密码过期日期,数字是自1970.1.1(UTC)至今的天数
9. 空,预留
加密密码用$分割三段信息:
1. 所用的哈希算法 , 6表示SHA-512算法,默认算法
2. salt盐,随机的字符串 , 防止密码相同的账户条目相同
3. 加密哈希值,使用密码+salt使用算法生成的哈希值
密码验证方式:将用户输入密码+salt使用指定的加密算法得到哈希值,和存储的哈希值对比,一致则通过 。
chage:修改密码期限
-m:修改最短期限
-M:修改最长期限
-W:修改警告期限
-I(是大写i):修改失效期限
-l(是小写的L):显示账户密码相关信息
-d:用户最晚修改密码的时间,0表示强制下次登录修改密码
-E:设置密码从今天算过期天数
如果有些用户不需要通过shell登录交互访问 , 可以设置用户shell目录为来限制,命令是: -s /sbin/
1.7控制对文件的访问
文件权限分为三个:r(read读),w(write),x(执行)
对文件和目录的作用:
r读
w写
x执行
文件-
读取文件内容
修改文件内容
执行文件
目录d
读取目录内容
创建删除文件
cd到目录下
ls -ld:查看文件长列表,d是只看当前目录本身的信息 , 不包含文件
常见三种类型:
-表示文件
d表示目录
l表示软链接
chmod,是 mode更改模式(权限也称为文件的模式)的缩写,可以修改文件或目录的权限,有符号法和数值法两种方法 。
符号法修改文件权限:
chmod文件或目录
Who:谁,可以是u(user用户),g(group组),o(other其他),a(all所有)的组合
What:什么,是操作,可以是+(增加权限),-(减少权限) , =(重新赋予权限)
Which,哪些,可以是r、w、x表示读写执行
chmod -R:表示递归对整个目录设置权限节能以太网络有什么用 , 此时大写X仅对目录执行权限生效,小写x对所有文件和目录生效 。
数值法修改文件权限:
chmod ### 文件或目录
#号是数值,分别表示ugo的权限值 。
chown:是 owner更改所有者的缩写 , 用于更改文件的所有者 。语法是chown 用户 文件或目录
chown :组名 文件或目录(更改文件目录的组所有者)
也可以两者同时修改:chown 用户:组名 文件或目录
chown -R:递归方式将目录所有文件更改所有者
只有root用户可以更改文件的所有者和授予任何组 , 普通用户仅可以将文件授予其所属组 。
chgrp:是 group更改组的缩写,仅用于更改文件目录所属组,区别是组前面不用加:了
特殊权限:
s:set的缩写 , 以拥有文件的用户或组执行文件,而不是运行文件的用户 。
t:粘性的缩写,对目录拥有写权限时仅可以删除目录内文件 。
特殊权限表示:u+s(最高第四位为4),g+s(最高第四位为2),o+t(最高第四位为1)
默认权限:
创建新目录,系统会为其分配0777()权限;
创建新文件 , 系统会为其分配0666(-rw-rw-rw-)权限
创建文件或目录时的默认权限还会与umask运算,umask置位为1的表示删除某个权限,为0的表示保留某个权限 。
umask:是user mask用户掩码的缩写 , 不带参数可以显示当前默认的umask值,如果uid>=200并且用户名和主要组名相同,umask为0002 , 否则为0022
umask 数值:可以修改当前的umask值 。永久修改需要在/etc/或/etc/进行修改,重新登录后生效 。
1.8监控和管理Linux进程
进程是已启动的可执行程序的运行中实例 。英文
进程组成部分:已分配的内存地址空间、安全属性、一个或多个线程、进程状态 。
第一个系统进程是,d是守护进程(后台进程)的意思 , 所有其他进程都是的子进程 。
每个进程都有唯一的进程ID(简称PID)节能以太网络有什么用,父进程称为PPID
进程状态:
1.,运行状态(任务运行中) , 标志是R
2. , 可中断的睡眠状态,标志是S
3. ,不可中断的睡眠状态 , 标志是D
4.,可杀死的睡眠状态 , 类似D,可响应被中断信号,标志是K
5.,报告空闲的睡眠状态 , D的子集 , 接受致命信号,标志是I
6.,停止状态 , 标志是T
7. ,跟踪状态,标志也是T,被调用的进程停止 。
8. ,僵尸(僵停)状态 , 标志是Z,已结束进程,资源都已收回,仅剩空壳 , 未删除的进程会成为僵停状态
9.,死亡状态,进程已彻底释放,标志是X,不会看到
top:实时刷新显示进程状态 。
ps -aux:显示当前的进程的详细状态
在后台运行作业,在命令后面加上&
jobs:显示作业列表
fg %作业编号:是前景的缩写 , 将作业转至前台
bg %作业编号:是背景的缩写,启动背景暂停的作业
ps j:显示与作业相关的信息
CTRL+Z:暂停正在运行的进程
CTRL+C:终止正在运行的进程
使用信号控制进程,使用kill -l查看系统支持的信号,常用的有:
信号编号
名称
长名称
短名称
定义用途
1
信号挂起
HUP
挂起 , 报告进程的终止 , 也用于请求重置进程
2
信号中断
INT
键盘中断,在用户按CTRL+C时发出,用于中断信号
3
quit
信号退出
QUIT
键盘退出,与上面类似,终止时添加进程转储 , 通常是用户按CTRL+时发出
9
kill
信号杀死
KILL
中断无法拦截,立即终止程序
15
信号结束
TERM
终止结束,可以被拦截,不强制,“友好”得结束,允许自我清理(不带参数,默认行为)
18
信号继续
CONT
继续,发送至进程使其恢复,无法被拦截
19
stop
信号停止
STOP
停止,无法拦截,暂停进程
20
tty stop
信号终端停止
TSTP
键盘停止,可以被拦截,用户通过按CTRL+Z键发送
kill:通过PID向进程发信号,kill -l列出支持的信号名称和编号
:根据命令名称向多个进程发信号
pkill: kill缩写,向一个或多个符合条件的进程发信号
w:显示登录系统的用户信息
grep:print全局正则表达式显示的缩写,用于查找字符串,类似于
pgrep: grep进程全局正则表达式显示缩写,用于通过进程的名称查找进程的工具
:tree进程状态树缩写,查看进程树
:查看系统运行了多久,当前时间,用户数量及近1、5、15min内的系统负责情况 。
top命令是系统进程的动态视图 , 也可以查看系统的负载
top显示内的键盘操作:
l t m:切换到负责、线程、内存标题行
shift+m:按照内存利用率降序排列
shift+p:按照CPU利用率降序排列
shift+w:保存显示配置,下次top时启动
q:退出top命令模式
1.9控制服务和守护进程
守护进程是在执行各种任务的后台等待或运行的进程,通常是指一个或多个守护进程 , 使用“单元”来管理不同的对象,有以下:
.结尾的表示系统服务
文章插图
文章插图
.结尾的表示进程间通讯套接字
.path结尾的表示路径单元,用于将服务推迟到特定文件更改之后
:是 系统控制的缩写 , 用于管理单元,作用是显示系统当前的状态,例如服务情况等
list-units:系统控制列表单元缩写,列出系统单元,分别表示:UNIT——服务单元名称;LOAD——是否正确解析了单元的配置并加载到内存中;——单元激活状态表示是否启动;
SUB——单元低级别激活状态显示更多的单元信息;——单元的描述信息 。
list-units –type=:列出服务单元
:查看服务状态
服务状态包括
1.:单元配置文件已处理
2.()正在运行
3.()已完成一次性配置
4.()运行中 , 但等待事件
5.不在运行
6.在系统引导时启动
7.无法启用 , 但可以由某一启用的单元自动启动 。
is-:查看服务单元是否处于激活(运行)状态
is-:查看服务单元是否在引导时自启动
is-:查看服务单元是否运行正常
start:启动服务单元
stop:停止服务单元
:重启服务单元,重启进程
:重新加载服务单元,重新加载配置文件,不重启进程
-or-:不确定是否重新加载文件,二选一
list-:列出服务单元依赖项
mask:屏蔽服务,阻止服务运行
:取消屏蔽服务
:系统引导时启动服务,添加自启动列表
:取消系统引导自启动 , 取消自启动列表
1.10配置和保护SSH
ssh 服务器名称:以当前用户名名字登录服务器
ssh 用户@服务器:以某用户登录服务器
ssh 用户@服务器 命令:以某用户登录服务器执行命令,不进入交互式shell
exit:退出ssh登录
w:显示登录当前计算机的用户列表
ssh公钥存储位置:/etc/ssh/或~/.ssh/
ssh-:key 密码注册缩写,创建一对私钥和公钥
ssh-copy-id:将公钥复制到目标主机,默认路径是/home/user/.ssh/.pub
ssh-agent:将密码缓存到内存中,减少输入密码的次数 , 图形桌面默认启动该程序,在文本控制台需要使用eval $(ssh-agent)启动
ssh-add:将私钥密码添加到内存命令,ssh-agent注销会话时会自动从内存中清除密码 。
open ssh由守护进程为sshd的提供,其配置文件位于/etc/ssh/,会默认允许远程直接登录root账户,并且默认使用密钥登录,密钥登录失败再使用密码登录,这些存在一些安全隐患 , 解决方法如下:
1. 修改/etc/ssh/中的参数设置为no,或设置为-(不用密码),来只接收私钥身份验证 。
2. 修改/etc/ssh/中的on参数设置为no
最后重新加载配置文件命令:sshd
修改/etc/ssh/中的参数设置为no,是禁用公钥认证 , 只是用密码认证,该参数默认被注释 。
1.11分析和存储日志
系统以文本的形式存储日志,通常存储路径是/var/log目录 。
RHEL中建立了基于协议的标准日志体系 。
-(系统守护进程日志)和两个服务是处理linux中的消息
-是日志的核心,负责从各个来源收集消息 , 将他们重构成标准格式 , 写入带索引的结构化日志中,默认重启不保留 。
负责读取-的消息,对消息分级并转发给其他服务 。
常见的的日志文件:
1) /var/log/:大部分系统消息日志记录在此文件
2) /var/log/:记录与安全和身份验证事件有关的日志
3) /var/log/:记录与邮件服务器相关的日志
4) /var/log/cron:记录与调度作业执行相关的日志
5) /var/log/boot.log:记录与系统启动相关的非控制台日志
日志优先级分类
代码
优先级
严重性
0
emerg(系统不可用)
系统不可用
1
alert(警报)
必须立即采取措施
2
crit(临界)
临界情况
3
err(error错误)
非常严重的错误
4
(警告)
警告情况
5
(注意)
正常但重要的事件
6
info(信息)
信息性事件
7
debug(调试)
调试级别消息
服务按照日志消息的设备和优先级确定如何处理,具体的配置规则位于/etc/.conf中定义
日志轮转()是将日志文件以日期重命名,然后新建日志文件文件,大多数以一周轮转一次,具体周期还试文件大小而定 。
日志写入文件时末尾的是最新的日志,服务写入时具有特定的格式,主要有一下几个部分:
1) 时间戳,例如Feb 11 20:34:23
2) 主机名,发送该日志消息的主机 , 例如
3) 进程名和PID:发送该消息的程序或进程名和PID,例如sshd[122]
4) 消息内容,发送的实际消息内容 。
监控日志:可以使用tail -f命令,f是(跟随,跟着)的缩写,意思是显示文件最后10行并持续跟随,有新消息马上显示 。
命令可以向发送日志消息 。
:翻译为日志控制,可以查看所有日志消息
-n:缩写,默认显示最后10条日志,可以加数字自定义
-f:缩写 , 持续输出新日志
-p:(优先级)缩写,定义输出的优先级类型
–since –until(从*到*):-S -u定义输出的时间范围,还可以支持、today、昨天今天明天
-o :输出详细的(冗长的)日志
还可以检索日志的字段:
_COMM:指定命令名称
_EXE:指定进程可执行文件路径
_PID:指定进程PID
_UID:指定运行进程的用户UID
:指定进程的单元
默认情况下系统日志会保存在/run/log/文件中,在系统重启时会丢失,可以修改/etc//.conf文件中的参数更-服务的配置,参数可以修改为:
1) auto:自动,默认值,由决定使用持久存储还是易失存储,如果/var/log/目录存在就使用持久存储,否则使用易失存储
2) :(持续的)将日志存储在/var/log/目录中,重启将持续保留,如果目录不存在就创建 。
3) :(易变的)将日志存储在易失/run/log/目录中 , 重启后会丢失 。
GMT: Mean Time格林威治标准时间,以英国格林威治定位0经度开始的时间,划分全球24时区,中国东八区
UTC: Time 世界协调时间简称,严格计算得到的时间,精确到秒,比GMT更加精确的时间 。
DST:Time夏季(日光)节约时间,即夏令时,北美欧洲实行,中国不实行 。
CST:ChinaTime:中国标准时间,UT+8:00
NTP( Time 网络时间协议):是计算机通过网络获取时间的协议和方法 。
RTC( Clock实时时钟):硬件时钟芯片时间,计算机硬件维护的时间 , 系统时间可以来自该时间
:time date 时间日期控制 , 设置当前时间、时区、NTP同步设置,不带参数为显示这些参数 。
set-用于修改时区
set-time用于修改时间
set-ntp用户启用或禁用ntp,后面根true或false
保护是和ntp一样的时间同步软件,服务是通过与配置的ntp服务器进行同步,使本地硬件时钟(RTC)保持正确,如果没有网络连接将计算RTC的时钟漂移,配置文件为/etc/.conf
会从NTP Pool 的服务器同步时间,不需要额外配置,如果需要更改本地NTP源,需修改/etc/.conf中的 * 参数实现,最后重启服务
:用交互式查询地区所在时区 。
-v:查看系统时间同步源
1.12管理网络
网络接口命名,通常有一下几部分:
1) 接口类型:en()表示以太网接口 , wl(wlan)表示无线局域网络,ww(wwan)无线公网网络
2) o表示板载设备,许多服务器不提供此信息,一般没有
3) p表示PCI插槽编号
4) s表示slot板卡编号
5) f表示功能编号
表示PCI0上板卡1上第1个功能口以太网接口
本机缓存的DNS域名解析在目录/etc/hosts文件中 。
本机DNS客户端配置在文件/etc/.conf中
ip link:查看或修改网络接口
ip :查看或修改网络IP地址
ip -:查看接口的统计信息
ping6用于ping ipv6地址 , -c指定发包数量
ping6对端link local地址时需要在后面加%接口名称
ip route查看路由表
ip -6 route查看ipv6路由表
和都可以最终路由,默认都使用UDP流量追踪 , 可以指定-I(ICMP)和-T(TCP)来追踪流量,默认没有安装该命令 。
-6和是追踪IPv6的流量 。
和ss( 套接字状态)都是显示系统套接字状态,即ip、协议、端口号的对应关系,命令为旧工具,一般不安装该命令 。
和ss的选项:
-n:(值、分数)显示接口和端口编号 , 不显示名称
-t:tcp,显示TCP套接字
-u:udp,显示UDP套接字
-l:,显示侦听中的套接字
-a:all,显示所有套接字
-p:,显示使用套接字的进程
是监控和管理网络设置的守护进程,配置文件保存在/etc//-中
nmcli:Line网络管理命令行是
nmcli:显示所有网络设备的状态
nmclishow:显示所有连接的网络设备列表
nmcliadd:添加网络连接
nmcliup/down:激活网络接口,后面使用连接的名称
nmcli:断开连接并关闭接口 , 后面使用设备名称
nmcli:修改网络连接配置
nmcli:删除网络连接
ssh登录普通用户在成为root之前无权更改网络权限,
nmcli(常规权限)用于查看当前网络修改权限
通过nmcli命令和修改/etc//-/ifcfg-name(name是网络连接名称)参数都可以修改网络配置信息,对比如下:
功能
nmcli网卡名 参数
/etc//-/ifcfg-网卡名
配置IPv4地址获取方式
ipv4.(方法,手动)
ipv4. auto
=
=dhcp
配置IP地址、掩码和网关
ipv4. 1.1.1.1/24 1.1.1.2
=1.1.1.1
=24
=1.1.1.2
配置DNS
ipv4.dns 8.8.8.8
DNS0=8.8.8.8
修改域
ipv4.dns-
=
同步DNS配置到.conf
ipv4.-auto-dns true
=yes
系统启动自动连接该网口
. yes
=yes
网络连接名称
.id ens3
NAME=ens3
绑定的网络接口
.-name ens3
=ens3
MAC地址
802-3-.mac-
=
:显示主机全名,默认在/etc/中定义
:用于修改该文件或参数
set-:修改主机名
:显示关于主机名的状态信息
名称解析查找顺序在/etc/.conf中定义,默认情况下:
1. 先查找/etc/hosts,为本地缓存域名解析,可使用 host查询
2. 在使用DNS服务器解析域名,/etc/.conf控制(dhcp时会同步自网卡配置的DNS)
:短主机名搜索的域名列表
:最多设置三个DNS服务器地址
host:执行解析或反向解析
:get (entry复数 , 条目的意思)获取条目的缩写 。
1.13归档和传输文件
tar:tape 磁带归档的缩写,最初是将文件备份到磁带上,现在是归档、压缩的作用 。
tar可以将大型文件汇聚到一个文件(归档),tar是结构化的文件数据序列,包括文件和索引的元数据,压缩方式支持gzip、bzip2和xz,gzip最老 , 使用最广泛,跨平台较好,bzip2和xz较新,压缩率高
tar命令操作选项:
-c、–:创建一个新存档
-x、–:提取、解压,从现有存档提取
-t、–list:列出存档的目录
tar命令一般选项:
-v、–:显示存档或提取的文件详细信息
-f、–file=:后面跟文件名,创建的文件名或提取的文件名
-p、—:保留许可,提取文件时保留权限 。
tar命令压缩选项:
-z、–gzip:使用gzip压缩方式 , 产生.tar.gz或.tgz
-j、-bzip2:使用bzip2压缩方式,产生.tar.gz2或,压缩率高
-J、–xz:使用xz压缩方式,产生.tar.xz,压缩率更高
归档文件:tar -cf 归档文件名 一个或多个被归档的文件
列出归档内容:tar -tf 归档文件名
提取文件到当前目录:tar -xf 归档文件名
提取文件到当前目录并保留权限:tar -xpf 归档文件名
归档文件并压缩为gzip:tar -czf 归档文件 被归档文件
归档文件并压缩为bzip2:tar -cjf 归档文件 被归档文件
归档文件并压缩为xz:tar -cJf 归档文件 被归档文件
gzip、bzip2、xz也是单独的压缩命令 , 对tar文件进行压缩
、、unxz也是单独的解压命令,解压为tar文件
scp: copy安全复制,文件传输的命令,带:的表示远端 , : 将远端主机和目录分隔开 。默认是将源文件复制到目标目录 , 可以使用-r选项以递归方式复制源目录到目标目录 。
sftp:以交互式传输文件,先登录sftp服务器 , 然后使用ls、cd、mkdir、rmdir和pwd等导航,使用get下载文件,用put上传文件 。
rsync: 远程同步的缩写,只复制差异部分
-v、–:显示同步详细输出,排障或查看进度使用
-a、–:启用存档模式,保留大部分特征
-r、–:以递归方式同步整个目录
-l、–links:同步符号链接
-p、–perms:保留权限
-t、–times:保留时间戳
-g、–group:保留组所有权
-o、–owner:保留文件所有者
-D、–:同步设备文件
在源目录加上尾斜杠/是同步目录的内容,而不创建该目录
1.14安装和更新软件包
如果有购买订阅可以和系统绑定,以及时获取系统更新和相应服务,和的激活系统类似 。可以使用图形界面(订阅)来绑定账户 , 也可以使用命令行:
–+用户名密码
RPM(红帽软件包管理器)是红帽开发的,文件名由四部分组成(后缀为.rpm):
name….rpm
1. name是描述其内容的一个或多个词语
2. 是软件的原始版本号
3. (发行、释放)发行版本号,由大包商设置,不一定是原始开发商 。
4. (架构、结构)软件包运行的处理器架构 。(no 不限架构的缩写)表示不限制架构,表示x86架构的64位系统,表示arm架构的64位系统 。
每个软件包的内容主要有三部分组成:
1. 安装文件
2. 软件包的相关信息,包括名称、版本、摘要描述、许可、日志等
3. 脚本,安装、更新、删除软件时运行的脚本
红帽为其所有发行的软件包进行数字签名 , 来验证安装包的完整性,使用GPG密钥,如果签名不匹配将拒绝安装 。
rpm -q:query(查询、询问)缩写 , 列出当前安装软件的版本,后面跟软件名称 。
-qa:query all:列出所有已安装的软件包
-qf:query file:列出提供文件名称的软件包,后面跟文件目录
-qi:query info:列出关于软件包的详细信息
-ql:query list:获取软件包的文件
-qc:query :列出软件包的配置文件
-qd:query doc:列出软件包的文档文件
-q –:列出安装包的脚本
-q –:列出软件包的更改日志
-p::列出软件包的安装包信息
-ivh:hash安装详细进度
:将软件包内容提取出来 。
yum(黄狗更新修改的缩写)是从存储库里面下载rpm软件包 , 并解决了依赖关系 。
yum list:显示已安装和可用的软件包
yum list :显示已安装和可用的内核
yum :根据名称和摘要搜索软件包
yum all:根据所有(名称、摘要和描述)搜索软件包
yum info:显示与软件包相关的详细信息
yum :(指定、提供)显示与指定的路径匹配的软件包
yum :获取并安装软件包 , 包含所有依赖项
yum :获取并安装软件包新版本,包含所有依赖项,不加名称是更新所有软件 , 大部分情况会保留配置文件 。
yum :删除安装的软件包,包含受支持的软件包
uname(unix name):是类unix系统显示当前操作系统信息的命令
uname -r: 内核发行,显示内核的版本和发行版本
uname -a:all,显示内核发行版本和其他信息 。
yum也有组的概念,常规组是软件包的集合 , 环境组是常规组的集合 。
组内的软件分为三种:(强制的,法定的)安装该组时必须安装,(默认)安装该组时通常默认会安装,(可?。┌沧案米槭辈挥璋沧埃??翘厥庖??。
yum group list:显示已安装和可用的组名称
yum group list :显示隐藏组
yum group info:显示组的相关信息
yum group :安装一个组,安装必选和默认软件包及依赖的包
所有软件安装和删除的事务日志记录在:/var/log/dnf.rpm.log中
yum :显示安装和删除事务的摘要
yumundo 5:撤销5步事务
yumall: list仓库列表 , 查看所有可用的存储库
yum– –:启用一个存储库
要启用对第三方存储库的支持,可以在/etc/yum.repos.d/目录下创建一个以.repo结尾的存储库配置文件,文件内定义存储库URL、名称和是否使用GPG密钥检查 。
yum– –add-repo :添加存储库
内容通过两个主要的软件存储库进行分发:和应用流()
yumlist:显示可用模块的列表
yuminfo:显示模块的详细信息
yum:使用默认流和配置文件安装模块
yum:删除已安装的模块
yumreset:重置模块流
1.15访问Linux文件系统
挂载点:要让文件系统的内容在文件系统层次结构中可用,必须将它挂载到一个空目录上,该目录称为挂载点
SATA/SAS/USB附加存储命名:/dev/sda b c 分区1 2 3
虚拟化存储:/dev/vda b c
NVMe附加存储(很多SSD):/dev/nvme0 1 2 分区P1 P2 P3
SD/MMC/eMMC存储(SD卡):/dev/ 1 2
逻辑卷是将一个或多个块设备(b)汇聚为一个存储池 , 称为卷组,他们功能类似于分区 。
df:disk free磁盘空间,显示文件系统的设备及空间使用情况 。
-h:human-人性化阅读,可以把空间数字折合到MB GB
-H:人性化阅读,以SI单位折合到MB GB , 十进制
du:disk usage磁盘使用量,以递归形式显示目录树中所有文件大小
-h:human-人性化阅读,可以把空间数字折合到MB GB
lsblk:list 列出块存储,列出所有可用设备的详细信息
mount 设备 挂载点:挂载文件系统,/mnt或可作为临时挂载点 , 这种挂载方式可能因为系统重置发生变化,因此不稳定 。
UUID:通用唯一识别码,一个稳定且与文件系统关联的标志符称为UUID,是一个很长的十六进制数,只要文件系统不重建,UUID不会发生变化 。
lsblk -fp:列出设备的完整路径、UUID和挂载点
mount UUID=”46fd……” /mnt/data:使用UUID挂载 , 稳定 。
图形桌面环境下,可移动设备会自动挂载到/run/media/用户名/文件系统名称
挂载点:卸载文件系统,前提是所有进程停止访问挂载点数据
lsof:list open file列出打开文件 , 列出打开文件及访问它们的进程 。
:(定位、找到……的位置)从预生成索引(.db数据库)中检索文件名或文件路径,优点是速度快,缺点是新文件更新不及时可能无法搜索到 , 默认每天更新一次,可用强制更新 。
-i: case忽略大小写,用于执行不区分大小写的搜索
-n:数量 , 指定搜索结果返回数量
find:(找到)在文件系统层次结构中遍历搜索文件,比准确,但是速度慢 。此外还支持搜索文件名以外的搜索 , 例如按照文件权限、文件类型、文件大小、修改日期等进行搜索 。
-name:以文件名搜索,支持通配符,搜索内容用引号以免被翻译
-iname:不区分大小写以文件名搜索
-user:按照文件所有者搜索
-group:按照组所有权搜索
-uid:按照用户ID数搜索
-gid:按照组ID数搜索
-perm:许可,按照文件权限集搜索文件,权限以数字形式体现 , 数字前面加/表示用户、组、其他人至少匹配一位,数字前面加-表示三位必须都匹配 。
-size:按照文件大小搜索文件,支持k M G , 不带+-的表示向上取整文件大小,并且可以用+表示以上,-表示以下
-mmin: 修改分钟数,表示在过去n分钟内修改的所有文件 。也可以用+ –
-type:按照文件类型搜索 , 支持f(file普通文件)、d(目录)、l(link软链接)、b(blcok块设备)
-links:按照文件的硬链接数量搜索,后面跟数字,可以用+ –
1.16分析服务器和获取支持
RHEL8支持Web控制台,专门管理和监控服务器而设计,基于服务(驾驶舱) , 可以监控系统日志、查看系统性能图标、更改设置、全功能交互式终端会话等 。
启用Web控制台:
yum:安装Web控制台服务,除最小安装默认安装
–now .:启动服务
-cmd –add-= –-(永久的):将服务添加到防火墙允许列表内,开启端口9090
-cmd –:重启防火墙配置以生效
红帽客户门户网站:
红帽开发者网站:
–tool是红帽支持工具搜索知识库 , 需要联网,只有命令行交互式,没有图形界面 。
红帽智能分析工具是一种预测分析工具,可以帮助识别和修复系统的安全性、性能、可用性和稳定性威胁 。是SaaS,需要订阅
yum-:安装智能分析客户端 , 8以上默认
– –:注册智能分析工具并上传初始系统数据 , 在网站()上就能看到该系统 。
二、 红帽系统管理员II:RH134
2
2.1提高命令行生产率
脚本第一行是指定命令解释器,以#!开头,例如#!/bin/bash
执行脚本的方法:
sh 脚本名称:使用shell程序执行脚本命令,不需要对脚本有执行权限
./脚本名称:在当前路径下执行脚本,需有x权限 , 并切换到当前目录
.脚本名称:在当前的shell环境中执行脚本
for循环语句可以执行重复的命令,语法是:
for 变量 in 列表;
do 执行命令;
done
在脚本中可以使用退出代码,使用“exit 数字”命令,数字可以是0-255之间的数字,0表示没有错误,非0表示有错误,可以使用不同的数字表示不同的错误 。
test命令用于测试某个条件是否成立 , $?表示退出代码值
条件结构if/then或if/then/else或if/then/elif/then/else等
正则表达式提供了一种便于查询的特定内容匹配机制 , 自成体系 , 与通配符不一样,vim、grep和less命令可以使用正则表达式 。通配符常用于文件名匹配,正则表达式大多用于对文件内容的匹配 。通配符比较简单,可以理解只有*?{}[],正则表达式则比较复杂 。
正则表达式符号:
.表示单个字符
?表示最多匹配一次
*表示任意字符
^表示以字符开头
$表示以字符结尾
grep:(print,全局正则表达式输出) 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
-i:-case忽略大小写
-v:-match翻转匹配,不含有匹配项的行
2.2计划将来的任务
at软件使用atd守护进程提供了a-z共26个延迟执行队列
at命令从stdin通道中读取要执行的命令,也可以使用
【一、 红帽系统管理员I:RH124】本文到此结束,希望对大家有所帮助 。
- 一篇文章学会打理针织衫的一切
- 奇瑞2.0T电光版房车实拍!设计野性又温馨,通勤、旅行吃住真省钱
- 在玻璃关死的情况下,在车里睡一晚,氧气够吗?
- 一家三口开着空调吃烤肉,一不小心全中了毒!问题竟是出在这个细节上
- 一剪梅突然欧美爆红原因是什么 ?一剪梅爆火什么梗
- 假如清华大学在你高一就预录你,高中三年需知足这6点,能做到吗
- 初中毕业家长怎么帮孩子选择一个适合的卫校?
- 安徽理工大学是啥档次?
- 外交学院、国际关系学院以及中国青年政治学院,北京三校如何选?
- 大工再添18个省一流本科教育示范专业!有你的专业吗