Total Pageviews

Friday, 2 August 2024

Linux下的命令——man命令

 linux下,命令非常多,你想知道你系统下有多少命令可以用吗?

[root@lmode ~]#[tab] <=在这里不要输入任何字符,直接按一次[tab]按键 

Display all 1092 possibilities? (y or n)<=按y显示所有命令来,按n离开

linux下,许多命令的开发者,为了让使用者可以更快的了解命令的用法,制作了命令在线帮助文件。可以通过man这个命令来查看某个命令的具体用法man是manual(操作说明/手册)的简写。比如你想了解ls这个命令:

[root@lmode ~]# man ls

命令执行后进入ls命令的man page页,命令在线帮助文件:

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 alpha-betically if none of -cftuvSUX nor --sort.

   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

....省略

 

进入man命令的功能后,你可以按下『空格键』往下翻页,可以按下『 q 』按键来离开man的环境。

上面命令介绍说明的第一行LS(1),LS是命令的名称,那么(1)的含义是:一般用户可使用的命令。命令后面的数字是有特别含义的,常见的数字及含义如下:

1   使用者在shell环境中可以操作的命令或可运行文件

2   系统核心可呼叫的函数与工具等

3   一些常用的函数(function)与函式库(library),大部分为C的函式库(libc)

4   装置文件的说明,通常在/dev下的文件

5   配置文件或者是某些文件的格式

6   游戏(games)

7   惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明

8   系统管理员可用的管理命令  如shutdown命令

9   跟kernel有关的文件

常用的是1,5,8。这三个数字及含义可以记下来。


man page的内容根据不同命令,可以整理出下面几个部分:

NAME         命令、数据名称说明

SYNOPSI      命令的语法(syntax)说明

DESCRIPTION  较为完整的说明,这部分最好仔细看看!

OPTIONS         针对 SYNOPSIS 部分中,有列举的所有可用的选项说明

COMMANDS     当这个程序(软件)在运行的时候,可以在此程序(软件)中下达的命令 

FILES         这个程序或数据所使用或参考或连结到的某些文件 

SEE ALSO     可以参考的,跟这个命令或数据有相关的其他说明!

EXAMPLE         一些可以参考的范例

BUGS         存在的一些问题


man下的一些参数详解:

空格键          向下翻一页

[Page Down]   向下翻一页

[Page Up]     向上翻一页

/string    向『下』搜寻 string 这个字符串,如果要搜寻date 的话,就输入 /date 。

?string    向『上』搜寻 string 这个字符串。

n, N    利用 / 或 ? 来搜寻字符串时,可以用 n 来继续下一个搜寻 (不论是 / 或 ?) ,可以利用 N 来进行『反向』搜寻。举例来说,我以 /date 搜寻 date 字符串, 那么可以 n 继续往下查询,用 N 往上查询。若以 ?date 向上查询 date 字符串, 那我可以用 n 继续『向上』查询,用 N 反向查询。

q    结束这次的 man page

这些man page的数据放在哪里呢?不同的distribution通常可能有点差异性,

不过,通常是放在/usr/share/man这个目录里头,然而,我们可以透过修改他的man page搜寻路径来改善这个目录的问题! 修改/etc/man.config (有的版本为man.conf或manpath.conf)即可。

关于man的信息你可以使用『 man man 』来查询。

在某些情况下,你可能知道要使用某些特定的命令或者是修改某些特定的配置文件,但是偏偏忘记了该命令的完整名称。 有些时候则是你只记得该命令的部分关键词。

[root@lmode~]# man -f man

man            (1)  - format and display the on-line manual pages

man [manpath]     (1)  - format and display the on-line manual pages

man.config [man]   (5)  - configuration data for man

当使用『man -f 命令』时,man只会找数据中的左边那个命令(或文件)的完整名称,有一点不同都不行! 但如果我想要找的是『关键词』呢?

[root@lmode ~]$ man -k man 

用关键词将说明文件里面只要含有man那个字眼的(不见得是完整字符串) 就将他取出来!

事实上,还有两个命令与man page有关呢!而这两个命令是man的简略写法说~就是这两个:

[root@lmode ~]$ whatis  [命令或者是数据]   <==相当于 man -f [命令或者是数据] 

[root@lmode ~]$ apropos [命令或者是数据]   <==相当于 man -k [命令或者是数据] 

而要注意的是,这两个特殊命令要能使用,必须要有创建 whatis 数据库才行!这个数据库的创建需要以 root 的身份下达如下的命令:

[root@lmode ~]# makewhatis 

--------------------------------------

如何在 Linux 中使用 Whatis 命令

 

 它与“man”非常相似,除了这个命令只打印给定命令的一行描述。无需其他详细信息即可轻松了解命令的用途。

命令的一般语法whatis:
    
whatis [OPTIONS...] [COMMAND]
显示有关(多个)命令的信息:
    
whatis [command] [command]

该whatis命令可用于提供多个 Linux 命令的简短手册页描述。为此,只需指定几个命令。

示例:打印关于ls和mkdir命令的简要信息
显示信息多个命令
关闭输出微调:
    
whatis -l [command]

要在不进行任何修整的情况下显示输出,请运行带选项的 whatis 命令-l。

示例:让我们使用whatis带有和不带此选项的命令来查看区别。
关闭输出微调
显示调试信息:
whatis -d [command]

要在终端中显示有关 Linux 命令的调试信息,请使用whatis带有-d选项的命令。

示例:显示有关cp命令的调试信息
按正则表达式搜索:
    
whatis -r [command]

该-r选项按关键字名称搜索命令。如果任何名称与页面名称的任何部分匹配,它就会输出该匹配项。

示例:让我们打印与模式匹配的命令的简短描述cd。
按模式搜索命令:
    
whatis -w [command* or *command]

使用该-w选项使用通配符搜索 Linux 命令。指定一个模式以搜索与该模式匹配的命令。

示例:让我们查找以命令模式开头的命令cd。
使用其他操作系统的手册页:
    
whatis -m [system] [command]

该-m选项提供对其他系统的手册页名称的访问。

示例:让我们搜索cat来自NewOne系统的命令,并获得该命令的简要说明。
设置手册页的搜索路径:
    
whatis -M [system] [command]

要为手册页设置替代搜索路径,请使用该-M选项。默认情况下,whatis使用$MANPATH环境变量。

示例:指定手册页的默认搜索路径–manpath=/lib并在那里搜索mkdir命令。

No comments:

Post a Comment