bash手册
bash手册
man命令
man命令用来访问存储在Linux系统上的手册页面。在想要查找的工具的名称前面输入man命令,就可以找到那个工具相应的手册条目。
man man
窍门:bash手册甚至包含了一份有关其自身的参考信息。输入
man man
来查看与手册页相关的手册页。
根据上面的提示,我在控制台终端输入这行代码:
root@huangzihan:/# man man
然后它弹出这样一个页面:
MAN(1) Manual pager utils MAN(1)
NAME
man - an interface to the system reference manuals
SYNOPSIS
man [man options] [[section] page ...] ...
man -k [apropos options] regexp ...
man -K [man options] [section] term ...
man -f [whatis options] page ...
man -l [man options] file ...
man -w|-W [man options] page ...
DESCRIPTION
man is the system's manual pager. Each page argument given to man is normally the name of a program, utility or function.
The manual page associated with each of these arguments is then found and displayed. A section, if provided, will direct man
to look only in that section of the manual. The default action is to search in all of the available sections following a pre-
defined order (see DEFAULTS), and to show only the first page found, even if page exists in several sections.
...
...
...
如果我们想退出这个页面,直接按q
键就可以。然后我又查了我平时用的那条ls
指令,整个过程代码如下:
root@huangzihan:/# 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 .
...
...
...
窍门:如果你是新接触bash shell,可能一开始会觉得手册页面并不太用。但是如果养成了阅读手册的习惯,尤其是阅读第一段或是DESCRIPTION部分的前两段,最终你会学到各种技术行话,手册页也会变得越来越有用。
分页程序(page)
当使用man命令查看命令手册的时候,这些手册页是由分页程序(page)来显示的。分页程序是一种实用工具,能够逐页显示文本。可以通过点击空格键进行翻页,或是使用回车键逐行查看。另外还可以使用箭头键向前向后滚动手册页的内容(假设你用的终端仿真软件包支持箭头键功能)。
在分页程序最下面的一行有这样一条语句:
Manual page ls(1) line 1/218 15% (press h for help or q to quit)
当我们使用回车键和箭头键向前向后的时候,这句话在中的1/218的1不断地增加。
读完了手册页,可以点击q键退出。退出手册页之后,你会重新获得shell CLI提示符,这表示shell正在等待接受下一条命令。
手册页将与命令相关的信息分成了不同的节。每一节惯用的命名标准如表Linux手册页惯用的节名
Linux手册页惯用的节名
节 | 描述 |
---|---|
Name | 显示命令名和一段简短的描述 |
Synopsis | 命令的语法 |
Confi guration | 命令配置信息 |
Description | 命令的一般性描述 |
Options | 命令选项描述 |
Exit Status | 命令的退出状态指示 |
Return Value | 命令的返回值 |
Errors | 命令的错误消息 |
Environment | 描述所使用的环境变量 |
Files | 命令用到的文件 |
Versions | 命令的版本信息 |
Conforming To | 命令所遵从的标准 |
Notes | 其他所遵从的标准 |
Bugs | 提供提交bug的途径 |
Example | 展示命令的用法 |
Authors | 命令开发人员的信息 |
Copyright | 命令源代码的版权状况 |
See Also | 与该命令类型的其他命令 |
窍门:如果不记得命令名怎么办?可以使用关键字搜索手册页。语法是:man -k 关键字。例如,要查找与终端相关的命令,可以输入man -k terminal。
除了对节按照惯例进行命名,手册页还有对应的内容区域。每个内容区域都分配了一个数字,从1开始,一直到9,如下表Linux手册页的内容区域
Linux手册页的内容区域
区域号 | 所涵盖的内容 |
---|---|
1 | 可执行程序或shell命令 |
2 | 系统调用 |
3 | 库调用 |
4 | 特殊文件 |
5 | 文件格式与约定 |
6 | 游戏 |
7 | 概览、约定及杂项 |
8 | 超级用户和系统管理员命令 |
9 | 内核例程 |
查看命令在Linux手册页中的区域
man工具通常提供的是命令所对应的最低编号的内容。
当我在命令行输入man ls
,在弹出来的分页程序中的第一行和最后一行,发现这两条语句中的LS和ls后面的括号有一个数字:(1)。这表示所显示的手册页来自内容区域1(可执行程序或shell命令)
LS(1) User Commands LS(1)
Manual page ls(1) line 1/218 15% (press h for help or q to quit)
一个命令偶尔会在多个内容区域都有对应的手册页。比如说,有个叫作hostname的命令。手册页中既包括该命令的相关信息,也包括对系统主机名的概述。想要查看所需要的页面,可以输入
man section# topic
。对手册页的第一部分而言,就是输入man 1 hostname
。对于手册页中的第7部分,就是输入man 7 hostname
。
我根据上面的提示分别打开了hostname
的第1部分和第7部分,部分代码如下:
root@huangzihan:/# man 1 hostname
HOSTNAME(1) Linux Programmer's Manual HOSTNAME(1)
NAME
hostname - show or set the system's host name
domainname - show or set the system's NIS/YP domain name
ypdomainname - show or set the system's NIS/YP domain name
nisdomainname - show or set the system's NIS/YP domain name
dnsdomainname - show the system's DNS domain name
...
...
...
root@huangzihan:/# man 7 hostname
HOSTNAME(7) Linux Programmer's Manual HOSTNAME(7)
NAME
hostname - hostname resolution description
...
...
...
你也可以只看各部分内容的简介:输入
man 1 intro
阅读第1部分,输入man 2 intro
阅读第2部分,输入man 3 intro
阅读第3部分,等等。
根据上面的提示,我在提示符#
后面分别输入man 1 intro
和man 7 intro
,控制台终端的输出如下:
root@huangzihan:/# man 1 intro
INTRO(1) Linux User's Manual INTRO(1)
NAME
intro - introduction to user commands
...
...
...
root@huangzihan:/# man 7 intro
INTRO(7) Linux Programmer's Manual INTRO(7)
NAME
intro - introduction to overview and miscellany section
...
...
...
当我想查看ls
的第2部分、第3部分、第4部分,在shell提示符#
后面分别输入man 2 ls
、man 3 ls
、man 4 ls
,但是因为ls
这条命令没有这三部分,所以控制台终端输出是这样的:
root@huangzihan:/# man 2 ls
No manual entry for ls in section 2
root@huangzihan:/# man 3 ls
No manual entry for ls in section 3
root@huangzihan:/# man 4 ls
No manual entry for ls in section 4
info页面
手册页不是唯一的参考资料。还有另一种叫作info页面的信息。可以输入
info info
来了解info页面的相关内容。
根据上面的提示,我在提示符#
后面输入info info
,控制台终端的输出如下:
Next: Stand-alone Info, Up: (dir)
Stand-alone GNU Info
********************
This documentation describes the stand-alone Info reader which you can
use to read Info documentation.
...
...
...
如果想查看ls
的info页面,我们可以把上面那条命令改为info ls
,对应的控制台的输出为:
root@huangzihan:/# info ls
Next: dir invocation, Up: Directory listing
10.1 ‘ls’: List directory contents
==================================
The ‘ls’ program lists information about files (of any type, including
directories). Options and file arguments can be intermixed arbitrarily,
as usual.
...
...
...
help帮助
另外,大多数命令都可以接受
-help
或--help
选项。例如你可以输入hostname -help
来查看帮助。关于帮助的更多信息,可以输入help help
。(看出这里面的门道没?)
根据上面的提示,我在shell提示符#
后面输入help help
,对应的控制台终端输出是这样的:
root@huangzihan:/# help help
help: help [-dms] [pattern ...]
Display information about builtin commands.
Displays brief summaries of builtin commands. If PATTERN is
specified, gives detailed help on all commands matching PATTERN,
otherwise the list of help topics is printed.
...
...
...
如果想查看ls
命名,可以在shell提示符#
后面输入ls --help
,这个查看ls
的命令只有这个是对的,中途我还输错了几次,整个过程代码是这样的:
root@huangzihan:/# ls -help
ls: invalid option -- 'e'
Try 'ls --help' for more information.
root@huangzihan:/# 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.
...
...
...
bash手册的更多相关文章
- bash手册 之重定向原理与实现
http://www.gnu.org/software/bash/manual/bashref.html#Redirections http://www.cnblogs.com/weidagang20 ...
- bash帮助文档简单学习;bash手册翻译
关于bash的四种工作方式的不同,可以参考:http://feihu.me/blog/2014/env-problem-when-ssh-executing-command-on-remote/,但是 ...
- Linux编程 3 (初识bash shell与man查看手册)
一.初识bash shell 1.1 启动 shell GNU bash shell 能提供对Linux系统的交互式访问.通常是在用户登录终端时启动,登录时系统启动shell依赖于用户账户的配置. ...
- 基本bash命令
bash手册 输入man命令可以访问存储在linux系统上的手册页面.  如果不记得命令名,可以使用关键字搜索手册.语法是man -k 关键字.  手册被分为了不同的内容区域.man工具提供的是命 ...
- bash脚本编程之二 字符串测试及for循环
shell中大量的测试和比较选项而困惑呢? 这个技巧可以帮助您解密不同类型的文件.算术和字符串测试,这样您就能够知道什么时候使用 test. [ ]. [[ ]].(( )) 或 if-then-el ...
- Linux命令行–基本的bash shell命令
启动shell: /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 用户名 用户密码 用户的系统UID 用户的系统GID 用户的全名 用户 ...
- 【转】Linux 技巧: Bash 参数和参数扩展
重点看下清单7 现在,很多 Linux® 和 UNIX® 系统上都有 bash shell,它是 Linux 上常见的默认 shell.通过本文,您将了解到如何在 bash 脚本中处理参数和选项,以及 ...
- 【深夜急报,Win10下的Linux子系统之Bash】
[在Windows下进行的编程人员,你真的需要学习下Linux] 手册:<Linux 命令手册(特洛伊版2.0)> 链接: https://pan.baidu.com/s/1skrVSvV ...
- 了解基本的bash shell命令
本节内容主要介绍如何使用bash shell提供的基本命令处理Linux文件和目录: 1.启动shell shell是一个可以交互访问的Linux系统程序,它的运行与普通程序相同,系统启动的shell ...
随机推荐
- vue中的v-cloak指令
v-cloak不需要表达式,它会在vue实例结束编译时从绑定的html元素上移除,经常和display:none;配合使用: <div id="app" v-cloak> ...
- HCNP Routing&Switching之OSPF LSA更新规则和路由汇总
前文我们了解了OSPF外部路由类型以及forwarding address字段的作用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15225673.html: ...
- zabbix告警推送至个人微信
文章原文 自从接触zabbix后,就一直想着怎么才能把告警推送到个人微信上.有这样的想法主要是个人微信的使用频率远远要比钉钉,企业微信,邮箱,飞书等使用频率要高.比如我,就遇到过在周末的时候,因为没有 ...
- Redis++:Redis 内存爆满 之 淘汰策略
前言: 我们的redis使用的是内存空间来存储数据的,但是内存空间毕竟有限,随着我们存储数据的不断增长,当超过了我们的内存大小时,即在redis中设置的缓存大小(maxmeory 4GB),redis ...
- MyBatis学习总结(六)——Mybatis3.x与Spring4.x整合
一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:create -DgroupId=me.gacl -DartifactId=spring4-myba ...
- Ubuntu / CoreOS修改DNS配置
不要直接手动修改文件 /etc/resolv.conf 安装好Ubuntu之后设置了静态IP地址,再重启后就无法解析域名.想重新设置一下DNS,打开/etc/resolv.conf cat /etc/ ...
- VueJS学习资料大全
参考:http://www.worktle.com/articles/2467/ 文档&社区 Vue.js官方网站(中文) :http://cn.vuejs.org/ Vue论坛:http:/ ...
- 页面调用系统window打印
一. 打印:直接页面调用window.print(),当前页面就会转换成打印页面 当前页面是使用HTML拼接成A4纸表格样式的展示: doPrint:function(type) { // this. ...
- SpingBoot-Dubbo-Zookeeper-分布式
目录 分布式理论 什么是分布式系统? Dubbo文档 单一应用架构 垂直应用架构 分布式服务架构 流动计算架构 什么是RPC RPC基本原理 测试环境搭建 Dubbo Dubbo环境搭建 Window ...
- vs code使用git---http方式
1.从git上复制http路径 2.在vs code的工作区新建文件夹 3.选择添加远程储存库 4.输入复制的git路径然后命名远程储存库名称 5.选择从所有远程储存库中拉取分支 6.选择分支,切 ...