mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-07 22:11:09 +08:00
179 lines
7.2 KiB
Markdown
179 lines
7.2 KiB
Markdown
|
LFCS第十二讲: 如何使用Linux的帮助文档和工具
|
|||
|
==================================================================================
|
|||
|
|
|||
|
由于 2016 年 2 月 2 号开始启用了新的 LFCS 考试要求, 我们在[LFCS series][1]系列添加了一些必要的内容 . 为了考试的需要, 我们强烈建议你看一下[LFCE series][2] .
|
|||
|
|
|||
|
![](http://www.tecmint.com/wp-content/uploads/2016/03/Explore-Linux-with-Documentation-and-Tools.png)
|
|||
|
>LFCS: 了解Linux的帮助文档和工具
|
|||
|
|
|||
|
当你习惯了在命令行下进行工作, 你会发现Linux有许多文档需要你去使用和配置Linux系统.
|
|||
|
|
|||
|
另一个你必须熟悉命令行帮助工具的理由是,在[LFCS][3] 和 [LFCE][4] 考试中, 你只能靠你自己和命令行工具,没有互联网也没有百度。
|
|||
|
|
|||
|
基于上面的理由, 在这一章里我们将给你一些建议来帮助你通过**Linux Foundation Certification** 考试.
|
|||
|
|
|||
|
### Linux 帮助手册
|
|||
|
|
|||
|
man命令, 大体上来说就是一个工具手册. 它包含选项列表(和解释) , 甚至还提供一些例子.
|
|||
|
|
|||
|
我们用**man command** 加工具名称来打开一个帮助手册以便获取更多内容. 例如:
|
|||
|
|
|||
|
```
|
|||
|
# man diff
|
|||
|
```
|
|||
|
|
|||
|
我们将打开`diff`的手册页, 这个工具将一行一行的对比文本文档 (如你想退出只需要轻轻的点一下Q键).
|
|||
|
|
|||
|
下面我来比较两个文本文件 `file1` 和 `file2` . 这两个文本文件包含着相同版本Linux的安装包信息.
|
|||
|
|
|||
|
输入`diff` 命令它将告诉我们 `file1` 和`file2` 有什么不同:
|
|||
|
|
|||
|
```
|
|||
|
# diff file1 file2
|
|||
|
```
|
|||
|
|
|||
|
![](http://www.tecmint.com/wp-content/uploads/2016/03/Compare-Two-Text-Files-in-Linux.png)
|
|||
|
>在Linux中比较两个文本文件
|
|||
|
|
|||
|
`<` 这个符号是说`file2`少一行. 如果是 `file1`少一行, 我们将用 `>` 符号来替代.
|
|||
|
|
|||
|
接下来说, **7d6** 意思是说 文件1的**#7**行在 `file2`中被删除了 ( **24d22** 和**41d38**是同样的意思), 65,67d61告诉我们移动 **65** 到 **67** . 我们把以上步骤都做了两个文件将完全匹配.
|
|||
|
|
|||
|
你还可以通过 `-y` 选项来对比两个文件:
|
|||
|
|
|||
|
```
|
|||
|
# diff -y file1 file2
|
|||
|
```
|
|||
|
|
|||
|
![](http://www.tecmint.com/wp-content/uploads/2016/03/Compare-and-List-Difference-of-Two-Files.png)
|
|||
|
>通过列表来列出两个文件的不同
|
|||
|
|
|||
|
当然你也可以用`diff`来比较两个二进制文件 . 如果它们完全一样, `diff` 将什么也不会输出. 否则, 他将会返回如下信息: “**Binary files X and Y differ**”.
|
|||
|
|
|||
|
### –help 选项
|
|||
|
|
|||
|
`--help`选项 , 大多数命令都可以用它(并不是所有) , 他可以理解为一个命令的简单介绍. 尽管它不提供工具的详细介绍, 但是确实是一个能够快速列出程序使用信息的不错的方法.
|
|||
|
|
|||
|
例如,
|
|||
|
|
|||
|
```
|
|||
|
# sed --help
|
|||
|
```
|
|||
|
|
|||
|
显示 sed 的每个选项的用法(sed文本流编辑器).
|
|||
|
|
|||
|
一个经典的`sed`例子,替换文件字符. 用 `-i` 选项 (描述为 “**编辑文件在指定位置**”), 你可以编辑一个文件而且并不需要打开他. 如果你想要备份一个原始文件, 用 `-i` 选项 加后缀来创建一个原始文件的副本.
|
|||
|
|
|||
|
例如, 替换 `lorem.txt`中的`Lorem` 为 `Tecmint` (忽略大小写) 并且创建一个新的原始文件副本, 命令如下:
|
|||
|
|
|||
|
```
|
|||
|
# less lorem.txt | grep -i lorem
|
|||
|
# sed -i.orig 's/Lorem/Tecmint/gI' lorem.txt
|
|||
|
# less lorem.txt | grep -i lorem
|
|||
|
# less lorem.txt.orig | grep -i lorem
|
|||
|
```
|
|||
|
|
|||
|
请注意`lorem.txt`文件中`Lorem` 都已经替换为 `Tecmint` , 并且原始的 `lorem.txt` 保存为`lorem.txt.orig`.
|
|||
|
|
|||
|
![](http://www.tecmint.com/wp-content/uploads/2016/03/Replace-A-String-in-File.png)
|
|||
|
>替换文件文本
|
|||
|
|
|||
|
### /usr/share/doc内的文档
|
|||
|
这可能是我最喜欢的方法. 如果你进入 `/usr/share/doc` 目录, 你可以看到好多Linux已经安装的工具的名称的文件夹.
|
|||
|
|
|||
|
根据[Filesystem Hierarchy Standard][5](文件目录标准),这些文件夹包含了许多帮助手册没有的信息, 还有一些模板和配置文件.
|
|||
|
|
|||
|
例如, 让我们来看一下 `squid-3.3.8` (版本可能会不同) 一个非常受欢迎的HTTP代理[squid cache server][6].
|
|||
|
|
|||
|
让我们用`cd`命令进入目录 :
|
|||
|
|
|||
|
```
|
|||
|
# cd /usr/share/doc/squid-3.3.8
|
|||
|
```
|
|||
|
|
|||
|
列出当前文件夹列表:
|
|||
|
|
|||
|
```
|
|||
|
# ls
|
|||
|
```
|
|||
|
|
|||
|
![](http://www.tecmint.com/wp-content/uploads/2016/03/List-Files-in-Linux.png)
|
|||
|
>ls linux列表命令
|
|||
|
|
|||
|
你应该特别注意 `QUICKSTART` 和 `squid.conf.documented`. 这两个文件包含了Squid许多信息, . 对于别的安装包来说, 他们的名字可能不同 (有可能是 **QuickRef** 或者**00QUICKSTART**), 但原理是一样的.
|
|||
|
|
|||
|
对于另外一些安装包, 比如 the Apache web server, 在`/usr/share/doc`目录提供了配置模板, 当你配置独立服务器或者虚拟主机的时候会非常有用.
|
|||
|
|
|||
|
### GNU 信息文档
|
|||
|
|
|||
|
你可以把它想象为帮助手册的超级链接形式. 正如上面说的, 他不仅仅提供工具的帮助信息, 而且还是超级链接的形式(是的!在命令行中的超级链接) 你可以通过箭头按钮和回车按钮来浏览你需要的内容.
|
|||
|
|
|||
|
一个典型的例子是:
|
|||
|
|
|||
|
```
|
|||
|
# info coreutils
|
|||
|
```
|
|||
|
|
|||
|
通过coreutils 列出当前系统的 基本文件,shell脚本和文本处理工具[basic file, shell and text manipulation utilities][7] , 你可以得到他们的详细介绍.
|
|||
|
|
|||
|
![](http://www.tecmint.com/wp-content/uploads/2016/03/Info-Coreutils.png)
|
|||
|
>Info Coreutils
|
|||
|
|
|||
|
和帮助手册一样你可以按Q键退出.
|
|||
|
|
|||
|
此外, GNU info 还可以像帮助手册一样使用. 例如:
|
|||
|
|
|||
|
```
|
|||
|
# info tune2fs
|
|||
|
```
|
|||
|
|
|||
|
它将显示 **tune2fs**的帮助手册, ext2/3/4 文件系统管理工具.
|
|||
|
|
|||
|
让我们来看看怎么用**tune2fs**:
|
|||
|
|
|||
|
显示 **/dev/mapper/vg00-vol_backups**文件系统信息:
|
|||
|
|
|||
|
```
|
|||
|
# tune2fs -l /dev/mapper/vg00-vol_backups
|
|||
|
```
|
|||
|
|
|||
|
修改文件系统标签 (修改为Backups):
|
|||
|
|
|||
|
```
|
|||
|
# tune2fs -L Backups /dev/mapper/vg00-vol_backups
|
|||
|
```
|
|||
|
|
|||
|
设置 `/` 自检的挂载次数 (用`-c` 选项设置 `/`的自检的挂载次数 或者用 `-i` 选项设置 自检时间 **d=days, w=weeks, and m=months**).
|
|||
|
|
|||
|
```
|
|||
|
# tune2fs -c 150 /dev/mapper/vg00-vol_backups # Check every 150 mounts
|
|||
|
# tune2fs -i 6w /dev/mapper/vg00-vol_backups # Check every 6 weeks
|
|||
|
```
|
|||
|
|
|||
|
以上这些内容也可以通过 `--help` 选项找到, 或者查看帮助手册.
|
|||
|
|
|||
|
### 摘要
|
|||
|
|
|||
|
不管你选择哪种方法,知道并且会使用它们在考试中对你是非常有用的. 你知道其它的一些方法吗? 欢迎给我们留言.
|
|||
|
|
|||
|
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
via: http://www.tecmint.com/linux-basic-shell-scripting-and-linux-filesystem-troubleshooting/
|
|||
|
|
|||
|
作者:[Gabriel Cánepa][a]
|
|||
|
译者:[kokialoves](https://github.com/kokialoves)
|
|||
|
校对:[校对者ID](https://github.com/校对者ID)
|
|||
|
|
|||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
|
|||
|
|
|||
|
[a]:http://www.tecmint.com/author/gacanepa/
|
|||
|
[1]: http://www.tecmint.com/sed-command-to-create-edit-and-manipulate-files-in-linux/
|
|||
|
[2]: http://www.tecmint.com/installing-network-services-and-configuring-services-at-system-boot/
|
|||
|
[3]: http://www.tecmint.com/sed-command-to-create-edit-and-manipulate-files-in-linux/
|
|||
|
[4]: http://www.tecmint.com/installing-network-services-and-configuring-services-at-system-boot/
|
|||
|
[5]: http://www.tecmint.com/linux-directory-structure-and-important-files-paths-explained/
|
|||
|
[6]: http://www.tecmint.com/configure-squid-server-in-linux/
|
|||
|
[7]: http://www.tecmint.com/sed-command-to-create-edit-and-manipulate-files-in-linux/
|
|||
|
[8]:
|