第三部分

2020-04-03

type -显示命令的类型

type 命令是 shell 内部命令,它会显示命令的类别,给出一个特定的命令名(做为参数)。
“command” 是你要检测的命令名。

type command

示例

which -显示一个可执行程序的位置

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

[root@VM_0_7_centos local]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls

这个命令只对可执行程序有效,不包括内建命令和命令别名,别名是真正的可执行程序的替代物。当我们试着使用 shell 内建命令时,我们或者得不到回应,或者是个错误信息。

help -得到 shell 内建命令的帮助

[root@VM_0_7_centos local]# help cd
cd: cd [-L|[-P [-e]]] [dir]
    Change the shell working directory.
...

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

cd [-L|-P] [dir]

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

–help - 显示用法信息

[root@VM_0_7_centos local]# mkdir --help
Usage: mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.
...

一些程序不支持 --help 选项,但不管怎样试一下。这经常会导致输出错误信息,但同时能揭示一样的命令用法信息。

man -显示程序手册页

man program

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

手册文档的格式有点不同,一般包含一个标题、命令语法的纲要、命令用途的说明、以及每个命令选项的列表和说明。然而,手册文档通常并不包含实例,它打算作为一本参考手册,而不是教程。

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

手册页的组织形式
上述用法也可以使用 man man 命令查看。

基本上,man 命令结果大致分成下面几个部分:

代号内容说明
NAME简短的指令下达语法(syntax)简介
DESCRIPTION较为完整的说明
OPTIONS针对 SYNOPSIS 部分中,有列举的所有可用的选项说明
COMMANDS当这个程序(软件)在执行的时候,可以在此程序(软件)中下达指令
FILES这个程序或数据所使用或参考或链接到的某个文件
SEEALSO可以参考的,跟这个指令或数据有相关的其他说明
EXAMPLE一些可以参考的范例

man 指令常用按键:

按键说明
Space(空格)向下翻页
Home到第一页
End到最后一页
/string向下查找 string 字符串
?string向上查找 string 字符串
n利用 /? 查找字符串时,用 n 继续下一个查找
N利用 /? 查找字符串时,用 N 继续上一个查找

apropos -显示适当的命令

如果你不知道完成某个特定任务所需要命令的名称,可以使用一个关键字通过Linux apropos实用程序来搜索它。该实用程序可以搜索关键字并且显示所有包含匹配项的man页面的简短描述。

[root@VM_0_7_centos local]# apropos ls
SSL (3ssl)           - OpenSSL SSL/TLS library
blockdev (8)         - call block device ioctls from the command line
BN_lshift (3ssl)     - bit operations on BIGNUMs
BN_lshift1 (3ssl)    - bit operations on BIGNUMs
c++filt (1)          - Demangle C++ and Java symbols.
...

输出结果每行的第一个字段是手册页的名字,第二个字段展示章节。注意,man 命令加上“-k” 选项,和 apropos 完成一样的功能。

whatis -显示非常简洁的命令说明

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

[root@VM_0_7_centos local]# whatis ls
ls (1)               - list directory contents

who -查看系统当前在线用户

[root@VM_0_7_centos ~]# who
root     pts/0        2020-04-23 13:49 (111.19.105.205)

info -显示程序 Info 条目

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

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

输入 “info”,接着输入程序名称,启动 info。
下表中的命令,当显示一个 info 页面时,用来控制阅读器。

info命令

info coreutils

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

README 和其它程序文档

许多安装在你系统中的软件,都有自己的文档文件,这些文件位于/usr/share/doc 目录下。这些文件大多数是以文本文件的形式存储的,可用 less 阅读器来浏览。一些文件是 HTML 格式,可用网页浏览器来阅读。我们可能遇到许多以 “.gz” 结尾的文件。这表示 gzip 压缩程序已经压缩了这些文件。gzip 软件包包括一个特殊的 less 版本,叫做 zless,zless 可以显示由 gzip 压缩的文本文件的内容。

用别名(alias)创建你自己的命令

命令行小技巧:把多个命令放在同一行上,命令之间用 “;” 分开。

command1; command2; command3...

如:

[root@VM_0_7_centos jansson-2.10]# cd /usr; ls; cd -
bin  etc  games  include  java  lib  lib64  libexec  local  sbin  share  src  tmp
/usr/share/doc/jansson-2.10
[root@VM_0_7_centos jansson-2.10]#

正如我们看到的,我们在一行上联合了三个命令。首先更改目录到/usr,然后列出目录内容,最后回到原始目录(用命令 “cd -”), 结束在开始的地方。
现在,通过 alias 命令把这一串命令转变为一个命令。我们要做的第一件事就是为我们的新命令构想一个名字。

[root@VM_0_7_centos jansson-2.10]# type foo
-bash: type: foo: not found
[root@VM_0_7_centos jansson-2.10]# 
[root@VM_0_7_centos jansson-2.10]# alias foo='cd /usr; ls; cd -'
[root@VM_0_7_centos jansson-2.10]# 
[root@VM_0_7_centos jansson-2.10]# foo
bin  etc  games  include  java  lib  lib64  libexec  local  sbin  share  src  tmp
/usr/share/doc/jansson-2.10
[root@VM_0_7_centos jansson-2.10]# 

注意命令结构:

alias name='string'

在命令 “alias” 之后,输入“name”,紧接着(没有空格)是一个等号,等号之后是一串用引号引起的字符串,字符串的内容要赋值给 name。我们定义了别名之后,这个命令别名可以使用在任何地方。

我们也可以使用 type 命令来查看我们的别名:

[root@VM_0_7_centos jansson-2.10]# type foo
foo is aliased to `cd /usr; ls; cd -'

删除别名,使用 unalias 命令

[root@VM_0_7_centos jansson-2.10]# unalias foo
[root@VM_0_7_centos jansson-2.10]# 
[root@VM_0_7_centos jansson-2.10]# type foo
-bash: type: foo: not found
[root@VM_0_7_centos jansson-2.10]# 

要查看所有定义在系统环境中的别名,使用不带参数的 alias 命令。

[root@VM_0_7_centos /]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值