說明:閱讀 - 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

請注意，在少數情況下，省略號可能是代碼的一部分。細心的用戶很容易根據上下文來辨別。

分類：​

- 幫助

說明:閱讀
新增話題