程序员

Linux下的帮助命令

终端下使用Linux不可避免要与诸多Linux命令打交道,对于常用命令我们还大概都能记住几种用法,而对于冗长命令、不常用命令以及这些命令的参数使用,要记清楚是不可能也是没有必要的。熟练使用Linux下的帮助命令,对我们掌握新命令的用法很有帮助。这里就简要总结一下Linux下的几种帮助命令(helpmaninfo)的使用。

一、内建命令与外部命令

由于不同的命令(内建命令vs外部命令)查询帮助的方法不一样,所以要查询某个命令的帮助信息,首先要确定这个命令是内建命令还是外部命令。

内建命令:Shell程序的一部分,这些命令写在bash源码的buildins里面,被Shell程序识别并运行在Shell程序中,所以解析内建命令Shell不需要创建子进程,其执行速度比外部命令快;如:history,cd,exit等。
外部命令:Linux中的实用程序部分,在系统启动时不加载到内存中,而是在需要时才会被调用到内存中。其执行过程也是由Shell控制的,外部命令是在Bash之外安装的,通常放在/bin,/sbin,/usr/bin,/usr/sbin等目录中;如ls,vim等。

我们可以通过type命令来确认某个命令是内建还是外部命令(第三种说明执行的ls命令是别名):

shiyanlou@16b6978c3fb4:~$ type cd
cd is a shell builtin
shiyanlou@16b6978c3fb4:~$ type vim
vim is /usr/bin/vim
shiyanlou@16b6978c3fb4:~$ type ls
ls is aliased to `ls --color=auto'

二、常用帮助命令的使用

1.help命令:

  • help显示Shell内建命令的简要帮助信息:命令简要说明已经一些参数的简要使用说明。

    shiyanlou@16b6978c3fb4:~$ help ls
    bash: help: no help topics match `ls'.  Try `help help' or `man -k ls' or `in
    fo ls'.
    shiyanlou@16b6978c3fb4:~$ help vim
    bash: help: no help topics match `vim'.  Try `help help' or `man -k vim' or `
    info vim'.
    shiyanlou@16b6978c3fb4:~$ help exit
    exit: exit [n]
      Exit the shell.
    
      Exits the shell with a status of N.  If N is omitted, the exit status
      is that of the last command executed.
  • 非内建命令如果需要help,则可以使用--help
    shiyanlou:~/ $ ls --help
    Usage: ls [OPTION]... [FILE]...
    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 .
    -A, --almost-all           do not list implied . and ..
        --author               with -l, print the author of each file
    -b, --escape               print C-style escapes for nongraphic characters
        --block-size=SIZE      scale sizes by SIZE before printing them.  E.g.,
                                 '--block-size=M' prints sizes in units of
                                 1,048,576 bytes.  See SIZE format below.
    ...

2.man命令:

man查询命令帮助没有内建命令和外部命令之分,man工具是显示系统手册页中的内容,是一本电子版的字典,这些内容大多是对命令的解释信息和一些相关的描述。man的每一章节显示的信息可以参考前文《基本概念及操作》。打开手册之后我们可以通过de按键来翻页。

3.info命令:

info来自于自由软件基金会的GNU项目,是GNU的超文本帮助系统,能够完整显示出GNU信息。