帮助命令help、man、info

内建命令与外部命令

有一些查看帮助的工具在内建命令与外建命令上是有区别对待的。

内建命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在bash源码的builtins里面的,由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:historycdexit 等等。

外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调入内存。虽然其不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。外部命令是在 Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。

我们可以使用 type 命令来区分命令是内建的还是外部的。

pure@pure-virtual-machine:~$ type cd
cd 是 shell 内建
pure@pure-virtual-machine:~$ type vim
vim 是 /usr/bin/vim
pure@pure-virtual-machine:~$ type ls
ls 是“ls --color=auto”的别名

帮助命令

help命令

help xxx 用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。

  • 格式
help [-dms] [模式 ...]
  • 选项说明
-d        
	输出每个主题的简短描述
-m
	以伪 man 手册的格式显示使用方法
-s  
	为每一个匹配 PATTERN 模式的主题仅显示一个用法
  • 实例

    • 查看 help 自身帮助信息

      help help
      
    • 以类似于 man 手册格式查看 help 命令的帮助信息。

      help -m help
      
    • 查看 help 命令的简短描述。

      help -d help
      help - Display information about builtin commands.
      
    • 查看 help 和 cd 命令使用格式。

      help -s help cd
      help: help [-dms] [模式 ...]
      cd: cd [-L|[-P [-e]] [-@]] [目录]
      

--help

--help是一个工具选项,大部分的GNU工具都具备这个选项,--help选项可以用来显示一些工具的信息。

例如ls --help

用法:ls [选项]... [文件]...
列出给定文件(默认为当前目录)的信息。
如果不指定 -cftuvSUX 中任意一个或--sort 选项,则根据字母大小排序。

必选参数对长短选项同时适用。
  -a, --all                  不隐藏任何以 . 开始的项目
...
...
...

man命令

Man工具可以显示系统手册页中的内容,这些内容大多数都是对命令的解释信息。通过查看系统文档中的man页可以得到程序的更多相关主题信息和Linux的更多特性。man是非常实用的一种工具,当你在使用到某一个并不熟悉的命令时,man命令会显得非常有用。

当需要了解某个工具更为详细的信息时,可以使用命令man后跟工具名的方法来实现。例如man ls

LS(1)                                                      User Commands                                                      LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List  information  about  the FILEs (the current directory by default).  Sort entries alphabetically if none of -cftuvSUX nor
       --sort is specified.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --all
              do not ignore entries starting with .
...
...

info命令

Info工具是一个基于菜单的超文本系统,由GNU项目开发并由Linux发布。info工具包括一些关于Linux shell、工具、GNU项目开发程序的说明文档。

例如:info ls,得到的信息比 man 还要多,info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。所以得到的信息当然更多。

posted @ 2022-07-14 11:13  pure3417  阅读(119)  评论(0编辑  收藏  举报