TranslateProject/published/201407/Command Line Tuesdays – Part Five.md
2014-08-01 23:35:01 +08:00

5.5 KiB
Raw Blame History

命令行星期二——第五部分

对,你也许已经猜到了又是我们相见的时候了。这一次我们将会学习如何使用命令工作。因此,事不宜迟,我们直入正题吧。

肖茨先生指出到现在为止我们学习了一些神奇的命令及其参数和选项而今天正是我们揭开他们那神秘面纱一角的一天。我们将会学习如下的一些命令及其作用type, which, help和man。但是在此之前我么先学习一下——

###什么是命令?###

我们可以将命令分为四个种类。

**1可执行的程序**命令可以是一个可执行程序。如果你在前面的课程中有遍历过你的系统,这也是你应该做的。你也许已经发现了/user/bin这个目录你看到很多的像transmission-gtk, deluge-gtk等的名字。对我们新手来说现在这些可以编译成二进制文件或者用脚本语言编写的可执行程序具体是什么并不太重要。重点是他们是可执行文件你可以运行它们。找到/user/bin这个目录列出里面的文件随便挑一个去运行它。

2shell内置命令 bash提供了一系列的shell内置命令例如cd命令就是一个shell内置命令。

**3shell函数**内置于系统环境中的小型的shell脚本。现在我们简单的提及一下它因为在后面的几个星期中我们将要学习它。

**4别名**你可以基于其他命令定义你自己的命令。我们也会在后面的课程中学习到。

现在,知道我们要处理的命令的哪一类是有意义的。我们可以使用type命令查看。

###type###

你可以使用type + command来查看你要使用的命令属于什么类型。你只要输入type command就可以得到命令类型的输出如下

type mkdir

或者

type ls

从上面例子可以看出ls命令实际上是_ls的别名。LCTT译注不同机器上的别名定义可能不同比如RedHat/Centos系列上ls实际上是ls --color=auto的别名而这个_ls想必是openSUSE上的情况。

###which###

有时虽然在桌面系统中很少会出现这种情况在一台机器中存在一个可执行程序的多个版本。为了找到某个可执行程序的准确位置我们可以使用which命令。which命令只对可执行程序有用。

which transmission-gtk

如今多数的命令都会附带说明文档因此当你在没有网络的的情况下使用命令行时你不能在论坛或者IRC上提问但是你又必须要知道某个命令的准确用法。此时你有两种解决方法第一个是——

###help###

help命令对shell内置命令有用在上面的第二类中我们有提到过。所以你可以选择一个shell内置命令为例如cd简单的输入help cd即可。你会得到一个有用的页面去试一下看cd为我们提供了什么功能。该页面列出了该命令的用法和可选项选项列在方括号中表明它们是可选的如果方括号中有垂直分隔符分隔某些选项则这些选项是互斥的不要同时使用他们

###--help###

LCTT译注Linux上的命令中通常单字符参数前使用一个破折号而多个字符的长参数则使用两个破折号原文此处用的是“-help”实际上这种情况很少所以修正为“--help”

help只对shell内置命令有用。但是很多的可执行程序有--help选项。其作用类似于help命令但是你必须在你要查看帮助的命令后输入 --help。例如transmission-gtk --help。试一下看在改该可执行程序中有什么可选项可以使用。

###man###

多数的可执行程序都提供一个正式发说明文档。你可以使用man命令查看这份说明文档。试一下只输入man program看有什么输出。在你的系统中随便找一个程序去尝试一下。例如我们试一下man transmission-gtk。你会打开了一个由目录分割的文件。这个文件包含该程序是什么、做什么和你可以怎样去使用它等的信息。但是这个文件并没有提供使用范例因为它不是一个指导手册。LCTT译注man里面有时候也会带有一些范例但是往往不会很详细另外还有一个info命令通常能得到更多的使用帮助。不过真正理解每个命令的各种用户还是要多查阅各种资料并亲自试验才行。

这周我们就到先讲这里了。

我想再花一分钟来感谢大家对本节的建议和贡献。是你们让这个系列的文章变得越来越好,我希望在你们的帮助下,我们这些新用户在夏季结束前可以使用基本的命令行工具。你们是最棒的。像我一样的新用户们,我们都会感到失落,坚持到底,我们的付出总会有回报的!


via: https://news.opensuse.org/2014/07/15/command-line-tuesdays-part-five/

译者:cvsher 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出