2.2. 绝对基础

2.2.1. 命令

这些是我们入门所需掌握的速查命令;我们将在后面更详细地讨论它们。

表 2-1. 快速入门命令

命令含义
ls

显示当前工作目录中的文件列表,类似于 DOS 中的 dir 命令

cd目录

更改目录

passwd更改当前用户的密码
file文件名显示具有指定名称的文件的文件类型文件名
cat文本文件将内容输出到文本文件屏幕上
pwd显示当前工作目录
exitlogout退出当前会话
man命令阅读关于 command 的 man 手册页
info命令阅读关于 command 的 Info 信息页
apropos字符串whatis 数据库中搜索字符串

2.2.2. 一般说明

在提示符后,在图形模式或文本模式的终端窗口中键入这些命令,然后按 Enter 键。

命令可以单独执行,例如 ls。当您指定一个选项时,命令的行为会有所不同,选项通常以短划线 (-) 开头,如 ls -a 所示。同一个选项字符在不同的命令中可能有不同的含义。GNU 程序接受长选项,长选项以两个短划线 (--) 开头,例如 ls --all。有些命令没有选项。

命令的参数是对您希望命令生效的对象(们)的规范。例如 ls /etc,其中目录/etcls 命令的参数。这表示您想查看该目录的内容,而不是默认的当前目录的内容,默认内容可以通过只键入 ls 后跟 Enter 获得。有些命令需要参数,有时参数是可选的。

您可以通过查看该命令的在线帮助来了解命令是否接受选项和参数,以及哪些选项和参数是有效的,请参阅 第 2.3 节

在 Linux 中,与 UNIX 一样,目录使用正斜杠分隔,就像 Web 地址 (URL) 中使用的那样。我们将在后面深入讨论目录结构。

符号 . 和 .. 在涉及目录时具有特殊含义。我们将在练习中尝试找出这些含义,并在下一章中详细介绍。

尽量避免使用或以系统管理员帐户 root 登录。除了进行日常工作外,大多数任务,包括检查系统、收集信息等,都可以使用没有任何特殊权限的普通用户帐户执行。如果需要,例如在创建新用户或安装新软件时,获取 root 访问权限的首选方法是切换用户 ID,有关示例,请参阅 第 3.2.1 节

本书中的几乎所有命令都可以在没有系统管理员权限的情况下执行。在大多数情况下,当以非特权用户身份发出命令或启动程序时,当需要 root 访问权限时,系统会警告您或提示您输入 root 密码。完成后,立即退出提供 root 权限的应用程序或会话。

阅读文档应该成为您的第二天性。尤其是在开始时,阅读系统文档、基本命令手册、HOWTO 等非常重要。由于文档数量非常庞大,因此不可能包含所有相关文档。本书将尝试引导您阅读关于所讨论的每个主题的最合适的文档,以培养阅读 man 手册页的习惯。

2.2.3. 使用 Bash 功能

许多特殊的按键组合使您可以使用 GNU shell Bash 更轻松快捷地完成操作,Bash 是几乎所有 Linux 系统上的默认 shell,请参阅 第 3.2.3.2 节。下面列出了最常用的功能;强烈建议您养成使用它们的习惯,以便从一开始就充分利用您的 Linux 体验。

表 2-2. Bash 中的按键组合

按键或按键组合功能
Ctrl+A将光标移动到命令行开头。
Ctrl+C结束正在运行的程序并返回提示符,请参阅 第 4 章
Ctrl+D注销当前 shell 会话,等同于键入 exitlogout
Ctrl+E将光标移动到命令行末尾。
Ctrl+H生成退格字符。
Ctrl+L清除此终端。
Ctrl+R搜索命令历史记录,请参阅 第 3.3.3.4 节
Ctrl+Z挂起程序,请参阅 第 4 章
ArrowLeftArrowRight将光标在命令行上向左或向右移动一个位置,以便您可以在开头和结尾之外的其他位置插入字符。
ArrowUpArrowDown浏览历史记录。转到您想要重复的行,必要时编辑详细信息,然后按 Enter 键以节省时间。
Shift+PageUpShift+PageDown浏览终端缓冲区(查看已“滚动出”屏幕的文本)。
Tab 键命令或文件名补全;当有多个选择时,系统将发出声音或视觉提示,或者,如果选择太多,则会询问您是否要查看所有选择。
Tab Tab显示文件或命令补全的可能性。

上面表格中的最后两项可能需要一些额外的解释。例如,如果您想进入目录directory_with_a_very_long_name,您不会键入那么长的名称,不。您只需在命令行中键入 cd dir,然后按 Tab 键,shell 就会为您补全名称,前提是没有其他文件以相同的三个字符开头。当然,如果没有其他以 “d” 开头的项目,那么您也可以只键入 cd d,然后按 Tab 键。如果有多个文件以相同的字符开头,shell 会向您发出信号,此时您可以短时间内按两次 Tab 键,shell 会显示您拥有的选择

your_prompt> cd st
starthere	 stuff		stuffit

在上面的示例中,如果您在前两个字符后键入 “a” 并再次按 Tab 键,则不会留下其他可能性,并且 shell 会补全目录名称,而无需您键入字符串 “rthere”

your_prompt> cd starthere

当然,您仍然需要按 Enter 键来接受此选择。

在同一个示例中,如果您键入 “u”,然后按 Tab 键,shell 将为您添加 “ff”,但随后它会再次提示,因为有多种选择可能。如果您再次键入 Tab Tab,您将看到这些选择;如果您键入一个或多个字符,使系统能够明确选择,并再次按 Tab 键,或者当您到达要选择的文件名末尾时按 Enter 键,shell 会补全文件名并将您更改到该目录中 - 如果它确实是一个目录名。

这适用于作为命令参数的所有文件名。

命令名称补全也是如此。键入 ls,然后按两次 Tab 键,将列出您的PATH(请参阅 第 3.2.1 节)以这两个字符开头的所有命令

your_prompt> ls
ls           lsdev        lspci        lsraid       lsw
lsattr       lsmod        lspgpot      lss16toppm
lsb_release  lsof         lspnp        lsusb