Help:阅读

来自 Arch Linux 中文维基
(重定向自Help:Reading

由于对于 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

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