1 type-显示命令的类型
$type ls
ls is aliased to `ls --color=auto'
2 which-显示一个可执行程序的位置
有时候在一个操作系统中,不只安装了可执行程序的一个版本。虽然在桌面系统中这并不普遍, 但在大型服务器中却很平常。为了确定所给定的执行程序的准确位置,使用 which 命令:
$ which ls /bin/ls
该命令只对可执行程序有效,不包括内间命令和命令别名。例如查询shell的内建命令是没有回应的
3 help-得到shell 内建命令的帮助文档
$ help cd cd: cd [-L|[-P [-e]] [-@]] [dir] Change the shell working directory. Change ...
方括号表示可选项目,竖线表示互斥选项
4 --help-显示用法信息
该选项显示命令所支持的语法和选项说明
$ mkdir --help Usage: mkdir [OPTION]... DIRECTORY... Create ...
5 man-显示程序手册页
手册文档的格式有点不同,一般地包含一个标题、命令语法的纲要、命令用途的说明、 以及每个命令选项的列表和说明。然而,手册文档通常并不包含实例,它打算 作为一本参考手册,而不是教程。man 所显示的参考手册,被分成几个章节,它们不仅仅包括用户命令,也包括系统管理员 命令、程序接口、文件格式等等。下表描绘了手册的布局:
章节 | 内容 |
---|---|
1 | 用户命令 |
2 | 程序接口内核系统调用 |
3 | C 库函数程序接口 |
4 | 特殊文件,比如说设备结点和驱动程序 |
5 | 文件格式 |
6 | 游戏娱乐,如屏幕保护程序 |
7 | 其他方面 |
8 | 系统管理员命令 |
有时候,我们需要查看参考手册的特定章节,从而找到我们需要的信息。 如果我们要查找一种文件格式,而同时它也是一个命令名时,这种情况尤其正确。 没有指定章节号,我们总是得到第一个匹配项,可能在第一章节。我们这样使用 man 命令, 来指定章节号:
man section search_term
例如:
man 5 passwd
命令运行结果会显示文件 /etc/passwd 的文件格式说明手册。
6 apropos-显示适当的命令
也有可能搜索参考手册列表,基于某个关键字的匹配项。
$ apropos floppy fdformat (8) - low-level format a floppy disk mbadblocks (1) - tests a floppy disk, and marks the bad blocks in the FAT mformat (1) - add an MSDOS filesystem to a low-level formatted floppy disk mxtar (1) - Wrapper for using GNU tar directly from a floppy disk
输出结果每行的第一个字段是手册页的名字,第二个字段展示章节。注意,man 命令加上”-k”选项, 和 apropos 完成一样的功能。
7 whatis-显示非常简洁的命令说明
whatis 程序显示匹配特定关键字的手册页的名字和一行命令说明
8 info-显示程序info条目
GNU 项目提供了一个命令程序手册页的替代物,称为”info”。info 内容可通过 info 阅读器 程序读取。info 页是超级链接形式的,和网页很相似。nfo 程序读取 info 文件,info 文件是树型结构,分化为各个结点,每一个包含一个题目。 info 文件包含超级链接,它可以让你从一个结点跳到另一个结点。一个超级链接可通过 它开头的星号来辨别出来,把光标放在它上面并按下 enter 键,就可以激活它。
输入”info”,接着输入程序名称,启动 info。下表中的命令,当显示一个 info 页面时, 用来控制阅读器。
命令 | 行为 |
---|---|
? | 显示命令帮助 |
PgUp or Backspace | 显示上一页 |
PgDn or Space | 显示下一页 |
n | 下一个 - 显示下一个结点 |
p | 上一个 - 显示上一个结点 |
u | Up - 显示当前所显示结点的父结点,通常是个菜单 |
Enter | 激活光标位置下的超级链接 |
q |
退出 |
到目前为止,我们所讨论的大多数命令行程序,属于 GNU 项目”coreutils”包,所以输入:
$ info coreutils
将会显示一个包含超级链接的手册页,这些超级链接指向包含在 coreutils 包中的各个程序。
案例:用alias创建你自己的命令
$ cd /usr; ls; cd -
正如我们看到的,我们在一行上联合了三个命令。首先更改目录到/usr,然后列出目录 内容,最后回到原始目录(用命令”cd -“),结束在开始的地方。现在,通过 alias 命令 把这一串命令转变为一个命令。我们要做的第一件事就是为我们的新命令构想一个名字。需要验证该名字是否已经存在于系统当中
$ type foo
bash: type: foo: not found
创建命令别名:
$ alias foo='cd /usr; ls; cd -'
注意命令结构:
$ alias name='string'
在命令”alias”之后,输入“name”,紧接着(没有空格)是一个等号,等号之后是 一串用引号引起的字符串,字符串的内容要赋值给 name。我们定义了别名之后, 这个命令别名可以使用在任何地方,也可以使用type进行查看。可以使用unalias删除别名。