帮助:阅读 - Arch Linux 中文维基

跳转到内容

# 帮助:阅读

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Help:Reading，最近一次同步于 2026-02-17，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

相关文章

- Help:浏览
- Help:风格

由于对于 Arch Linux（或 GNU/Linux）的新用户来说，绝大多数 ArchWiki 包含的指示可能需要澄清，因此本文通过解释一些基本操作，以避免理解文章时的困惑，并阻止内容本身的重复。

## 组织结构

ArchWiki 上的页面大多不是要对某个话题进行面面俱到的描述；它们遵守 DRY 的原则，假定用户会查阅相关资料以便把不懂的部分弄懂。页面中会尽可能地以特殊格式指出相关资料，请参阅#格式。

由于这样的组织结构，要看懂一个页面，可能需要查阅数个相关资料。特别需要注意的是，Arch（或 GNU/Linux）的新用户为了解决一个简单的问题很可能会阅读许多页面。在向其他用户寻求帮助之前，一定要阅读相关资料。

## 格式

- 链接到当前文章中的某一部分：#组织结构
- 链接到另一篇 ArchWiki 文章
- 链接到外部网页
- 链接到手册页：intro(1)
- 只能离线阅读的手册页：foo(1)
- 链接到官方软件仓库中的包：foobar包
- 链接到 AUR 中的包：foobarAUR

## root 用户、一般用户或另一用户

有些命令是这样的:

    # mkinitcpio -p linux

另外一些命令是这样的：

    $ makepkg -s

井号(`#`)表示命令要以 root 权限执行，而美元符号(`$`)表示命令用一般用户权限执行。

注意：用 `sudo -i` 可以进入 root 终端，在普通终端中使用`sudo command`也能让`command`以 root 权限执行，但是这个方式不支持 重定向 和 替代。详情参阅sudo#Login shell。

当命令需要以特定用户身份运行时，命令前面会加上带方括号的用户名，例如：

    [postgres]$ initdb -D /var/lib/postgres/data

这表示你需要使用提权工具，如sudo：

    $ sudo -u postgres initdb -D /var/lib/postgres/data

注意有时候 # 表示文件中的注释：

    # This alias makes ls colorize the listing
    alias ls='ls --color=auto'

在这个例子中，上下文表明这不是命令，而是需要加入到文件的一部分。在这种情况下，井号表示一个“注释”。注释是解释性的文字，它不会被执行。Bash 脚本的注释符号和 root 的命令提示符相同。

此外，通常包含大写字母的文字都是注释，而 Unix 命令通常是简短的缩写（例如，“Copy”被缩写成“cp”）。

当然，大部分文章都会指明这一点：

向 `~/path/to/file` 添加：

    # This alias makes ls colorize the listing
    alias ls='ls --color=auto'

## 添加、创建、编辑文件

当提到“添加”（append to、add to）、“创建”（create）、“编辑”（edit）一个或几个文件，这就表示你应该用以下的某种方法。

推荐使用文本编辑器来创建或修改多行的文件，例如用 nano 命令来编辑文件 `/etc/bash.bashrc`：

    # nano /etc/bash.bashrc

注意：文本文件必须以换行符结束，因为一行是由换行符终止的。大多数文本编辑器会默认在文件末尾插入结尾换行符。

要创建包含简短文本的文件或者覆盖已有的文件，输出重定向是最简单的。下面的命令演示了如何用文本 `myhostname` 创建或覆盖 `/etc/hostname`。

    # echo myhostname > /etc/hostname

输出重定向也可以用来向一个文件追加（append）文本。下面的命令演示了如何向 `/etc/pacman.conf` 追加文本 `[custom-repo]`。

    # echo "[custom-repo]" >> /etc/pacman.conf

要创建目录，用 mkdir 命令：

    # mkdir /mnt/boot

### 添加可执行权限

在创建文件之后，如果这是一个要运行的脚本（手动运行或被其他程序调用），就需要把他设为“可执行”：

    $ chmod +x script

参阅 chmod。文件管理器等应用程序可能会提供一个图形界面完成相同的事情。

## Source

有些程序，特别是命令行解释器（shell），使用脚本来进行配置：修改配置文件之后，需要使用“source”命令来应用这些修改。以 bash 为例，执行以下命令（也可以把 `source` 换成 `.`）：

    $ source ~/.bashrc

当 ArchWiki 建议修改某些配置文件时，它一般不会明确提醒你“source”这个文件，只有某些情况下会给出到本节的链接。

## 安装软件包

提示：“安装”重定向至此。关于“安装 Arch Linux 系统”的内容，参见安装指南。

绝大部分文章仅是给出软件包的名字，不会列出详细的软件包安装命令。

下面介绍一下通用的软件包安装方式。

### 官方软件包

如果软件包位于官方软件仓库，在 Wiki 内一般会这么表述要求安装软件包：

  Install the foobar包 package.
  安装 foobar包 软件包。

这意味着需要执行：

    # pacman -S foobar

pacman 和 pacman(8) 包含了 Arch 软件包管理的详细内容。

### Arch 用户仓库(AUR)

如果软件包来自 AUR，你会看到下面内容：

  Install the foobarAUR package.
  安装foobarAUR软件包。

这意味这您需要打开foobarAUR 链接，下载 PKGBUILD，解压，验证内容，然后在文件目录执行：

    $ makepkg -sri

注意：从 AUR 或Arch 构建系统构建软件包需要安装 base-devel包 元包。

Arch 用户软件仓库 (AUR) 包含了 AUR 软件包的详细信息。

### [archlinuxcn] 仓库

如果软件包来自 [archlinuxcn] 仓库，你会看到下面的样子：

  安装 archlinuxcn-keyringCNRepo 软件包。

这意味着你需要添加 [archlinuxcn] 仓库之后再使用 pacman 进行安装。

## 控制 systemd 单元

绝大部分文章仅仅要求你“启动”（start）、“启用”（enable）、“停止”（stop）、“禁用”（disable）、“重启”（restart）systemd 单元（例如：服务），不会列出详细的命令。你会看见类似这样的说明：

  启动 `example.service`.

这意味着你需要执行

    # systemctl start example.service

注意 daemon-reload 命令并不完全遵循这种模式，它的调用不带参数。

systemd#使用单元 章节包含可用操作的结构化列表（如启动 (`start`) 、启用 (`enable`) 、启用并启动 (`enable --now`) 等），以及相应的 systemctl 命令。

## 全局配置和用户配置

请记住，GNU/Linux 有两种类型的配置。“全局”配置影响所有用户。全局配置文件一般位于 `/etc` 目录，修改它们需要 root 权限。例如，要修改所有用户的 Bash 设置，修改 `/etc/bash.bashrc` 文件。

“用户”配置仅影响一个用户。文件名以 `.` 开头的文件（dotfiles，例如 `~/.bashrc`）是用户配置文件。每个用户都可以定义他们自己的设置（别名、函数、命令提示符等）而不影响其他用户。

注意：`~/` 和 `$HOME` 是用户主目录的简写，一般是 `/home/用户名/`。

### Shell 通用配置文件

Bash 和其他与 Bourne shell 兼容的 shell（如 Zsh），会根据是 “登录 shell” 还是 “交互式 shell” 来执行相应的配置文件。参阅 Bash#配置文件和 Zsh#启动/关闭文件。

## 示例代码中的伪变量

一些代码块包含“伪变量”，顾名思义，这不是代码中使用的真正的变量。它们只是代码中的占位符，需要在执行或解释之前根据特定的系统配置进行手动替换。Bash 和 Zsh 这类终端提供 Tab 补全功能以补全 `systemctl` 之类的命令。

根据 Help:Style/Formatting and punctuation，伪变量使用斜体。例如：

- 对 `ip link` 命令输出的网卡名称，启动 `dhcpcd@interface_name.service`。

在这里，伪变量 `interface_name` 是一个 systemd 模板单元的占位符。所有的 systemd 模板单元（带有 `@` 标记）都需要特定系统的名称作为参数。参阅 Systemd#使用单元。

- 以 root 运行命令 `dd if=data_source of=/dev/sdX bs=sector_size count=sector_number seek=partitions_start_sector` 用特定参数来清空一个分区。

在这里，伪变量表示该参数需要被替换。具体怎么替换在安全擦除磁盘#通过计算块数手动擦除（英语：Securely wipe disk#Calculate blocks to wipe manually）有详细描述。

警告：不要执行上面的 `dd` 命令，这个命令会清除硬盘上的相应扇区。——译者注

这篇文章的某些内容需要扩充。

原因：Mention other examples, ideally from other device categories (e.g. storage), with links to background articles. The examples are meant to avoid duplicating existing explanations in other articles. (在 Help talk:阅读 中讨论)

在配置文件中，如果直接将带伪变量的代码粘贴进去，可能会导致程序出错。

### 省略

省略号（`...`）一般不是文件内容或命令输出的一部分，它们代表和主题关系不大的文字。

例如，`HOOKS=(... encrypt ... filesystems ...)` 或者：

    /etc/X11/xorg.conf.d/50-synaptics.conf

    Section "InputClass"
        ...
        Option      "CircularScrolling"          "on"
        Option      "CircScrollTrigger"          "0"
        ...
    EndSection

请注意，在少数情况下，省略号可能是代码的一部分。细心的用户很容易根据上下文来辨别。

分类：​

- 帮助

帮助:阅读
添加话题