文章目录
一,发展来源
20世纪70年代 ---- UNIX开源
1979年 ------------- UNIX开始商业化
1984年 ------------- 发布GUN计划,GPL协议
1987年 ------------- gcc编译器发布
1991年 ------------- linux出现
1994年 ------------- 红帽出现
2004年 ------------- ubuntu出现
二,Linux的两个版本
1. 内核 / 发行版
- 1.1 Linux内核版本:分为稳定版和开发版
内核的作用:设置好操作系统与硬件的“交互”内核::是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序
☛ 系统调用: 操作系统可以把对硬件的控制封装为一个个系统调用,方便其他的程序管理硬
☛ 终端命令: 方便调用系统调用
Linux设计者的
- ① 有了硬件后---->用操作系统(Linux内核)管理硬件
- ②开发Linux系统后只有对硬件的基础访问和系统调用,操作内核的时候不方便----->设计终端命令
- 1.2 Linux发行版(也被叫做GNU/Linux发行版):通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件。
☞ubantu
☞red hat
☞cent os
。。。。。。
三,企业一般用RHEL/CentOS作服务器
RHEL由red hat公司推出,但授权服务要交钱。
Cent OS被red hat公司收编,开源。------>官网 www.centos.org
centos —>红帽的测试版本(与rhel区别:里面没有商业化软件)
centos 6.x 用linux2.6的内核
centos 7.x 用linu3.x的内核
四,在官网下载Cent OS镜像ios
几种不同的版本
bin-DVD.iso:本地离线镜像文件,可直接直接安装到硬盘上,一般下载这个即可。
LiveCD/DVD.iso: 是一个光盘Centos系统,可通过光盘在电脑商启动系统,也可以安装到计算机,有些内容还需要再次下载
minimal.iso: 精简版的镜像,可安装最基本的Centos系统,一般用在服务器上。netinstall.iso: 在线安装版本,启动后边下载边安装。
Everything ISO:包含了完整安装版的内容,并对其进行补充,集成了所 有软件
可参考博客 https://blog.csdn.net/chris_zqw/article/details/79928781
五,存储结构与磁盘划分
参考刘遄老师《linux就该这么学
https://www.linuxprobe.com/chapter-06.html
”Linux系统中一切都是文件“
1.在Linux中,目录,字符设备,块设备,套接字,打印机都被抽象为设备
2.Linux文件从根目录 \ 开始,树形结构存文件
3.系统中文件和目录名称是严格区分大小写的。例如,root、rOOt、Root、rooT均代表不同的目
- 常见目录以及对应内容
Linux是多用户操作系统
- 不同用户在/home目录下创建管理自己的文件
- Linux系统没有盘符的概念
自己对分区的理解
/boot:引导分区挂载点,里面有引导文件
/bin:二进制/内置命名【普通用户用】
/sbin:系统管理员使用的命令文件所在地
/dev:设备文件所在目录
/usr:相当于Windows下的program file,存放软件。内置
- /usr/bin普通用户用
- /usr/sbin系统管理员用户用
/etc:配置文件(如:/etc/shells配置shell解释器)
/var:存放常变的文件 / eg:stp,域名解析,日志等。
【这么分的好处:比如说/usr,这个目录经常被读写。容易破坏,单独分出来】
1.物理设备的命名规则和分区
①Linux中硬件设备也是文件–>有文件名称
IDE/SCSI/SATA的不同: 这里.
一般的硬盘设备都会以/dev/sd开头而一台主机上可以有多块硬盘,因此系统采用a~p来代表16块不同的硬盘(默认从a开始分配)
②设备分区命名
- /dev目录中sda设备之所以是a,是由系统内核的识别顺序来决定的,并不是由插槽决定的。
- 主分区或者扩展分区从1开始。到4结束;逻辑分区从编号5开始
-----/dev/sda5-----表示系统中第一块被识别到的硬件设备中分区编号为5的逻辑分区的设备文件
③linux系统和硬盘的三种分区
硬盘分区一共有三种:主分区,扩展分区和逻辑分区
硬盘的分区主要分为主分区(Primary Partion)和扩展分区(Extension Partion)两种,主分区和扩展分区的数目之和不能大于四个
主分区(Primary Partion:可以马上被使用但不能再分区。
- 编号1-4
- 存放系
扩展分区(Extension Partion):必须再进行分区后才能使用,也就是说它必须还要进行二次分区
- 不能直接使用,要建立逻辑分
逻辑分区(Logical Partion):由扩展分区建立起来的分区。逻辑分区没有数量上限制
- 所有的逻辑分区大小和等于扩展分区
在Windows下:c盘是主分区;e,f盘是逻辑分区
linux系统常用的三种分区:引导分区,根分区,交换分区
引导分区:/boot 引导启动项,放引导文件 —>200mb
根分区 /:(类似c盘) 【放置系统】 ---->按需分配
swap交换分区,一般只有当真实物理内存耗尽时才会调用SWAP。
// 虚拟内存(vm) 用户无法访问,无挂载点,操作系统可以访问。 —>大于等于2倍物理内存,,建议设置为4gb
④挂载
当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载
mount 文件系统 挂载目录---->用于挂载目录
六,shell
shell出现的原因
计算机硬件:是由运算器、控制器、存储器、输入/输出设备等共同组成的,而让各种硬件设备各司其职且又能协同运行的东西就是系统内核。
系统内核:Linux系统的内核负责完成对硬件资源的分配、调度等管理任务系统内核对计算机的正常运行来讲非常重要了,因此一般不建议直接去编辑内核中的参数,而是让用户通过基于系统调用接口开发出的程序或服务来管理计算机,以满足日常工作的需要
图形化工具的好处和不足:例如(LVM—逻辑卷管理器)
- 好处:方便管理,不易出错
- 缺乏命令的灵活性以及可控性,更加消耗系统资源(降低服务器性能
shell:一个命令行工具。Shell(也称为终端或壳)充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。
1.shell解释器
Linux的Shell脚本解释器种类众多,一个系统可以存在多个shell脚本解释
可以通过cat /etc/shells 命令查看系统中安装的shell脚本解释器
Bash是大多数Linux系统默认的Shell脚本解释器
bash的优点
1:通过上下方向键来调取过往执行过的Linux命令
2:命令或参数仅需输入前几位就可以用Tab键补全
3:具有强大的批处理脚本
4:具有实用的环境变量功能。
七,安装软件
一开始
安装软件方式:源码包
- 自行编译解决软件依赖关系
- 难安装,也难卸载
RPM的出现
- ①自行建立统一的数据库
- ②自行分析依赖关系
YUM软件仓库
- 大大降低安装难度,复杂度
- 更好的解决软件之间的依赖关系
八, Linux的开机过程
BIOS的启动 —>MBR引导 —>GRUB菜单 —>加载内核(kernel) —>启动初始化进程
BIOS(基础输入输出系统): 开机时,对各项硬件初始化设置和测试,以保证系统正常工作
Boot Loder:与BIOS差不多也是对处理器相关的硬件资源初始化
初始化进程:
- systemed 新版------(采用并发机制)
- system v 旧版
例如在RHRL6.5中开机引导过程
bios:检测硬件,是否自检通过
mbr引导:磁头应该停留在哪个位置 mbr主要引导记录(内有分区表,引导到 /boot--->加载引导程序)
GRUB菜单:
加载内核(kernel):
init进程初始化:父进程
pid永为1
第一个进程
有内核加载/sbin/init
8.1开机后的配置文件
九,配置默认运行级别的文件/etc/inittab,所有进程的运行级别
inittab文件
格式:id:runlevels:action:process
id:标识
run:级别 0-6
1--->单用户模式【root用户】不需要密码验证即可登录系统,修复系统时用
2--->字符界面的多用户模式(不支持网络功能)
♛3--->字符界面完整多用户模式,大多数服务器主机在这个级别 【企业一般是这个级别】
4--->未分配
5--->图形界面多用户
6--->重新起启动,使用该级别会重启
0--->关闭系统
如图是该文件内容
如果设置为3,每次开机都字符界面
9.1init命令
init [级别]---------使用某个级别
小实验:修改缺省为2—>重启—>字符界面登录 init5—>进入图形化界面—>runlevel