什么是命令?
命令有四种形式:
- 是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样。这一类程序可以是用诸如 C 和 C++ 语言写成的程序编译的二进制文件, 也可以是脚本语言写成的程序。
- 是一个内建于 shell 自身的命令。bash 支持若干命令,内部叫做 shell 内部命令 (builtins)。例如,cd 命令,就是一个 shell 内部命令。
- 是一个 shell 函数。这些是小规模的 shell 脚本,它们混合到环境变量中。
- 是一个命令别名。我们可以定义自己的命令,建立在其它命令之上。
识别命令
1.type -显示命令的类型
type 命令是 shell 内部命令,它会显示命令的类别,给出一个特定的命令名(做为参数)
type command
“command” 是你要检测的命令名
如:
$ type type
type is a shell builtins
$ type ls
ls is aliased to `ls --color=tty`
ls
命令的检查结果显示ls
命令实际上是ls
命令加上选项 “–color=tty” 的别名。现在我们知道为什么 ls 的输出结果是有颜色的
$ type cp
cp is /bin/cp
2.which -显示一个可执行程序的位置
有时候在一个操作系统中,不只安装了可执行程序的一个版本。虽然在桌面系统中这并不普遍,但在大型服务器中却很平常。为了确定所给定的执行程序的准确位置,使用which 命令
$ which ls
/bin/ls
这个命令只对可执行程序有效,不包括内建命令和命令别名,别名是真正的可执行程序的替代物。当我们试着使用 shell 内建命令时,例如,cd 命令,我们或者得不到回应,或者是个错误信息:
$ which cd
/usr/bin/which: no cd in
(/opt/jre1.6.0_03/bin:/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/opt/jre1
.6.0_03/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/home/me/bin)
3.help -得到 shell 内建命令的帮助文档
bash 有一个内建的帮助工具,可供每一个 shell 内建命令使用。输入“help”,接着是 shell 内部命令名。例如:
$ help cd
cd: cd [-L|-P] [dir]
Change ...
出现在命令语法说明中的方括号,表示可选的项目。一个竖杠字符表示互斥选项,说明,cd 命令可能有一个“-L”选项或者“-P”选项,进一步,可能有参数“dir”。
4.–help - 显示用法信息
许多可执行程序支持一个 --help 选项,这个选项是显示命令所支持的语法和选项说明。例如:
$ mkdir --help
Usage: mkdir [OPTION] DIRECTORY...
Create ...
5 . man -显示程序手册页
许多可执行程序提供了一个正式的文档,叫做手册或手册页 (man page)。一个特殊的叫做 man 的分页程序,可用来浏览他们。它是这样使用的:
man program
“program”是要浏览的命令名。在大多数 Linux 系统中,man 使用 less 工具来显示参考手册,所以当浏览文档时,你所熟悉的 less 命令都能有效。man 所显示的参考手册,被分成几个章节,它们不仅仅包括用户命令,也包括系统管理员命令、程序接口、文件格式等等。
man ls
6.apropos -显示适当的命令
也有可能搜索参考手册列表,基于某个关键字的匹配项。虽然很粗糙但有时很有用。下面是一个以 “floppy” 为关键词来搜索参考手册的例子:
[me@linuxbox ~]$ apropos floppy
create_floppy_devices (8) - udev callout to create all possible
...
输出结果每行的第一个字段是手册页的名字,第二个字段展示章节。注意,man 命令加上“-k” 选项,和 apropos 完成一样的功能。
7.README 和其它程序文档
许多安装在你系统中的软件,都有自己的文档文件,这些文件位于/usr/share/doc 目录下。这些文件大多数是以文本文件的形式存储的,可用 less 阅读器来浏览。一些文件是 HTML 格式,可用网页浏览器来阅读。我们可能遇到许多以 “.gz” 结尾的文件。这表示 gzip 压缩程序已经压缩了这些文件。gzip 软件包包括一个特殊的 less 版本,叫做 zless,zless 可以显示由 gzip 压缩的文本文件的内容