RHEL9基础(一)

Linux介绍和开源协议

Linux的桌面是通过桌面软件(GNOME、KDE、UKUI)

驱动程序:

windows的驱动程序由厂家开发

Linux的驱动程序由开源社区爱好者和贡献者开发

软件:

windows大部分软件需要“许可证”,付费软件

Linux大部分软件为开源软件,免费

开源:公开源代码,所有人都可以访问下载

开源 != 免费,有限制的开源,受到开源许可证的制约

自由软件基金会定义了四大自由:

允许以任何目的进行使用软件(可以收费)

允许学习和修改软件源代码(增加、删除、修改源代码)

允许重新发布软件(将你的开源软件拿过来修改再次发布)

允许开发衍生版本的软件(将源代码作为蓝本,进行二次开发)

常见的开源许可证(开源协议):

GPL协议:GNU 公共许可证

用你的源代码开发的软件,也要开源

BSD:伯克利软件发布版

可以修改、重新发布开源软件,并且卖钱

Apache:

可以修改开源软件并且进行商用但是需要声明修改的地方

MIT:麻省理工学院

只需要在源代码中保留作者的许可信息

国内的开源协议:

木兰宽松许可证—openeuler

在进行分发的时候需要把“许可证”副本也分发出去

开源的好处?和闭源软件的对比:

透明:

任何人都可以看到源代码;非法人士不会头铁将恶意代码写到开源软件中

低成本:

开源社区的爱好者和贡献者开发,为爱发电,几乎没有成本

闭源软件需要商业公司的开发团队开发,需要投入研发和人头费用

风险低:

开源社区的人群基数大,由开源社区维护

质量高:

开源软件由开源社区发行和维护更新

Linux发展史

Linux是一个操作系统;操作系统=内核+应用程序

内核是操作系统的心脏,管控网络、进程、文件系统等

Linux的发展历程:

Bell、MIT、GE三者共同研发Multics(多路信息计算系统);目的是为了让多个用户和多个终端同时使用一个操作系统。

unix的诞生:

unix之父---->肯汤普逊;C语言之父---->丹尼斯(汤普逊的好友)。最开始是汇编语言编写unix,后面丹尼斯通过C语言重新编写了unix。系统开始具有移植性。unix开源流行各个高校。后面Bell实验室的老大AT&T重新收回unix版本,变为收费模式,unix进入收费时代。

Minix的诞生:

由于unix的收费,安德鲁教授为了教学目的重新编写了一个操作系统叫做Minix,只是为了在学校中教学。后面为了防止Minix被商业公司拿去售卖,停止了Minix的开发

GNU和自由软件基金会的诞生:

斯托曼发起了GNU计划,创建了自由软件基金会;目的是为了创建一个完全自由的操作系统,并且同时开发了gcc编译器。

Linux的诞生:

Linus Torvalds 林纳斯这个大学生基于GNU协议开发了Linux内核,后面开源发布到互联网上,全球各地的开发者共同开发和维护。

Redhat的诞生:

Bob Young是红帽的创始人。他在Linux内核的基础之上结合GNU工具以及各种的开源软件,发布了RHEL操作系统。(软件不收费,提供的技术服务、补丁更新等服务收费)

红帽的发行版本

RHEL:Redhat Enterprise Linux 红帽企业级Linux

Fedora:个人桌面版本

CentOS:社区企业级系统

发行顺序:

在2019年前:

最先发行:Fedora

其次发行:Centos

最后发行:RHEL

Centos和RHEL是一比一进行复刻;rhel提供技术支持等服务,Centos什么都没有

在2019年后:

最先发行:Fedora

其次发行:Centos-Stream(滚动更新版,更新速度快,为了让用户第一时间体验技术和软件)

最后发行:RHEL

RHEL永远是最稳定的版本

基于RPM的迁移

使用convet2rhel进行系统迁移

centos迁移到rhel,收费

centos迁移到centos-stream…其他Linux发行版本,免费

红帽认证体系

金字塔类型,需要一级一级的考试;例如要考RHCE,就必须先通过RHCSA的考试认证。全部都是上机考试都是实验。

8和9版本的区别,RHCSA变化不大,RHCE加入了用容器管理自动化的概念

RHCSA:红帽系统管理员

(入门基础命令,网络配置,磁盘管理、安全、容器等)

RHCE:红帽工程师

(自动化方向,ansible的剧本、角色、变量、模块的使用)

RHCA:红帽架构师

五个方向的证书--->五合一变成RHCA证书

CL210 openstack 云计算

CL260 ceph分布式存储

RH358 自动化服务和管理

RH442 性能调优

DO447 高级ansible自动化

从2024年1月1日开始,CL210不支持线下考试;改为线上预约红帽的环境进行考试。DO447升级为DO374,无法进行DO447的考试

如何安装RHEL操作系统

  1. 需要底层的硬件:CPU、内存、网卡、磁盘等等
  2. 安装系统的安装介质:ISO镜像文件

1.通过vmware workstation软件虚拟出一套硬件(CPU 内存  硬盘硬件设备等),也叫做虚拟机

推荐是15.5版本以上,最新是17,越新越好

VMware Desktop Hypervisors for Windows, Linux, and Mac

2.获取ISO镜像介质

登录https://access.redhat.com/  

需要注册账号,登录账号

如果要下载ISO镜像介质,需要订阅红帽

开发者订阅--->免费  Red Hat Developers | Red Hat Developer

rhel-baseos-9.0-x86_64-dvd.iso

rhel:操作系统名称

baseos:基础操作系统

9.0:系统的版本

X86:CPU架构(intel amd)

64:操作系统位数;64位操作系统支持4G以上的内存;32位只支持4G以下

.iso:镜像文件后缀名

DVD:标准的镜像;下载此镜像

Boot:启动镜像;启动计算机,不能安装系统(可以间接安装系统,通过联网的形式安装软件包)

qcow2:虚拟化的镜像模板,里面有虚拟机(导入kvm虚拟机)

virtio:只是一个虚拟化的驱动程序安装包,用于优化虚拟机的性能(提供读写性能)

3.安装操作系统

磁盘分区,必须分的几个区

/boot分区,保存系统的引导程序和内核文件;推荐500M

内核100-200M

swap分区,内存交换分区(类似于windows中的虚拟内存);将内存中的数据临时存放到磁盘当中;(如果内存是小于32G大小,推荐分为物理内存的2倍;大于32G,根据情况随意给)

/ 分区  

kdump内核保护机制,默认会使用内存的空间;当内核崩溃后,会记录内核崩溃的信息保存到文件中

公有云安装RHEL系统

以华为云为例:

通过私有镜像创建rhel系统;需要先将ISO镜像文件上传到对象存储的桶当中,再通过桶创建私有镜像;

上传的ISO镜像,通过在镜像服务IMS进行安装服务器;在创建弹性云服务器选择私有镜像不会显示;

登录系统的方式

  1. 图形化登录
  2. 命令行(字符页面)登录

都是Linux控制台登录的;在Linux中 系统一共有6个控制台

第一种和第二种都是图形化页面

第三种到第6种都是命令行页面

为什么要多个控制台?防止一个控制台的应用程序持续运行,占据前端的命令页面,导致不能操作命令;防止一个控制台的程序卡住,导致控制台无法使用;

切换控制台:

 Ctrl + Alt + F[1-6]

  1. 浏览器web页面登录

RHEL7开始(Centos7)支持web页面登录

启动cockpit.socket

命令:systemctl enable --now cockpit.socket

浏览器网址:https://ip地址:9090

认识命令行和基础命令的使用

[ root@rhel9 ~ ]#  命令提示符

root:当前登录系统的用户

@:分隔符

rhel9:主机名;这个地方只会显示部分的主机名。如果是一个完整的域名(主机名),只会显示前面的部分主机名;例如rhel9.example.com,只会显示rhel9

修改主机名:hostnamectl set-hostname  主机名

让主机名生效:bash

~:表示的是用户当前的目录,也就是在哪个路径下;如果是~则表示用户的家目录(用户保存文件的默认目录)

#:表示的是特权提示符;如果是#号则表示当前的用户是root用户;如果是$则表示当前的用户是普通用户

基础命令使用:

date 查看系统的时间和日期

CST 中央标准时间(Asia/Shanghai)

UTC 世界协调时间

cal 查看系统的日历

useradd 创建用户

id 用户  查看用户是否创建

su 切换用户

使用su – memeda01切换用户;不要使用su memda01切换用户

exit 退出用户

ls 列出文件和目录

如果是蓝色,表示是目录

如果是白色,表示是文件

如果是绿色,表示是可执行文件(可执行程序)

如果是红色,表示是归档文件(理解为windows种的压缩包)

vim 编辑器

vim 文件(此文件已经存在),修改内容保存;

   vim 文件(此文件不存在),如果不保存直接退出,文件不会创建;

 如果保存并退出,文件会创建;

   用法:打开文件后,按i键进入编辑模式(修改文件的内容),按Esc键退出编辑模式,wq保存并退出(如果修改了内容不想保存,直接q!)

P:修改系统语言

vim /etc/locale.conf 打开这个文件

   LANG="en_US.UTF-8"’  修改此内容

中文:zh_CN.UTF-8

英文:en_US.UTF-8

按i键,进入编辑模式,才能修改内容

按Esc键,退出编辑模式

按shift + : 号,然后输入wq保存并且退出;w是保存,q是退出,!是强制

w! q! wq!

重启系统reboot

history 查看历史记录

! + 数字 例如:!126,调用系统第126条历史记录

!+ 字符串  例如:!l,调用最近一条以l开头的历史记录

Alt + .   调用上一次命令的最后一个参数

!+ $ 调用最后一个参数

Ctrl + r 使用历史搜索功能

tab键 补全指令,补全的对象可以是命令、文件、目录等等

例如: user

tab补全的指令需要具有唯一性,才能够完全补全;

如果指令不唯一的话,不会补全,需要按2下tab键查看以user开头的指令;

如果tab不出来,表示以user开头的指令有很多

Linux当中的小技巧:

如果在Linux当中敲打命令,终端没有回显信息大概率是执行成功;

通过方向键的 ↑ ↓来查看历史命令;

熟练tab键补全;

清屏:clear / Ctrl + l 

创建新的终端:Ctrl + Shift + t

关闭终端:Ctrl + d (终端上没有任何的东西)

扩大终端:Ctrl + Shift + +

缩小终端:Ctrl + -

切换标签页:Alt + [1 2 3 …]

光标的跳转:

跳转到最前:Ctrl + A 或 home键

跳转到最后:Ctrl + E 或 end 键

剪切光标前面的内容: Ctrl + U

剪切光标后面的内容: Ctrl + K

粘贴剪切的内容:Ctrl + Y

强制退出:Ctrl + C

停止任务:Ctrl + Z

复制/粘贴:Ctrl + Shift + C/V (需要鼠标选中内容)

Linux用户和密码

用户的分类:

超级管理员:root用户

系统用户:各类服务的使用用户

普通用户:root用户手动创建的用户

创建用户:useradd

修改密码:passwd

passwd修改用户的密码,密码不可见;如果后面不接用户,则修改当前用户的密码

root用户可以修改所有用户的密码,普通用户只能修改自己的密码

root用户修改密码可以无视密码策略,普通用户需要遵守密码策略

用户的切换: su –

root用户切换其他普通用户,不需要验证密码

普通用户切换为其他用户,需要验证密码

(如果普通用户没有设置密码,则其他普通用户无法进行登录;root无视可以直接登录用户)

Linux命令的语法

命令的组成结构、语法

命令 + 选项 + 参数

命令:实现指定的功能(ls、useradd、date)

选项:对命令的扩展和补充(ls -a)

参数:命令操作的对象,对象可以是文件、目录、用户等等

选项可以省略,参数不一定能够省略;

可以使用 ;来接上多个指令

PS:选项的内容

ls举例

ls -a 列出当前目录的所有文件和子目录

ls --all 列出当前目录的所有文件和子目录

短格式都是 – 开头

长格式都是 – 开头

长格式是选项完整的意思,短格式是长格式的缩写  -a 等价于 –all

短格式的出现是为了简写

不是所有的长格式都有短格式,一般都有

长格式不支持连写,短格式支持连写并且顺序没有要求

命令的格式:命令、选项、参数之间使用空格进行隔开;这样才是一个完整的指令

    • 命令和选项之间使用空格隔开(ls -a)
    • 命令和参数之间使用空格隔开(useradd user10)
    • 选项和选项之间使用空格隔开(ls -a -l)
    • 选项和参数之间使用空格隔开(ls -a /opt)
    • 参数和参数之间使用空格隔开(ls /root /opt)

查看命令的帮助

whatis 命令

第一次使用的时候可能无法正常查看;whatis 查询的是系统的帮助手册(man手册),基于索引进行查询(mandb手动生成索引)。如果man手册没有记录这个命令,whatis 查询不到。

查询选项的帮助

--help 查询的是命令的选项帮助;命令开发者开发的 定义的

ls [OPTION]... [FILE]...

[ ]表示可选项,可以不加选项也可以加选项

…表示列表,可以接多个选项和参数

大小字母,表示必须有,不可以省略

+FORMAT,表示特定格式

-u|--utc|--universal,表示多选一

MMDDhhmm[[CC]YY][.ss],表示特定的格式

man手册

man date

man -k 关键字

man -f 命令  === whatis  命令

man手册的章节

  1. 用户的命令
  2. 系统调用的内核
  3. 函数库
  4. 设备文件
  5. 文件格式
  6. 游戏
  7. 软件包
  8. 超级管理员命令
  9. 内核信息

结构名称

描述

NAME

名称及简要说明

SYNOPSYS

格式和使用方法说明

DESCRIPTION

详细说明

OPTIONS

可用选项及其介绍说明

EXAMPLES

示例(附带简单说明)

FILES

相关文件

ENVIRONMENT

环境变量

SEE ALSO

其它帮助参考

man打开之后,按q键退出;按/进行搜索,按n/N进行关键字跳转

info/pinfo 查看更加详细的帮助

查询红帽的门户网站查询案例和帮助文档:access.redhat.com

  软件的帮助手册(需要安装软件服务,例如httpd vsftpd nfs),会自带软件帮助文档教导配置

帮助手册的保存路径:/usr/share/doc下

--->www.baidu.com

文件系统结构和目录的作用

Linux文件系统结构:单根倒树状结构;所有的文件和目录都是从 /根目录开始

windows文件系统结构:多根多树状结构;每一个盘符都是一个树根

文件:windows不区别大小写;Linux区别大小写

命令:windows不区别大小写;Linux区别大小写

/etc/sysconfig/

/:根目录

/:路径分隔符

sysconfig属于etc下面的子目录,etc是属于/目录下的子目录

目录的作用

/root:超级管理员的家目录(root用户的默认保存路径)

/home/{username}:(username是用户名)普通用户的家目录(会以用户名的名字作为目录名)

/usr:安装自定软件保存的目录

/usr/bin:保存普通用户和root用户可以执行的命令

/usr/sbin:保存root用户可以使用的命令,普通用户一般无法执行

/usr/local:安装自定软件保存的目录

源码包

/etc:系统配置文件主目录,例如配置网卡,修改主机名…(软件的配置文件)等

/var:系统的日志文件,网站的数据文件(应用程序的日志),http、ftp、邮件的内容

/tmp:系统的临时目录;临时的去缓存文件和目录,重启系统情况临时文件

/boot:系统的启动目录,系统的内核和引导程序存放到此目录下;

/dev:系统设备文件所在的目录,比如磁盘、U盘、CPU、内存等

/proc:存放系统运行的数据(存放到内存);每一个目录都是一个进程ID(pid),退出进程后目录被删除,无法通过rm删除目录来实现退出进程。系统关机删除

目录和文件的命名要求

名称不能超过255个字符

/ 不能作为目录和文件的名字,/是分隔符

名字大小写敏感

不要使用特殊字符进行命名,如果非要使用,记得用单引号包括起来

不推荐使用双引号,因为有些符号具有特殊意义

eg: touch “!400” ;

文件的路径

指的是文件在系统上的保存的位置

绝对路径、相对路径

绝对路径:以  /  开头的路径

在任何位置都可以使用

相对路径:不以  /  开头的路径

在指定的位置才能使用

每一个目录下都有. 和..目录

.目录代表当前目录

..目录代表当前目录的上一级目录

常用命令

cd 切换工作目录

cd 指定路径

cd .. 切换到上一级目录

cd  / cd ~ 切换到当前用户的家目录

cd ~user  切换指定用户的家目录

cd - 切换到上一次所在的目录

touch 创建文件

第一种情况:文件不存在

touch file  直接创建一个空文件

第二种情况:文件已存在

touch file  更新文件的时间戳

stat file 查看文件的时间戳

时间戳的作用:

用于安全检测:系统检测到文件时间戳修改,能够判断文件是否被入侵访问

用于文件的备份和同步:系统检测到文件的modify时间变化,则判断文件内容被修改,可以同步到其他的服务器上

Access: 2023-12-16 11:00:30.937651381 +0800

Modify: 2023-12-16 11:00:30.937651381 +0800

Change: 2023-12-16 11:00:30.937651381 +0800

  Birth: 2023-12-16 11:00:13.705571592 +0800

+0800 代表UTC(世界协调)时间+8个小时

Access:最后一次访问文件的时间(查看文件的内容)

Modify:最后一次修改文件的时间(vim编辑文件内容)

Change:最后一次文件被改变的时间(文件的属性,文件的权限、文件的拥有人、拥有组)

Birth:文件创建的时间,在rhel9之前位空

touch -md '2024-12-12 10:59:01' file  手动修改文件的时间戳

rm 删除文件和目录

删除文件:rm 文件

-f 强制删除

-i 交互式删除,提醒是否删除 y删除 n不删除

删除目录:

-r 删除目录,递归删除

-rf 强制递归删除,推荐删除目录使用此命令(非常危险,Linux中没有回收站的概念,删除是真的删除了)

rmdir 删除空目录。如果目录中有文件,无法进行删除

mv 移动和重命名

mv 源目标 目的路径

如果目的路径没有源文件,则移动

eg: mv aaa /opt/

如果目的路径有源文件,则提示覆盖,内容也会覆盖

eg:mv aaa /opt

如果目的路径没有源文件,怎么进行移动并改名

eg:mv aaa /opt/bbb

如果处于同一个路径,mv则是修改文件名

eg: mv bbb  ccc

eg:mv /root/ddd  /opt/eee 移动文件并且修改文件名

ls 列出当前目录的文件和子目录(内容)

ls  指定路径

-l 以长格式的方式列出(更加详细,可以查看权限、拥有人等信息)

-a 查看目录下所有的内容(包括隐藏文件-以.开头的都是隐藏文件和目录)

-h 以人类可读的方式(大小格式转换)

-R 以树状的形式列出(看到每个目录下的内容)

-d 查看目录(-ld 查看目录的详细信息)

mkdir 创建目录

mkdir 目录

 -p 递归创建目录

eg: mkdir /a/b/c/d/e -p

cp 拷贝文件和目录

cp 源目标 目的目标

如果目的目标是一个目录,则将源文件拷贝到指定目录下

eg:cp test /opt  等价于  cp test /opt/test

cp test /opt/test1

如果目的目标已经存在源文件,则覆盖

eg:cp test /opt

cp -r 拷贝目录

cp -a 拷贝文件/目录(保留文件的属性信息)

file 查看文件类型

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值