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

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


查看外部命令 可用 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)
a1215276209a1215276209
上一篇 2016-08-12
下一篇 2016-08-12

相关推荐

  • Mairadb

    Mairadb 编译安装Mairadb数据 先下载mariadb的软件包: 将软件包解压缩到/usr/local目录下 ]# tar xf mariadb-5.5.32-linux-x86_64.tar.gz -C /usr/local/ 创建连接 ]# ln -sv maria…

    Linux干货 2016-10-17
  • 源码编译安装http

    为什么需要编译安装软件?   1、软件在编译期间需要配置:比如需要指定安装路径,定制模块等功能;   2、软件需要统一安装路径:在编译安装时可以方便指定这些路径;   3、需要最新的版本:对于某些软件来说可能需要最新的版本。 编译前的准备工作:     1、安装开发工具:make、gcc等…

    Linux干货 2016-08-24
  • 【听说要写一篇文章,我觉得标题比较长的人一定特别帅。】

    我叫小问。 计划是学好马哥所教授的知识。 目标是找到一份好工作!

    Linux干货 2016-10-23
  • 集中练习5-磁盘分区、文件系统挂载、RAID管理

    集中练习5-磁盘分区、文件系统挂载、RAID管理

    Linux干货 2017-10-27
  • Linux权限管理与grep命令应用(第四周)

    第四周作业 1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# ch…

    Linux干货 2016-09-15
  • zabbix部署(Linux上部署/监控端/被监控端)

    zabbix部署 一、监控系统的简单介绍 (1)cacti:存储数据能力强,报警性能差 (2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中。比如,连续采样数据存储,有连续三次不在合理范围内的数据就报警 (3)zabbix:结合上面两种工具的优点,又可以存储数据,又可以报警 二、zabbix特性 (1)数据采…

    Linux干货 2017-01-06