鸟哥私房菜:命令初识

计算机与操作系统知识要点解析
在计算机技术不断发展的今天,深入了解计算机组成、操作系统相关知识,对我们更好地使用和探索计算机世界有着重要意义。接下来,就让我们一同深入探讨这些知识要点,这也是对鸟哥的私房菜课后题回答的整理。
一、计算机概论基础
1. 计算机组成的五大单元
计算机组成的五大单元分别是运算器、控制器、存储器、输入设备和输出设备。运算器负责算术运算和逻辑运算;控制器是计算机的指挥中心,控制各部件协调工作;存储器用于存储数据和程序;输入设备将外部信息转换为计算机能接受的形式;输出设备则把计算机处理的结果以人们能识别的形式输出。
2. CPU 主要包含的单元
CPU 主要包含运算器和控制器这两个单元。运算器执行具体的运算操作,控制器则根据指令的要求,协调和控制计算机各部件的工作,二者协同工作,使得 CPU 能够高效地处理各种任务。
3. I/O bound 与 CPU bound
I/O bound 指的是输入 / 输出受限,意味着在这种情况下,计算机系统的性能瓶颈在于输入 / 输出设备,即输入输出设备部分比较忙碌。例如,当程序需要频繁地从硬盘读取大量数据或向硬盘写入大量数据时,硬盘的读写速度较慢,导致整个系统的运行速度受到限制,此时系统处于 I/O bound 状态。
CPU bound 则是指 CPU 受限,表明系统的性能瓶颈在于 CPU,即 CPU 单元比较忙碌。比如在进行复杂的科学计算、图形渲染等任务时,CPU 需要进行大量的计算工作,若 CPU 性能不足,就会使任务处理速度缓慢,系统处于 CPU bound 状态 。
4. 物品、汇流排相关速度
- DDR5 5600:DDR5 5600 的数据传输速率为 5600 MT/s(Mega Transfers per second,每秒百万次传输)。由于每个传输周期传输 2 字节数据(DDR 技术的特性),其理论频宽的传输速度为 5600×2÷8 = 14000 Mbytes/s。
- SSD SATA 3:SATA 3 的理论最大传输速率为 6 Gbps(Gigabits per second,每秒吉比特),换算成 Mbytes/s 为 6×1024÷8 = 768 Mbytes/s。不过,实际的 SSD SATA 3 硬盘受多种因素影响,其实际传输速度会低于这个理论值。
- 使用 4x PCE - E 4.0 的 NVMe M2 固态硬盘:PCIe 4.0 每个通道的带宽为 16 Gbps,4 个通道则为 4×16 = 64 Gbps,换算成 Mbytes/s 为 64×1024÷8 = 8192 Mbytes/s 。
- USB4:USB4 的理论带宽最高可达 40 Gbps,换算成 Mbytes/s 为 40×1024÷8 = 5120 Mbytes/s 。
5. 提升传统网络服务器效能的方法
对于一般传统网络服务器,大多是 I/O bound。为了让此服务器效能较好:
- (a) 加大元件:加大内存。更大的内存可以缓存更多的数据,减少对磁盘 I/O 的依赖,提高数据的读取和写入速度。
- (b) 加快元件:加快硬盘读写速度,例如使用性能更好的 SSD 硬盘替换传统的机械硬盘,或者采用磁盘阵列技术提高存储系统的 I/O 性能 。
6. 消费性市场常用的 CPU 类型
- (a) 台式电脑:台式电脑常用的 CPU 类型主要是 Intel 的 x86 架构 CPU 和 AMD 的 x86 架构 CPU。这两种 CPU 在性能和性价比方面各有优势,广泛应用于台式电脑领域。
- (b) 手机:手机常用的 CPU 主要是基于 ARM 架构的 CPU。ARM 架构具有低功耗、高性能的特点,非常适合移动设备的使用场景,像高通骁龙系列、联发科天玑系列、苹果的 A 系列等手机 CPU 都采用 ARM 架构 。
二、Unix 基础
1. Oracle Solaris、GNOME、POSIX、SPARC 工作站所属层次
- Oracle Solaris:是一种操作系统,属于系统软件层,它基于 Unix 技术开发,提供了强大的系统管理、网络服务和应用程序支持功能。
- GNOME:是一个桌面环境,属于应用层软件。它为用户提供了图形化的操作界面,方便用户与操作系统进行交互,包含了各种应用程序和工具。
- POSIX:是一种标准,不属于具体的软件或硬件层,它定义了操作系统的接口标准,旨在实现不同操作系统之间的兼容性和可移植性 。
- SPARC 工作站:属于硬件层,是一种基于 SPARC 架构的计算机硬件设备,可以运行 Unix 等操作系统。
2. 编写第一版 Unix 操作系统的黑客
贝尔实验室的肯・汤普逊(Ken Thompson)和丹尼斯・里奇(Dennis Ritchie)用 C 编写了第一版的 Unix 操作系统。他们的这一成果对计算机操作系统的发展产生了深远的影响,C 语言和 Unix 操作系统的结合也为后来众多软件和操作系统的开发奠定了基础 。
3. 支持 x86 个人电脑的 Unix 版本
从 Unix System V 版本开始,Unix 终于可以支持 x86 个人电脑。这使得 Unix 操作系统能够在更广泛的硬件平台上运行,扩大了其应用范围。
4. “自由软件之父” 及 “自由软件” 授权名称
理查德・斯托曼(Richard Stallman)是 “自由软件之父”。“自由软件” 对应的授权名称是 GNU 通用公共许可证(GNU General Public License,GPL) 。GPL 许可证规定了自由软件的使用、修改和分发的规则,保障了用户自由使用、修改和分享软件的权利。
5. 纯种的 UNIX 系统
我们开玩笑说的纯种的 UNIX 系统,指的是 Solaris 和 AIX 这两个操作系统。它们在 Unix 系统家族中具有较高的专业性和稳定性,广泛应用于企业级服务器和大型系统中。
三、Linux 基础
1. Linux 参考的 Unix - like 系统
Linus Torvalds 是参考 Minix 这个 Unix - like 的系统而撰写 Linux 的。Minix 是一个用于教学目的的小型操作系统,Torvalds 在其基础上,结合自己的想法和需求,开发出了具有强大功能和高度可定制性的 Linux 操作系统 。
2. 三种以上的开源授权
- GNU 通用公共许可证(GPL):如前面提到的,它保障了用户自由使用、修改和分享软件的权利,并且要求基于 GPL 许可证的软件在分发时也必须使用 GPL 许可证。
- MIT 许可证:相对宽松,允许他人自由使用、修改和分发软件,只需在软件的副本中包含原版权声明和许可声明即可 。
- Apache 许可证:同样较为宽松,允许商业使用、修改和分发,并且对专利授权等方面有明确的规定,保障了软件开发者和使用者的权益 。
3. Linux 发行版包含的四个元件
Linux 发行版大概包括 Linux 内核、系统库、系统工具和桌面环境这四个元件。Linux 内核是操作系统的核心,负责管理硬件资源、提供进程管理、内存管理等功能;系统库提供了各种函数和工具,供应用程序调用;系统工具用于系统的安装、配置、维护等操作;桌面环境则为用户提供了图形化的操作界面 。
4. Raspbian 基于的 Linux 发行版
Raspberry Pi 的主要操作系统名称为 Raspbian,这个操作系统是基于 Debian Linux distribution 改版而来。Debian 以其稳定性和丰富的软件包资源而闻名,Raspbian 在继承 Debian 优点的基础上,针对 Raspberry Pi 的硬件特点进行了优化和适配 。
四、RockyLinux 9 的基本操作
1. 查询目录下文件的指令
除了使用图形界面的文件管理器之外,若要查询 /home/student 底下有哪些文件(列出目录下文件名),在终端机可以使用 ls /home/student
指令。即使不在 student 的家目录底下,通过指定完整路径也能实现文件列表的查询 。
2. 列出所有隐藏文件的指令及参数
想要列出所有隐藏文件的文件名时,可以使用 ls -a /home/student
命令。其中,-a
选项表示列出所有文件,包括以点(.)开头的隐藏文件 。
3. 进入不同终端界面的组合按键
在默认情况,可以使用 Ctrl + Alt + F[数字]
组合按键来进入不同的终端界面(TTY)。例如,要进入 tty4 ,则使用 Ctrl + Alt + F4
组合按键 。
4. 终端机提示字符中 $ 与 #的含义
终端机的提示字符中,最后一个字符是 $ 代表普通用户身份登录;而 #则代表 root 用户(超级用户)身份登录。root 用户具有最高的系统权限,可以对系统进行各种配置和管理操作 。
5. ~ 符号的意义及 student 与 root 的~位置
终端机的提示字符内,『~』符号代表用户的家目录。对于 student 用户来说,其~目录在 /home/student;而对于 root 用户,其~目录在 /root 。
6. 查询历史命令的指令
想要查询自己输入的历史命令,可以使用 history
指令。该指令会列出用户在当前会话中输入过的所有命令,方便用户查看和重复使用之前的命令 。
7. clear 指令的效果
在终端机界面中输入『clear』会清除当前终端屏幕上显示的内容,使终端界面看起来更加整洁,方便用户继续输入新的命令和查看输出结果 。
8. 查询当前在线登录者的指令
在终端机查询当前在线登录者,可以使用 who
指令。该指令会显示当前登录系统的所有用户的用户名、登录终端、登录时间等信息 。
9. 离开终端机的指令或组合按键
登录获取终端机后,要离开终端机可以使用 exit
指令,或者使用 Ctrl + D
组合按键 。
10. 关机 Linux 的命令
在终端机中想要关机 Linux 时,可以用 root 身份执行 shutdown -h now
命令,该命令会立即关闭系统;也可以使用 poweroff
命令,同样能实现关机操作 。如果是网络端远程操作,则会提示没有权限无法关机。