UNIX发展历程
- 第一个版本是1969年由Ken Thompson(UNIX之父)在AT& T贝尔实验室实现
- Ken Thompson和Dennis Ritchie(C语言之父)使用C语言对整个系统进行了再加工和编写
- UNIX的源代码属于SCO公司(AT&T ->Novell ->SCO )
- UNIX商标( AT&T ->Novell ->X/Open)
什么是UNIX
UNIX是由OPEN GROUP管理的一个商标,它指的是某类遵循特定规范的计算机操作系统集合。这个规范称为单一UNIX规范SUS(Single UNIX Specification)
类UNIX系统
- 各种传统的UNIX系统以及各种与传统UNIX类似的系统(遵循POSIX可移植操作系统接口规范)。
- ISO C 是 POSIX子集
- POSIX 是 SUS子集
- 纯种Unix多数为商用,如SCO的Unixware、IBM的AIX、HP的HP-UX和Sun的Solaris等
- 免费的有FreeBSD和Linux等
什么是Linux
是一个类UNIX内核的可以自由发布的实现版本,是一个操作系统的底层核心(内核)。用户可以获得内核源代码,编译并安装,然后获得并安装许多其他自由发布的软件,从而创建一个完整的Linux,通常称为Linux系统
Linux的发展历程
- 新版Unix(SystemV7)受版权限制及源代码不公开,不能用于教学和科研
- Andrew S. Tanenbaum教授为了摆脱这些限制,开发了Minix操作系统, 开放全部源代码给大学教学和研究工作
Linus Torvalds 芬兰赫尔辛基大学的一位计算机系的学生。在大学期间,他接触到了学校的Unix系统,但是当时的Unix系统仅为一台主机,且对应了多个终端,使用时存在操作等待时间很长等一些不爽的问题。因此他就萌生了自己开发一个Unix的想法。他就把Minix安装到了他的I386个人计算机上作为学习和研究的对象。Linus阅读了Minix系统的源代码,从Minix系统中学到了很多重要的系统核心程序设计理念和设计思想,从而逐步开始了Linux系统雏形的设计和开发。1991 年 8 月,在芬兰 赫尔辛基大学 计算机系的学生在comp.os.minix 新闻组贴上了以下这段话:「你好,所有使用 minix 的人 -我正在为386 ( 486 ) AT 做一個免费的操作系統 ( 只是为了爱好 ),不会像 GNU 那样很大很专业。」
Linux内核版本
- 1991年10月发布linux0.02版本
- 1993年发布linux0.99版本
- 1994年3月发布linux1.0版本,GPL协议
- 1994年加入GNU组织
- …
- 2021年最新稳定内核版本为:5.11.2(21年2月26日)-https://www.kernel.org
Linux的特点
- 开放性(遵循标准)
- 多用户
- 多任务
- 良好的用户界面
- 设备独立性(把外部设备当作文件处理)
- 丰富的网络功能
- 可靠的系统安全
- 良好的可移植性
自由软件简介
GNU计划
1983 年 Richard Stallman(自由软件业的精神教父) 创办 GNU(GNU’s not Unix)计划。开始于1984年,旨在建立一套完全自由的和可移植的类Unix操作系统
- http://www.gnu.org/
自由软件基金会
- GNU计划的赞助单位
- FSF(Free Software Foundation)提倡自由软件
- FSF自由使用权的三個意义:
- 可自由复制GNU的软件
- 可自由修改源代码
- 可自由散布修改过的源代码,但不得收取任何版权费用
GNU General Public License(大众公有版权/通用公共版权)
- 官方翻译:自由文件许可
- Copyleft(是copyright[版权]的反话,就是防止有人给自由软件的使用加上限制)
GPL核心思想: - 保证任何人有共享、修改、发布自由软件的自由
- 自由软件的衍生作品必须以GPL为重新发布的许可证
- 允许公司销售自由软件,提供源代码
在GPL条款下发布的主要GNU项目软件 - GCC
- G++
- GDB
- make
- Bash
- Emacs
- Gawk
linux版本
内核版本
Linux操作系统(kernel+utilities):专家才会用
内核版本号:由Linus等人制定和维护,全球统一
内核版本号格式:x.y.zz,x为主版本号,y为次版本号,zz为次次版本号。
次版本号为偶数的是稳定版本(内核的特性已经固定,代码运行稳定可靠,不再增加新的特性,要改进也只是修改代码中的错误),为奇数的是发展版本(旧规则,适用于2.6以下)。
Linux内核2.6+,第二个数字不再表示一个内核是稳定版本还是开发版本,所有发布出来的正式版本都是稳定版本
发行版本
Linux发行版(Distribution):整合更多配套软件,普通用户也能用
发行版本号:由各个发行公司或者组织自行制定,不同公司的发行版本号之间无可比性
- RedHat Linux
- Fedora
- CentOS
- Debian GNU/Linux
- Ubuntu
- Gentoo Linux
- SuSE Linux
- Arch Linux
- Kali Linux
- Linpus Linux
- Red Flag Linux(红旗Linux)
Linux 目录
Linux目录结构以目录的方式来组织和管理系统中的所有文件。以根目录“/”为起点,所有其他的目录都由根目录派生而来
- /bin:常用系统程序目录
- /boot:开机设定目录,也是摆放核心 vmlinuz 的地方
- /dev:摆放系统设备装置文件的目录
- /etc:系统配置文件,尤其 passwd, shadow
- /etc/rc.d/init.d:系統开机的時候载入服务的 scripts 的摆放地点
- /home:系统使用者的目录
- /lib:Linux 执行或编译程序函数库目录
- /mnt:软驱与光驱接入挂载的地方
- /proc:系统核心与执行程序的一些信息
- /root:系统管理员的目录
- /usr/bin, /bin:一般执行文件摆放的地方
- /usr/sbin, /sbin:系统管理员常用指令集
- /var:摆放系统日志文件的地方
- /lost+fount:摆放系统不正常产生错误时遗失的片段
Linux系统的运行级别(Run Level)
- 关机级别。
- 单用户运行级别,运行rc.sysinit和rc1.d目录下的脚本。
- 多用户,但系统不会启动Network File System(NFS),字符模式,在有些Linux系统中,级别2为默认模式,具有网络功能,如Ubuntu、Debian。
- 多用户,字符模式,系统启动具有网络功能,常用运行级别。
- 用户自定义级别。
- 图形界面模式,常用运行级别。
- 重启级别。
更改系统运行级别
- 临时
- init n或telinit n
-----n为级别号,root权限 - startx
-----启动图形化环境(需要安装图形化界面)
- 长期
- 修改配置文件 /etc/inittab(旧)
- systemctl set-default *.target
shutdown
halt
init
poweroff
reboot
- 不允许普通用户关机和重启
- 关机
shutdown –h now
init 0
halt -p
poweroff -p - 重启
shutdown -r now
init 6
reboot