【5-1】使用命令

一 命令

命令可以是下面四种形式之一:

1.是一个可执行程序,就像我们所看到的位于目录/usr/bin中的文件一样。属于这一类的程序,可以编译成二进制文件,诸如用C和C++语言写成的程序。也可以是由脚本语言写成的程序,如shell,Perl,Python,ruby,等等。

2.是一个內建于shell自身的命令。bash支持若干命令,内部叫做shell内部命令(builtins)。例如:cd命令就是一个shell内部命令。

3.是一个shell函数。这些是小规模的shell脚本,它们混合到环境变量中。在后续的章节中,我们将讨论配置环境变量以及书写shell函数。

4.是一个命令别名。我们可以定义自己的命令,建立在其他命令之上。

二 识别命令

1.显示命令类型:type

type命令是shell内部命令,它会显示命令的类别:

type command

“command”是要检测的命令名。

示例:

xyw@xyw-virtual-machine:~$ type type
type 是 shell 内建
xyw@xyw-virtual-machine:~$ type ls
ls 是 `ls --color=auto' 的别名
xyw@xyw-virtual-machine:~$ type cp
cp 是 /bin/cp

注意:ls命令实际上是ls命令加上选项“–color=auto”的别名。

2.显示一个可执行程序的位置:which

有时在一个操作系统中,不只安装了可执行程序的一个版本。为了确定所给定的执行程序的准确位置,使用which命令:

xyw@xyw-virtual-machine:/usr$ which ls
/bin/ls
xyw@xyw-virtual-machine:/usr$ which less
/usr/bin/less
xyw@xyw-virtual-machine:/usr$ which cp
/bin/cp

注意:which命令只对可执行程序有效,不包括内部命令和命令别名。别名是真正的可执行程序的替代物。

当试着使用shell内部命令时,例如:cd命令,我们或者得不到回应,或者得到一个错误信息。

3.得到shell内部命令的帮助文档:help

bash有一个內建的帮助工具,可供每一个shell内部命令使用。

输入“help”,接着是shell内部命令名:

[me@linuxbox ~]$ help cd
cd: cd [-L|-P] [dir]
Change ...

注意:出现在命令语法说明中的方括号,表示可选的项目。一个竖杠字符表示互斥选项。在上面cd命令的例子中:

cd [-L|-P][dir]

这种表示法说明:cd命令可能有一个“-L”选项或者“-P”选项,进一步,可能有参数“dir”

4.显示用法信息:–help

许多可执行程序支持一个–help选项,这个选项是显示命令所支持的语法和选项说明:

xyw@xyw-virtual-machine:~$ mkdir --help
用法:mkdir [选项]... 目录...
Create ...

5.显示程序手册页:man

许多希望被命令行使用的可执行程序,提供了一个正式的文档,叫做手册或手册页(man page)。一个特殊的叫做man的分页程序,可用来浏览它们:

man program

”program“是要浏览的命令名。

手册文档的格式有点不同,一般地包含一个标题、命令语法的纲要、命令用途的说明、命令选项列表及每个选项的说明。

在大多数Linux系统中,man使用less工具来显示参考手册。所以当浏览文档时,你所熟悉的less命令都能有效。

man所显示的参考手册,被分成几个章节。它们不仅仅包括用户命令,也包括系统管理员命令、程序接口,文件格式等。下表描绘了手册的布局:

这里写图片描述

有时候需要查看参考手册的特定章节,从而找到需要的信息。没有指定章节号时,总是得到第一个匹配项。

可以这样使用man命令来指定章节号:

man section search_term

例如:

xyw@xyw-virtual-machine:~$ man 5 passwd

结果:

PASSWD(5)                       文件格式和转化                      

名称
       passwd - 密码文件

描述
...

命令运行结果会显示文件/etc/passwd的文件格式说明手册。

6.显示适当的命令:apropos

可以使用apropos命令基于某个关键字的匹配项来搜索参考手册列表,例如以“floppy”为关键词:

xyw@xyw-virtual-machine:~$ apropos floppy
fdformat (8)         - low-level format a floppy disk
...

输出结果每行的第一个字段是手册页的名字,第二个字段展示章节。

注意:man命令加上”-k“选项可以和apropos完成同样的功能。

7.显示非常简洁的命令说明:whatis

whatis程序显示匹配特定关键字的手册页的名字和一行命令说明:

xyw@xyw-virtual-machine:~$ whatis ls
ls (1)               - list directory contents

8.显示程序info条目:info

GNU项目提供了一个命令程序手册页的替代物,称为“info”。info内容可通过info阅读器程序读取,info页是超级连接形式的,与网页很相似。

info程序读取info文件,info文件是树型结构,分化为各个结点,每一个包含一个题目。info文件包含超级链接,它可以让你从一个结点跳到另一个结点。一个超级链接可通过它开头的星号来辨别出来,把光标放在它上面并按下enter键,就可以激活它。

当显示一个info页面时,用下表中的命令来控制阅读器:

这里写图片描述

到目前为止,我们所讨论的大多数命令行程序,属于GNU项目“coreutils”包。所以输入:

xyw@xyw-virtual-machine:~$ info coreutils

将会显示一个包含超级链接的手册页,这些超级链接指向包含在coreutils包中的各个程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值