說明:閱讀

出自 Arch Linux 中文维基

由於對於 Arch Linux(或 GNU/Linux)的新用戶來說,絕大多數 ArchWiki 包含的指示可能需要澄清,因此本文通過解釋一些基本操作,以避免理解文章時的困惑,並阻止內容本身的重複。

組織結構[編輯 | 編輯原始碼]

ArchWiki 上的頁面大多不是要對某個話題進行面面俱到的描述;它們遵守 DRY 的原則,假定用戶會查閱相關資料以便把不懂的部分弄懂。頁面中會儘可能地以特殊格式指出相關資料,請參閱#格式

由於這樣的組織結構,要看懂一個頁面,可能需要查閱數個相關資料。特別需要注意的是,Arch(或 GNU/Linux)的新用戶為了解決一個簡單的問題很可能會閱讀許多頁面。在向其他用戶尋求幫助之前,一定要閱讀相關資料。

格式[編輯 | 編輯原始碼]

一般用戶還是 root 用戶[編輯 | 編輯原始碼]

有些命令是這樣的:

# mkinitcpio -p linux

另外一些命令是這樣的:

$ makepkg -s

井號(#)表示命令要以 root 權限執行,而美元符號($)表示命令用一般用戶權限執行。

注意:sudo -i 可以進入 root 終端,在普通終端中使用sudo command也能讓command以 root 權限執行,但是這個方式不支持 重定向替代。詳情參閱sudo

注意有時候 # 表示文件中的注釋:

# 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英語command-line shell,使用腳本來進行配置:修改配置文件之後,需要使用「source」命令來應用這些修改。以 bash 為例,執行以下命令(也可以把 source 換成 .):

$ source ~/.bashrc

當 ArchWiki 建議修改某些配置文件時,它一般不會明確提醒你「source」這個文件,只有某些情況下會給出到本節的鏈接。

安裝軟件包[編輯 | 編輯原始碼]

提示:「安裝」重新導向至此。關於「安裝 Arch Linux 系統」的內容,參見安裝指南

絕大部分文章僅是給出軟件包的名字,不會列出詳細的軟件包安裝命令。

下面介紹一下通用的軟件包安裝方式。

官方軟件包[編輯 | 編輯原始碼]

如果軟件包位於官方軟件倉庫,在 Wiki 內一般會這麼表述要求安裝軟件包:

Install the foobar package.
安裝 foobar 軟件包。

這意味着需要執行:

# pacman -S foobar

pacman 包含了 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)、「重啟」(restart)systemd 單元(例如:服務),不會列出詳細的命令。你會看見類似這樣的說明:

啟動 example.service.

這意味着你需要執行

# systemctl start example.service

注意daemon-reload命令並不完全遵循這種模式,它的調用不帶參數(參見systemd#使用單元)。

systemd 頁面包含了如何管理 systemd 單元的詳細介紹。

全局配置和用戶配置[編輯 | 編輯原始碼]

請記住,GNU/Linux 有兩種類型的配置。「全局」配置影響所有用戶。全局配置文件一般位於 /etc 目錄,修改它們需要 root 權限。例如,要修改所有用戶的 Bash 設置,修改 /etc/bash.bashrc 文件。

「用戶」配置僅影響一個用戶。文件名以 . 開頭的文件(dotfiles,例如 ~/.bashrc)是用戶配置文件。每個用戶都可以定義他們自己的設置(別名、函數、命令提示符等)而不影響其他用戶。

注意: ~/$HOME 是用戶主目錄的簡寫,一般是 /home/用戶名/

Shell 通用配置文件[編輯 | 編輯原始碼]

Bash 和其他與 Bourne shell 兼容的 shell(如 Zsh (簡體中文)),會根據是 「login shell」 還是 「interactive 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

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