2017-01-25 10:17:16 +08:00
|
|
|
|
LFCS 命令行基础
|
|
|
|
|
=======================
|
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
本文中包含了很多命令行基础。我们将讨论 TeleTYpe(TTY)和几个命令及其选项。确保做完所有练习,并要知道,除非另有说明,对 CentOS 和 Ubuntu 都是相同的。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
### TTY
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
当没有图形用户界面(GUI)或当用户在 GUI 之外,Linux 就会使用 TTY。当打开终端窗口时也使用 TTY,但这些是不同类型的 TTY。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
有三种类型的 TTY:
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
|
|
|
|
1. 物理终端
|
|
|
|
|
2. 本地伪终端
|
|
|
|
|
3. 远程伪终端
|
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
基本上,每个 Linux 系统有大约六个或七个物理 TTY。 通过按住 `CTRL + ALT` 键,然后在 CentOS 按住 `F1` 到 `F6` ,而在 Ubuntu 中是 `F1` 到 `F7`。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
**注意:** 一些发行版可能有不同数量的 TTY 和不同的 GUI 默认位置。有点发行版可能有在物理 TTY 之间切换的不同组合键,如 `CTRL + F#` 或 `ALT + F#` ( LCTT 译注:`F#` 代表 F1、F2 等)。当使用 VirtualBox 时,除非您更改了主机键映射,请使用右 CTRL 键。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
在 CentOS 中,GUI 在 TTY1(`CTRL + ALT + F1`)上,其他物理 TTY 都是基于文本的。 在 Ubuntu 上,GUI 在 TTY7(`CTRL + ALT + F7`)上,其他物理 TTY 都是基于文本的。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
**注意:** 尝试在另一个 TTY 下加载 GUI 是不明智的,因为这可能耗用大量资源,但你可以这样做。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
当 Linux 启动时,不管是 CentOS 还是 Ubuntu,都会打开默认 TTY。如果安装了 GUI,对于 CentOS 是打开 TTY1,对于 Ubuntu 是打开 TTY7。如果你打开一个终端窗口(伪 TTY)并使用命令 `who`,你可以看到正在使用的 TTY 的列表。 如图 1 所示。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
![Figure 01.jpg](https://www.linuxforum.com/attachments/figure-01-jpg.93/)
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
*图 1*
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
在图 1 中,你可以看到我当前登录到 TTY1(非 GUI)。第二行连接显示我已登录到 GUI(TTY7)以及两个伪 TTY(PTS/1 和 PTS/2)。如图 2,你可以看到新条目显示了远程伪 TTY(PTS/3)。 远程伪连接来自 IP 地址为 192.168.0.11 的系统。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
![Figure 02.jpg](https://www.linuxforum.com/attachments/figure-02-jpg.94/)
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
*图 2*
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
可以使用诸如 PuTTY 或任何 SSH 的客户端(如果远程 Linux 系统上启用了 SSH)之类的应用程序进行远程 TTY 连接。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
如果终端窗口字体比较小,你可以使用 `CTRL + SHIFT` 键和 `+` 键来放大字体。多次按下可以更大。要缩小大小,请使用 `CTRL + SHIFT + -` 不断缩小。要使终端字体恢复为原始大小,请按下 `CTRL + SHIFT + 0`。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
**注意:** 请注意,如果字体已经足够大或足够小了,组合键就不再工作了。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
|
|
|
|
希望你现在已经了解各种类型的 TTY。让我们看看一些可以在 TTY 中使用的命令。
|
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
### 命令
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
其中一个命令前面已经讨论过了。命令 `who` 用于显示谁登录到了系统。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
另一个命令是 `pwd`。命令 `pwd` 代表“打印工作目录(Print Working Directory)”。该命令返回你所在的当前目录。例如,如果终端提示符是 `[jbuse@localhost〜]$`,则用户名为 `jbuse`,当前目录为 `〜`。波浪号(`〜`)代表用户的主文件夹。主文件夹应该是 `/home/USERNAME`。用户名是用于登录系统的名称。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
要列出当前文件夹的内容,请使用命令 `ls`。`ls` 命令代表 List。如果未指定任何选项,则列出当前文件夹。如果给出文件夹名称,则会列出该文件夹的内容。例如,要查看 `media` 文件夹的内容,你可以使用命令 `ls /media`。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
在 `ls` 命令后面我们可以添加一些选项以显示更多详细信息或特定详细信息。如果你想看到所有的文件夹和文件,即使是隐藏的,请使用选项 `-a`。要查看当前目录中的所有文件和文件夹,请使用命令 `ls -a`。隐藏的文件和文件夹将在名称前面显示一个句点(`.`)。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
要在每个文件夹名称后看到正斜杠(`/`),请使用 `-F` 选项。当前文件夹列表将是 `ls -F`。`-F` 用于按文件类型对文件进行分类。符号链接在文件夹名称后用 `@` 表示。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
你可以把这两个选项连在一起形成 `ls -aF`。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
**注意:** 一些选项可能有不同的大小写。选项区分大小写。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
另一个选项是显示长列表的 `-l`。示例输出如图 3 所示。文件夹和文件名称列在右侧。文件为白色,文件夹为深蓝色,符号链接为浅蓝色。如图 3 所示,符号链接 `vtrgb` 链接自 `/etc/alternatives/vtrgb` 。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
![Figure 03.jpg](https://www.linuxforum.com/attachments/figure-03-jpg.95/)
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
*图 3*
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
左侧的第一列是文件或文件夹的权限。第一个字母是 `d` 的为目录,是 `-` 的为文件。接下来的三个字母显示所有者的权限(`r` - 读、`w` - 写、`x` - 执行),后面是组权限以及“其他人”的权限。下一列数字显示指向文件或文件夹的链接数。再下一列是所有者名称,后面是所有组名称。再下一列是文件或文件夹在存储设备上占用的字节数。接下来的三列是文件上次修改的月份、日期和年份。最后一列是路径名。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
目前为止,你可以看到列表是按字母顺序排序。要颠倒从 “z” 到 “a” 而不是 “a” 到 “z” 的顺序,请使用 `-r` 选项。逆转选项 `-r` 使 ls 命令反转输出顺序。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
要按修改的时间戳列出文件,请使用 `-t` 选项。顺序是从最近修改到最早的修改日期。当然,在命令 `ls -tr` 中,同时使用 `-t` 和 `-r` 颠倒了顺序。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
如果你不喜欢看文件的长长的字节数,使用选项 `-h`。输出将会更易读,如显示 `4.0K` 而不是 `4096`。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
要获取单个文件夹的特定信息,请使用选项 `-d`,但必须指定该文件夹。例如,要查看文件夹 `/media` 的详细信息,请使用命令 `ls -ld /media`。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
另一个要熟悉的命令是命令 `cat`。命令 `cat` 用于将标准输入(文件)复制到标准输出(屏幕)。使用 `cat` 可以轻松地查看文件的内容。例如,要查看名为 `text` 的文件的内容,如果你与文件 `text` 在同一个文件夹中请使用命令 `cat text`。如果你不在同一个文件夹中,那么你必须指定位置。例如,如果文件 `text` 在文件夹 `/home/jarret/test/` 中,那么命令将是 `cat /home/jarret/test/text`。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
另一个非常有用的命令是 `man`。`man` 命令用于查看特定命令的文档。例如,要查看命令 `ls` 的帮助页面,请使用命令 `man ls`。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
**注意:** 记住,在 LFCS 考试中,你可以使用 `man` 命令。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
2017-01-28 00:53:48 +08:00
|
|
|
|
查看这些命令并测试它们以熟悉它们。使用 `man` 命令,查看本文中的命令以查看其他可用的选项。
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
via: https://www.linuxforum.com/threads/lfcs-command-line-basics.3334/
|
|
|
|
|
|
|
|
|
|
作者:[Jarret][a]
|
|
|
|
|
译者:[geekpi](https://github.com/geekpi)
|
2017-01-28 00:53:48 +08:00
|
|
|
|
校对:[wxy](https://github.com/wxy)
|
2017-01-25 10:17:16 +08:00
|
|
|
|
|
|
|
|
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|
|
|
|
|
|
|
|
|
[a]:https://www.linuxforum.com/members/jarret.268/
|