上半部分主要是计算机方面的介绍,这部分会对Linux的大体框架展现出来。
发展简史
- 1969年,Unix诞生于贝尔实验室2.1984年,贝尔实验室将Unix商业化
- 1984年,Tanenbaum 开发 Minix操作系统用于教学并开放源码
- 1984年,Richard M. Stallman发起自由软件(FSF)与GNU项目,起草GPL(通用公共许可)协议
- 1991年,Linus Torvalds 受Minix影响实现初版的Linux 内核6.1992年,Linux内核以GPL协议发行V1.0
版本
Linux版本包括内核版本和发行版本,有许多系列以及对应的一些版本,比如说Debian。
可使用 cat /proc/version 查看 Linux 内核版本,以及 cat /etc/os-release 查看 Linux 系统版本。
应用领域
- IT服务器(操作系统、虚拟化和云计算)嵌入式和智能设备
- 个人办公桌面
- 学术研究与软件研发
感觉目前还是 1, 3 应用的多一点吧,个人办公因为生态问题还是欠了一点。
系统结构
系统一般分为 内核、shell、文件系统和应用程序。
课程给出了一张图来表征 Linux 体系结构,其中内核是最重要的,
内核是硬件与软件之间的中间层,是一个资源管理程序,并提供一组面向系统的命令。
体系结构子目录都包含许多其他子目录,这些子目录专注于内核的特定方面,如引导、内核、内存管理。有关目录方面,后面会详细讲到~
进程是正在执行的一个程序或命令,有自己的地址空间并占用系统内存(因而系统需要进行内存调度),进程具有 PID。
可以使用 ps -ef|grep nginx 查看进程;此外还有 top, kill 等命令。
“一切皆文件”,Linux的这个特点的好处是开发者仅需要使用一套 API 和开发工具即可调取绝大部分资源。如读写操作可以完成绝大部分的操作。
在Linux中,用户组分为标准组和私有组,区别是前者可以容纳多个用户,而后者只有用户自己。用户账户分为普通和超级(root),这样可以防止权限滥用吧。
因而,对应的有文件权限,如 drwxr-xr-x。
包管理
底层包管理工具包括 DPKG, RPM,用来处理安装和删除软件包文件等任务; 上层包管理工具包括 APT, YUM, DNF,用于数据的搜索和依赖解析任务。
此外,课程给出了许多命令,此处不再赘述。