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

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


查看外部命令 可用 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 09:02
下一篇 2016-08-12 09:02

相关推荐

  • 从零开始搭建双主模型的nginx proxy高可用集群

    实验简介 本文主要介绍双主模型的nginx proxy高可用集群的搭建方式。实验环境: 使用nfs/ftp服务器,nfs提供页面数据共享,ftp提供程序下载 使用单独的mariadb服务器提供关系型数据库 使用两台httpd服务器提供页面服务,包括静态的html和动态的php(phpmyadmin、wordpress、phpinfo) 使用两台nginx作为…

    Linux干货 2017-06-25
  • Linux下chomd修改文件或目录权限

    文件或目录权限分为三个字段 以/tmp为例ll后可看到权限为:     drwxrwxrwt 第一d为文件类型 Linux下的文件类型     -:普通文件     d:目录文件     b:块设备  &nbs…

    Linux干货 2016-02-28
  • iptables基础实战练习

    (1) 放行ssh (端口:22) 1 iptables -A INPUT -d 192.168.42.153 -p tcp –dport 22 -j ACCEPT 2 iptables -A OUTPUT -s 192.168.42.153 -p tcp –sport 22 -j ACCEPT (2)修改默认规则链(关闭所有端口) 1 iptables…

    2017-09-10
  • 一、循环语句:for, while, until 循环执行:将某代码段重复运行多次重复运行多少次:循环次数事先已知循环次数事先未知有进入条件和退出条件 1.for……do……done for 变量 in 列表 ; do    循环体done 执行机制:依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中…

    Linux干货 2016-08-19
  • Bash快捷键

    Ctrl + a :移到命令行首Ctrl + e :移到命令行尾Ctrl + f :按字符前移(右向)Ctrl + b :按字符后移(左向)Alt + f :按单词前移(右向)Alt + b :按单词后移(左向)Ctrl + xx:在命令行首和光标之间移动Ctrl + u :从光标处删除至命令行首Ctrl + k :从光标处删除至命令行尾Ctrl + w :…

    Linux干货 2017-03-26
  • FTP基于PAM和MySQL/MariaDB实现虚拟用户访问控制

    前言 vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用,目前在开源操作系统中常用的FTP套件主要有proftpd、pureftp、ServU和wu-ftpd等。本文将讲解vsftpd的基本功能和如何基于PAM和MySQL/MariaDB实现虚拟用户访问控制。 基础配置介绍 工作原理 状态响应码 1xx:信息码 2xx…

    2015-04-20