Chapter 1 - 初识 Linux shell

1.1 什么是 Linux

Linux 可以划分为四个部分:

  1. Linux 内核
  2. GNU 工具
  3. 图形化桌面软件
  4. 应用软件

1.1.1 深入探究 Linux 内核

内核主要负责以下四种功能:

  • 系统内存管理
  • 软件程序管理
  • 硬件设备管理
  • 文件系统管理

Linux 系统将硬件设备划分为三种:

  • 字符型设备文件:每次只能处理一个字符的设备。
  • 块设备文件:每次能处理大块数据的设备,比如硬盘。
  • 网络设备文件:采用数据包发送和接受数据的设备,包括各种网卡和一个特殊的回环设 备。这个回环设备允许 Linux 系统使用常见的网络编程协议同自身通信。

1.1.2 GNU 工具

除了由内核控制硬件设备外,操作系统还需要工具来执行一些标准功能,比如控制文件和 程序。

GNU 组织(GNU’s Not Unix)开发了一套完整的 Unix 工具,但没有可以运行它们的内核系统。

将 Linus 的 Linux 内核和 GNU 操作系统工具整合起来,就产生了一款完整的、功能丰富的免费操作系统。

尽管通常将 Linux 内核和 GNU 工具的结合体称为 Linux,但你也会在互联网上看到一些 Linux 纯粹主义者将其称为 GNU/Linux 系统,藉此向 GNU 组织所作的贡献致意。

1. 核心 GNU 工具

GNU 项目的主旨在于为Unix系统管理员设计出一套类似于 Unix 的环境。这个目标促使该项目移植了很多常见的 Unix 系统命令行工具。供 Linux 系统使用的这组核心工具被称为 coreutils(core utilities)软件包。

2. shell

GNU/Linux shell 是一种特殊的交互式工具。它为用户提供了启动程序、管理文件系统中的文 件以及运行在 Linux 系统上的进程的途径。shell 的核心是命令行提示符。命令行提示符是 shell 负责交互的部分。它允许你输入文本命令,然后解释命令,并在内核中执行。

1.2 Linux 发行版

到此为止,你已经了解了构成完整 Linux 系统所需要的4个关键部件,那你可能在考虑要怎样 才能把它们组成一个 Linux 系统。幸运的是,已经有人为你做好这些了。

我们将完整的 Linux 系统包称为发行版。有很多不同的 Linux 发行版来满足可能存在的各种运算需求。

不同的 Linux 发行版通常归类为 3 种:

  • 完整的核心 Linux 发行版:如 Slackware,Red Hat,Fedora…
  • 特定用途的发行版:如 CentOS,Ubuntu,Mint…
  • LiveCD 测试发行版:从 CD 启动的发行版。