跳至内容

Unix/Linux 指南

来自维基教科书,开放世界中的开放书籍

Linux® 是一个 开源Unix®-like 内核和操作系统。内核本身的作者是 Linus Torvalds,再加上一个松散的程序员团队,他们在互联网上通过协作的方式对其进行改进。本页面简要概述了 Linux 内核和系统的主要功能,特别是在与其他类 Unix 系统的比较中。还有其他几本关于 Linux 的维基教科书,其中包含更多信息。

Linus Torvalds 建议一只企鹅之后,Larry Ewing ([email protected]) 使用 The GIMP 绘制了这张广受欢迎的 Tux 图像,它是 Linux 的吉祥物。Tux 现在也是一些 Linux 游戏的英雄。在 Unix 指南 中,“tux” 在示例机器上有一个帐户。
  • 发行版: 你实际获得、安装和运行的 Linux 系统是众多可用的 Linux 发行版 之一。Linux 发行版(或简称“发行版”)是 Linux 内核和应用程序以及一套用于安装和维护 Linux 系统的程序的捆绑包。
    • 发行版之间存在很大的差异,包括可用软件包、安装过程、首选桌面环境,甚至 Linux 内核配置。一些发行版针对不同的目标受众:可能是家庭用户、企业用户、自由软件 支持者、爱好者或某些应用程序的用户。
    • 通常,发行版以 CD 或 DVD 形式提供。可以将它们下载为 ISO 格式的原始磁盘映像并刻录。也可以以零售包装形式以低廉的价格购买 Linux 发行版。Live CD 或 DVD 允许用户从光盘启动并在 RAM 磁盘 而不是 硬盘 上运行 Linux。
    • 对操作系统的中立看法Linux 系统 进行了 比较
    • 维基百科有 Linux 发行版列表
  • 软件包: 一个完整的 GNU/Linux 操作系统使用来自 BSDX11GNU 和其他项目的许多自由软件(开源)软件包。也有一些非自由软件包,它们没有源代码,或者需要购买许可证。每个发行版都会决定提供哪些软件包。
  • 吉祥物: Linux 的官方吉祥物是 Tux,一只 Linux 企鹅。

Linux 核心

[编辑 | 编辑源代码]
  • 版权许可: Linux 内核及其源代码是在 GNU 通用公共许可证 下发布的。许多用户空间软件包也使用此许可证。如果你使用此许可证修改 Linux 或其他软件包,你可以重新分发你修改后的版本,但你必须使用相同的许可证,这意味着你必须提供源代码。每个 Linux 供应商都提供 Linux 源代码。
  • 独立开发: Linux 内核的开发和维护与用户空间分离。
    • 在大多数其他类 Unix 系统中,内核至少与基本实用程序集一起维护,其中将包括 shell、shell 实用程序、C 编译器、C 库、系统配置实用程序和系统引导脚本。
    • Linus Torvalds 和他的团队可以专注于内核(以及查询和配置内核的用户空间程序),并让其他团队独立开发用户空间系统。
    • 内核和用户空间都维护额外的兼容性,以便可以只更新内核,或者只更新某些用户空间软件包,例如 C 库。通常,Linux 发行版供应商会负责使更新正确安装。
  • 可定制内核: Linux 可能是最可定制的类 Unix 内核。甚至有几种方法可以在构建内核之前编辑内核配置。
    • 大多数 Linux 构建积极地使用模块(尽管使用模块是可选的)。模块允许单片内核的某些部分(例如设备驱动程序和网络协议实现)驻留在单独的文件中,按需加载并在未使用时卸载。
    • 许多系统安装了多个版本的 Linux 头文件,在/usr/include/linux-版本中。Linux 内核和某些用户空间软件(例如 C 库)都需要这些。在非 Linux 系统上,/usr/include/sys有时会有内核和用户空间共享使用的文件。
  • 特殊文件系统: Linux 有一些特殊的文件系统,这些文件系统不用于普通文件。
    • /proc保存有关正在运行的进程的信息。其他类 Unix 系统有时会提供 /proc,但它不像在 Linux 中那样重要。使用 /proc 的程序通常在移植到非 Linux 系统时会遇到麻烦。
    • /sys保存有关正在运行的内核的其他信息。
    • /dev通常是一个动态文件系统,其中设备节点会动态地出现和消失,当模块加载或卸载时,或者当设备连接或断开连接时。但是,你也可以只使用/dev包含静态设备节点,就像在其他类 Unix 系统上一样。

用户空间

[编辑 | 编辑源代码]
  • GNU 项目: GNU(GNU's Not Unix)项目创建了类 Unix 系统的 shell、核心命令、C 编译器和构建工具。然而,他们的内核,Hurd,从未运行良好,因此 GNU 鼓励用户使用 Linux 内核。
    • 几乎每个 Linux 发行版都使用这些程序,这使得它们成为“GNU 斜杠 Linux”发行版。但除了 GNU C 库和核心命令之外,许多 GNU 工具和应用程序也出现在其他类 Unix 系统上。事实上,*BSD 和 Mac OS X 就像 Linux 一样,依赖于 GNU C 编译器、汇编器和链接器。
    • GNU 项目始终坚持使用 GNU 通用公共许可证等许可证提供其软件包作为自由软件。
    • GNU 项目还与名为 GNOME(GNU 网络对象模型环境)的桌面环境有关。
  • /lib: 目录/lib存在于 Linux 上,并保存由/bin/sbin需要的库,因为/usr可能未挂载。
  • /usr: 你的 Linux 发行版提供的软件通常安装在/usr中,而不是/usr/local中。这样可以释放/usr/local适用于您的 Linux 发行版未提供的软件包。
  • 文本编辑器:大多数发行版都提供传统的 Unix 编辑器“vi”和“emacs”,但有些发行版默认情况下安装。即使“ed”也可能缺失。当 GNU “nano”是安装的非 X11 编辑器时,传统的 Unix 文本编辑技能不是必需的。
  • 软件包管理:大多数发行版都提供软件包管理系统,例如“apt”(高级软件包工具),“rpm”(Red Hat 软件包管理器)或 Portage。这些自动化软件包的安装和升级。应用程序软件包和基本系统软件包都使用此系统。软件包管理器通常是发行版之间最大的区别。
  • 图形用户界面:许多流行的 Linux 发行版现在在安装后立即将用户直接引导到桌面环境(GNOME 或 KDE,均基于 X11 窗口系统)。这与一些 Linux 发行版和大多数 *BSD 发行版形成对比,后者会在 root shell 提示符下让您进入,并期望您使用 root shell 提示符来安装 X11、GNOME 或 KDE(如果您需要的话)。
  • 源代码发行版:一些 Linux 发行版,例如 Gentoo,强调从源代码构建。虽然每个带有编译器的 Linux 发行版都让人有机会从源代码重新构建 Linux 内核和其他软件包,但这些源代码发行版提供了脚本,不仅可以自动化此过程,还可以帮助系统管理员进行自定义和优化。

Linux 管理

[编辑 | 编辑源代码]

目标:使 Linux 新手掌握必要的管理技能,以便熟练使用 Linux 环境。

Linux 命令和基本 Shell 技能

[编辑 | 编辑源代码]

系统管理

[编辑 | 编辑源代码]
  • 定义:Cron 是一个调度程序,它会以一定的时间间隔自动执行一组命令。
  • 配置文件
    • 1. /etc/crontab - 主配置文件
    • 2. /etc/cron.d/ - 基于用户的配置

服务器管理

[编辑 | 编辑源代码]

Linux 安全

[编辑 | 编辑源代码]

桌面 Linux

[编辑 | 编辑源代码]
[编辑 | 编辑源代码]

适用于 Linux 的 Wikibooks

[编辑 | 编辑源代码]

Wikibooks 在其Linux 部分的计算书架上有几本关于 Linux 的其他书籍。以下是一些示例

此外,一些书籍有关于 Linux 的章节

[编辑 | 编辑源代码]
[编辑 | 编辑源代码]

另请参见

[编辑 | 编辑源代码]
华夏公益教科书