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

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


查看外部命令 可用 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

相关推荐

  • 磁盘分区,raid,lvm,脚本编程_第七周练习

    Q1:创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@promote ~]# fdisk /dev/sdb        &n…

    Linux干货 2016-12-24
  • 马哥教育网络班21期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加samba用户gentoo,centos和u…

    Linux干货 2016-10-17
  • linux入门第二课

    **linux入门基础** linux 命令类别 内部命令和外部命令 首先我们可以用echo $SHELL 来查询shell 里面会显示我们当前在用的shell 上图是echo $SHELL 也可以用cat /etc/shells来查询系统里面的shell bash其实是一个文件是一个程序 存在于 /bin/bash 目录,这是真是存在的文件,是一个可以执行…

    Linux干货 2017-05-20
  • LVS –负载均衡基础

    一 负载均衡的五种解决方案 1 http重定向 HTTP重定向就是应用层的请求转发。用户的请求其实已经到了http重定向负载均衡服务器,服务器根据算法要求用户重定向,用户收到重定向请求后,再次请求真正的集群。 优点:简单 缺点:性能较差 2 DNS域名解析负载均衡 DNS域名解析负载均衡就是在用户请求DNS服务器,获取域名对应的IP地址时,DNS根据服务器直…

    Linux干货 2017-06-22
  • N25-第十一周作业

    1、详细描述一次加密通讯的过程,结合图示最佳。   以Bob和Alice安全通讯为例:     Bob<———>Alice    1. Bob要和Alice安全通信首先要取得对方的公钥,即对方的证书,并验证证书的合法性。验证过程和内容: &n…

    Linux干货 2017-03-20
  • 用户管理权限命令总结

    用户 Linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。 用户分类 超级用户:(root,UID=0) 普通用户:(UID在500到60000) 伪用户:(UID在1到499) 系统和服务相关的:bin、daemon、shutdown等 进程相…

    Linux干货 2017-04-03