• 使用命令


    在这之前,我们已经知道了一系列神秘的命令,每个命令都有自己奇妙的选项和参数。在

    这一章中,我们将试图去掉一些神秘性,甚至创建我们自己的命令。这一章将介绍以下命令:
    • type –说明怎样解释一个命令名
    • which –显示会执行哪个可执行程序
    • man –显示命令手册页
    • apropos –显示一系列适合的命令
    • info –显示命令 info
    • whatis –显示一个命令的简洁描述
    • alias –创建命令别名

    到底什么是命令?
    命令可以是下面四种形式之一:
    1. 是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样。属于这一类的
    程序,可以编译成二进制文件,诸如用 C 和 C++ 语言写成的程序, 也可以是由脚本语言
    写成的程序,比如说 shell,perl,python,ruby,等等。
    2. 是 一 个 内 建 于 shell 自 身 的 命 令。 bash 支 持 若 干 命 令, 内 部 叫 做 shell 内 部 命 令
    (builtins)。例如,cd 命令,就是一个 shell 内部命令。
    3. 是一个 shell 函数。这些是小规模的 shell 脚本,它们混合到环境变量中。在后续的章节
    里,我们将讨论配置环境变量以及书写 shell 函数。但是现在,仅仅意识到它们的存在就
    可以了。
    4. 是一个命令别名。我们可以定义自己的命令,建立在其它命令之上。

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

     

    which -显示一个可执行程序的位置
    有时候在一个操作系统中,不只安装了可执行程序的一个版本。然而在桌面系统中,这并
    不普遍,但在大型服务器中,却很平常。为了确定所给定的执行程序的准确位置,使用 which命令:

    知道了什么是命令,现在我们来寻找每一类命令的可得到的文档。

    help -得到 shell 内部命令的帮助文档
    bash 有一个内建的帮助工具,可供每一个 shell 内部命令使用。输入 “help”,接着是 shell
    内部命令名。例如:

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

    cd [-L|-P] [dir]
    这种表示法说明,cd 命令可能有一个 “-L” 选项或者”-P” 选项,进一步,可能有参数
    “dir”。
    虽然 cd 命令的帮助文档很简洁准确,但它决不是教材。正如我们所看到的,它似乎提到了
    许多我们还没有谈论到的东西!不要担心,我们会学到的。

    --help - 显示用法信息
    许多可执行程序支持一个 “--help” 选项,这个选项是显示命令所支持的语法和选项说明。
    例如:

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

    man -显示程序手册页
    许多希望被命令行使用的可执行程序,提供了一个正式的文档,叫做手册或手册页 (man
    page)。一个特殊的叫做 man 的分页程序,可用来浏览他们。它是这样使用的:
    man program
    “program” 是要浏览的命令名。
    手册文档的格式有点不同,一般地包含一个标题,命令语法的纲要,命令用途的说明,和
    命令选项列表,及每个选项的说明。然而,通常手册文档并不包含实例,它打算作为一本参考
    手册,而不是教材。作为一个例子,浏览一下 ls 命令的手册文档:

                   

    有时候,我们需要查看参考手册的特定章节,从而找到我们需要的信息。如果我们要查找
    一种文件格式,而同时它也是一个命令名时, 这种情况尤其正确。没有指定章节号,我们总是
    得到第一个匹配项,可能在第一章节。我们这样使用 man 命令,来指定章节号:
    man section search_term

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

    apropos -显示适当的命令
    也有可能搜索参考手册列表,基于某个关键字的匹配项。虽然很粗糙但有时很有用。下面
    是一个以 “floppy” 为关键词来搜索参考手册的例子:

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

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

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

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

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

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

    用别名(alias)创建你自己的命令
    现在是时候,感受第一次编程经历了!我们将用 alias 命令创建我们自己的命令。但在开始
    之前,我们需要展示一个命令行小技巧。可以把多个命令放在同一行上,命令之间用 “;” 分
    开。它像这样工作:

    正如我们看到的,我们在一行上联合了三个命令。首先更改目录到/usr,然后列出目录
    内容,最后回到原始目录(用命令 “cd -”), 结束在开始的地方。现在,通过 alia 命令把这
    一串命令转变为一个命令。我们要做的第一件事就是为我们的新命令构想一个名字。比方说
    “test”。在使用”test” 之前,查明是否 “test” 命令名已经存在系统中,是个很不错的主意。为
    了查清此事,可以使用 type 命令:

    哦!“test” 名字已经被使用了。试一下”foo”:太棒了!“foo” 还没被占用。创建命令别名:

    注意命令结构:

     

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

    删除别名,使用 unalias 命令,像这样:

    虽然我们有意避免使用已经存在的命令名来命名我们的别名,但这是常做的事情。通常,
    会把一个普遍用到的选项加到一个经常使用的命令后面。例如,之前见到的 ls 命令,会带有色
    彩支持。

  • 相关阅读:
    vue学习之五生命周期
    vue学习之四组件系统
    vue学习之三常用命令
    vue学习之二ECMAScript6标准
    vue学习之一vue初识
    (转)nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理
    python技巧总结之set、日志、rsa加密
    (转)二十三种设计模式及其python实现
    Python之traceback错误堆栈信息处理
    python虚拟环境--virtualenv
  • 原文地址:https://www.cnblogs.com/yangguang-it/p/7103157.html
Copyright © 2020-2023  润新知