命令的查看帮助 和 命令行的历史

命令的查看 分内部命令 和外部命令 


查看外部命令 可用 man command–help info 

查看内部命令 可用 help command


man 帮助是 使用最频繁的 命令查看 而 man 又有很多选项 如下


   man – format and display the on-line manual pages


SYNOPSIS

       man  [-acdDfFhkKtwW]  [–path] [-m system] [-p string] [-C config_file]

       [-M pathlist] [-P pager] [-B browser] [-H htmlpager] [-S  section_list]

       [section] name …


DESCRIPTION

       man formats and displays the on-line manual pages.  If you specify sec-

       tion, man only looks in that section of the manual.  name  is  normally

       the  name of the manual page, which is typically the name of a command,

       function, or file.  However, if name contains  a  slash  (/)  then  man

       interprets  it  as a file specification, so that you can do man ./foo.5

       or even man /cd/foo/bar.1.gz.


       See below for a description of where man  looks  for  the  manual  page

       files.


MANUAL SECTIONS

       The standard sections of the manual include:

:

       由于 选项过多 而我们平时 用到的 并不是全部 所以 在此简要 说明 几个重要选项如下


       -K 搜索所有字符串 页面


       -A 列出所有帮助


       -C  config_file

              Specify  the configuration file to use; the default is @man_con-

              fig_file@.  (See man.conf(5).)


       -M  path

              Specify the list of directories to search for man pages.   Sepa-

              rate  the directories with colons.  An empty list is the same as

              not specifying -M at all.  See SEARCH PATH FOR MANUAL PAGES.


       -P  pager

              Specify which pager to use.  This option overrides the  MANPAGER

              environment  variable,  which  in turn overrides the PAGER vari-

              able.  By default, man uses @pager@.


       -B     Specify which browser to use on HTML files.  This  option  over-

              rides  the  BROWSER  environment  variable. By default, man uses

              @browser@,


       -H     Specify a command that renders HTML files as text.  This  option

              overrides  the  HTMLPAGER  environment variable. By default, man

              uses @htmlpager@,




     在搜索出的 man命令页面解释中 我们可以使用一些快捷键例如


man命令的操作方法:使用less命令实现 Space, ^V, ^f, ^F: 向文件尾翻屏

 b, ^B: 向文件首部翻屏

 d, ^D: 向文件尾部翻半屏

 u, ^U: 向文件首部翻半屏 

RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行 

y or ^Y or ^P or k or ^K:向文件首部翻一行 

q: 退出 #:跳转至第#行 

1G: 回到文件首部 

G:翻至文件尾部

也可以

     /KEYWORD: 以KEYWORD指定的字符串为关键字,从当前位置向文件 尾部搜索;

不区分字符大小写; n: 下一个 N:上一个 ?

?KEYWORD: 以KEYWORD指定的字符串为关键字,从当前位置向文件 首部搜索;

不区分字符大小写; n: 跟搜索命令同方向,下一个 N:跟搜索命令反方向,上一个

友情提示 有时 info比man更详细 当然 视情况而定


    man常用于命令参考 ,GNU工具info适合通用文档参考。 ? 

    没有参数,列出所有的页面 ?

    info 页面的结构就像一个网站 ? 每一页分为“节点” ? 链接节点之前 * ?info [ 命令 ]



下面 简要 介绍一下 history 的 用法 以及 命令历史行的 调用


      命令行扩展:$( ) 或 “ ? 把一个命令的输出打印给另一个命令的参数 $ echo "This system's name is $(hostname) " This system's name is server1.example.com $echo "i am `whoami` " i am root ? 括号扩展:{ } ? 打印重复字符串的简化形式 $ echo file{1,3,5} file1 file3 file5 $ rm -f file{1,3,5}


     保存你输入的命令历史。可以用它来重复执行命令 ? 登录shell时,会读取命令历史文件中记录下的命令 ~/.bash_history ? 登录进shell后新执行的命令只会记录在缓存中;这些命 令会用户退出时“追加”至命令历史文件中


重复前一个命令,有4种方法:

      重复前一个命令使用上方向键,并回车执行。 

按 !! 并回车执行。 输入 !-1 并回车执行。 

按 Ctrl+p 并回车执行。 ?!字符串:重复前一个以“字符串”开头的命令 ?

!num:按照history命令输出中的序号重复对应命令 ?!?字符串:重复前一个包含abc的命令 ?

!-n :重复n个命令之前的那个命令


      使用up(向上)和down(向下)键来上下浏览从前输入 的命令 ? 

键入ctrl-r来在命令历史中搜索命令 ? (reverse-i-search)`’: ? 要重新调用前一个命令中最后一个参数: ? 

!$  表示 ? Esc, .(点击Esc键后松开,然后点击 . 键) ? Alt+ .(按住Alt键的同时点击 . 键)


以及调用历史参数 

如下 

  #cmd !^ : 利用上一个命令的第一个参数做cmd的参数 ?

  #cmd !$ : 利用上一个命令的最后一个参数做cmd的参数 ?

  #cmd !* : 利用上一个命令的全部参数做cmd的参数 ?

  #cmd !:n  : 利用上一个命令的第n个参数做cmd的参数


   !string:^ 从命令历史中搜索以 string 开头的命令,并获取 它的第一个参数 ?

   !string:$ 从命令历史中搜索以 string 开头的命令,并获取它 的最后一个参数 ?

   !string:n 从命令历史中搜索以 string 开头的命令,并获取 它的第n个参数 ?

   !string:* 从命令历史中搜索以 string 开头的命令,并获取 它的所有参数


   history 的 一些 命令选项 

history [-c] [-d offset] [n] ?history -anrw [filename] ?history -ps arg [arg…] 

-c: 清空命令历史 

-d: 删除历史中指定的命令; #: 显示最近的#条历史 

-a: 追加本次会话新执行的命令历史列表至历史文件 

-n: 读历史文件中未读过的行到历史列表 

-r: 读历史文件附加到历史列表 

-w: 保存历史列表到指定的历史文件 

-p: 展开历史参数成多个行,但不存在历史列表中 

-s: 展开历史参数成一行,附加在历史列表后

 


和命令历史相关的环境变量


 HISTSIZE:命令历史记录的条数; ? 

HISTFILE:指定历史文件,默认为~/.bash_history; ? 

HISTFILESIZE:命令历史文件记录历史的条数; ? 

HISTTIMEFORMAT=“%F %T“   显示时间 ? 

HISTIGNORE=“str1:str2:… “ 忽略string1,string2历史 ? 控制命令历史的记录方式: 环境变量:

HISTCONTROL ignoredups:忽略重复的命令;连续且相同方为“重复” ignorespace:忽略所有以空白开头的命令 ignoreboth:ignoredups, ignorespace erasedups:删除重复命令 ? export 变量名="值“ ? 存放在 /etc/profile 或 ~/.bash_profile



   友情附加 一些关于 bash 的 快捷键


Ctrl+l  清屏,相当于clear命令 ?

Ctrl+c 取消命令的执行 ?

Ctrl-a 会移动到命令行的最前面 ?

Ctrl-e 会移动到命令行的最后面 ?

Ctrl-u 会删除到行首 ?

Ctrl-k 会删除到行尾 ?

arrow   ctrl-b  ctrl-f会向左或向右移动一个字符 ?

Esc-b 左移一个单词 ?

Esc-f 右移一个单词

原创文章,作者:a1215276209,如若转载,请注明出处:http://www.178linux.com/33232

(0)
上一篇 2016-08-12 09:02
下一篇 2016-08-12 09:02

相关推荐

  • 编译内核

    先把下载的内核解压展开归档 tar -xvf linux-4.12.tar.xz   把linux系统中的/boot/config-3.10.0-514.el7.x86_64 copy到归档文件中并命名为.config   cp config-3.10.0-514.el7.x86_64 /app/linux-4.12/.conf…

    2017-07-12
  • http://www.jianshu.com/p/f1d0739b141f

    Linux干货 2017-07-30
  • LAMP基于编译安装方式实现(httpd与php以fastcgi方式结合)3

    概述     在某些现有rpm包不能满足需求的时候,可能需要编译安装LAMP环境,本篇就介绍下php与httpd结合方式为fastcgi方式结合时的编译安装,同时,由于httpd与php以module方式结合时,仅是编译选项有所差别,故也会简单说明下编译选项的差异 环境     CentOS7系统,…

    Linux干货 2016-10-17
  • shell编程之数组及变量的多功能用法

    数组及变量的多功能用法   一、数组: 1、数组:存储多个元素的连续的内存空间,相当于多个变量的集合(变量:存储单个元素的内存空间)。 2、数组名和索引 索引:编号从0开始,属于数值索引 bash的数组支持稀疏格式(索引不连续) 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。 声明数组: decl…

    Linux干货 2016-08-26
  • 进程管理(二)之计划任务

    进程管理(二)之计划任务   一、计划任务: 1、未来的某时间点执行一次任务: (1)at:跟一个时间点,到点了自动运行指定的任务 (2)batch:系统自行选择空闲时间去执行此处指定的任务 2、周期性运行某任务:cron 二、at命令: 1、at命令:at [option] TIME 注:当输入完成后,使用Ctrl+d结束,不能使用Ctrl+c …

    Linux干货 2016-09-10
  • RPM程序包管理器及其前端工具YUM

    RPM:     RPM,Redhat Package Manager,RPM is Package Manager 功能:将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装、卸载、查询、升级和校验等管理操作 1)RPM包的命名 2)RPM包文件的组成   &nb…

    Linux干货 2016-08-21