TranslateProject/translated/tech/20170104 5 Ways to Find a Binary Command Description and Location on File System.md

169 lines
5.9 KiB
Markdown
Raw Normal View History

5个找出“二进制命令”描述和系统中位置的方法
2017-01-11 09:36:14 +08:00
============================================================
2017-01-12 09:39:54 +08:00
在数千个[ Linux 系统可用的命令/程序][1]中,知道给定命令的类型和目的以及其在系统上的位置(绝对路径)对于新手来说可能是一个挑战。
知道命令/程序的一些细节不仅有助于[ Linux 用户掌握大量命令][2],还能使用户理解命令行或脚本在系统上的操作。
2017-01-12 09:39:54 +08:00
因此,在本文中我们将向你解释五个有用的命令,用于显示给定命令的简短描述和位置。
2017-01-12 09:39:54 +08:00
要在系统上发现新命令,请查看 PATH 环境变量中的所有目录。这些目录存储系统上安装的所有命令/程序。
一旦你找到一个有趣的命令名,在继续阅读更多关于它的手册页之前,请尝试如下收集一些简要的信息。
2017-01-12 09:39:54 +08:00
假设你输出了 PATH 的值,并进到目录 /usr/local/bin注意到一个名为[ fswatch监视文件修改更改][3]的新命令:
2017-01-11 09:36:14 +08:00
```
$ echo $PATH
$ cd /usr/local/bin
```
[
![Find New Commands in Linux](http://www.tecmint.com/wp-content/uploads/2017/01/Find-New-Commands-in-Linux.png)
][4]
*在 Linux 中找出新命令*
2017-01-11 09:36:14 +08:00
2017-01-12 09:39:54 +08:00
现在让我们在 Linux 中用不同的方法找出 fswatch 命令的描述和位置。
2017-01-11 09:36:14 +08:00
2017-01-12 09:39:54 +08:00
### 1\. whatis 命令
2017-01-11 09:36:14 +08:00
2017-01-12 09:39:54 +08:00
whatis 用于显示你作为参数输入的命令名的单行描述例如下面命令中的fswatch
2017-01-11 09:36:14 +08:00
2017-01-12 09:39:54 +08:00
如果描述太长,一些部分在默认情况下会被省略,使用 `-l` 标志来显示完整的描述。
2017-01-11 09:36:14 +08:00
```
$ whatis fswatch
$ whatis -l fswatch
```
[
![Linux whatis Command Example](http://www.tecmint.com/wp-content/uploads/2017/01/Whatis-Command-Example.png)
][5]
*Linux whatis 命令示例*
2017-01-11 09:36:14 +08:00
2017-01-12 09:39:54 +08:00
### 2\. apropos 命令
2017-01-11 09:36:14 +08:00
**apropos** 会搜索手册页名称和关键字描述(命令名作为正则)。
2017-01-11 09:36:14 +08:00
2017-01-12 09:39:54 +08:00
使用 `-l` 标志来显示完整的描述。
2017-01-11 09:36:14 +08:00
```
$ apropos fswatch
$ apropos -l fswatch
```
[
![Linux apropos Command Example](http://www.tecmint.com/wp-content/uploads/2017/01/Linux-apropos-Command-Example.png)
][6]
*Linux apropos 命令示例*
2017-01-11 09:36:14 +08:00
2017-01-12 09:39:54 +08:00
默认上apropos 会如示例那样输出所有匹配的行。你可以使用 `-e` 选项来精确匹配:
2017-01-11 09:36:14 +08:00
```
$ apropos fmt
$ apropos -e fmt
```
[
![Linux apropos Command Show by Keyword](http://www.tecmint.com/wp-content/uploads/2017/01/Linux-apropos-Command-Keyword-Example.png)
][7]
*Linux apropos 命令根据关键词显示*
2017-01-11 09:36:14 +08:00
2017-01-12 09:39:54 +08:00
### 3\. type 命令
2017-01-11 09:36:14 +08:00
**type** 命令会输出给定命令的完整路径名此外如果输入的命令名不是做为独立磁盘文件存在的程序type 还会告诉你命令分类:
2017-01-11 09:36:14 +08:00
- shell 内置命令 或
- shell 关键字或保留字 或
- 别名
2017-01-11 09:36:14 +08:00
```
$ type fswatch
```
[
![Linux type Command Example](http://www.tecmint.com/wp-content/uploads/2017/01/Linux-type-Command-Example.png)
][8]
*Linux type 命令示例*
2017-01-11 09:36:14 +08:00
当命令是另外一个命令的别名时,**type** 会显示运行别名时执行的命令。使用 **alias** 命令查看你系统上创建的所有别名:
2017-01-11 09:36:14 +08:00
```
$ alias
$ type l
$ type ll
```
[
![Show All Aliases in Linux](http://www.tecmint.com/wp-content/uploads/2017/01/Show-All-Aliases-in-Linux.png)
][9]
*显示 Linux 中所有别名*
2017-01-11 09:36:14 +08:00
2017-01-12 09:39:54 +08:00
### 4\. which 命令
2017-01-11 09:36:14 +08:00
**which** 帮助命令定位,它打印出命令的绝对路径:
2017-01-11 09:36:14 +08:00
```
$ which fswatch
```
[
![Find Linux Command Location](http://www.tecmint.com/wp-content/uploads/2017/01/Find-Linux-Command-Location.png)
][10]
*找出 Linux 命令位置*
2017-01-11 09:36:14 +08:00
2017-01-12 09:39:54 +08:00
一些二进制文件存在于 PATH 中的多个目录,使用 `-a` 标志来找出所有匹配的路径名。
2017-01-11 09:36:14 +08:00
2017-01-12 09:39:54 +08:00
### 5\. whereis 命令
2017-01-11 09:36:14 +08:00
**whereis** 定位指定命令名的二进制、源和帮助页文件,如下所示:
2017-01-11 09:36:14 +08:00
```
$ whereis fswatch
$ whereis mkdir
$ whereis rm
```
[
![Linux whereis Command Example](http://www.tecmint.com/wp-content/uploads/2017/01/Linux-whereis-Command-Example.png)
][11]
*Linux whereis 命令示例*
2017-01-11 09:36:14 +08:00
虽然上面的命令对于查找关于命令/程序的一些快速信息很重要,但是该命令的手册总是可以提供完整的文档,它还包括其他相关程序的列表:
2017-01-11 09:36:14 +08:00
```
$ man fswatch
```
在本文中,我们回顾了五个简单的命令,用于显示命令的简短的手册描述和位置。 你可以在反馈栏中对此文章做出贡献或提出问题。
2017-01-11 09:36:14 +08:00
--------------------------------------------------------------------------------
作者简介:
![](http://1.gravatar.com/avatar/4e444ab611c7b8c7bcb76e58d2e82ae0?s=128&d=blank&r=g)
Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux SysAdmin、web 开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。
2017-01-11 09:36:14 +08:00
--------------------------------------------------------------------------------
via: http://www.tecmint.com/find-linux-command-description-and-location/
作者:[Aaron Kili ][a]
2017-01-12 09:39:54 +08:00
译者:[geekpi](https://github.com/geekpi)
2017-01-12 10:56:07 +08:00
校对:[jasminepeng](https://github.com/jasminepeng)
2017-01-11 09:36:14 +08:00
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/aaronkili/
[1]:http://www.tecmint.com/category/top-tools/
[2]:http://www.tecmint.com/tag/linux-tricks/
[3]:http://www.tecmint.com/fswatch-monitors-files-and-directory-changes-modifications-in-linux/
[4]:http://www.tecmint.com/wp-content/uploads/2017/01/Find-New-Commands-in-Linux.png
[5]:http://www.tecmint.com/wp-content/uploads/2017/01/Whatis-Command-Example.png
[6]:http://www.tecmint.com/wp-content/uploads/2017/01/Linux-apropos-Command-Example.png
[7]:http://www.tecmint.com/wp-content/uploads/2017/01/Linux-apropos-Command-Keyword-Example.png
[8]:http://www.tecmint.com/wp-content/uploads/2017/01/Linux-type-Command-Example.png
[9]:http://www.tecmint.com/wp-content/uploads/2017/01/Show-All-Aliases-in-Linux.png
[10]:http://www.tecmint.com/wp-content/uploads/2017/01/Find-Linux-Command-Location.png
[11]:http://www.tecmint.com/wp-content/uploads/2017/01/Linux-whereis-Command-Example.png