tab键 history 命令的相关巧用

Tab键的妙用

      1.command没有完全输入时: 点击tab,如果能唯一匹配到命令,则直接补全,否则需要点击两下tab来显示能够匹配到的命令。

        tab键  history 命令的相关巧用

      2./2tab : 显示根目录下的所有目录,包含隐藏的目录。相当于 ls -Ad /*/

        tab键  history 命令的相关巧用

      3../2tab 和 *2tab : 显示当前目录下的子目录。 相当于 ls -Ad ./*/

        

      4.~2tab : 显示所有用户列表

        tab键  history 命令的相关巧用

      5.$2tab : 显示所有变量

         tab键  history 命令的相关巧用   

      6.@2tab : 显示 /etc/hosts 记录

    *注:centos 7 此功能没有了

      7.=2tab:列出该目录下所有文件 相当于 ls -A *注:centos 7 需要在等号后面接一个空格

        tab键  history 命令的相关巧用

history命令相关的引

  • 对历史命令执行

    !!: 再次执行上一条命令

    *ctrl+p ,执行: 也可以执行上一条命令

    !-#:执行历史命令中的倒数第#条命令

    !#:执行历史中的第#条命令

    !字符串:执行最近一条以给定字符串开头的命令

    !?字符(串):执行最近一条包含给定字符(串)的命令

    重要 :以下为对历史命令的处理(这个方法可能不常用,但仔细研究可以探知linux文本编辑思想)
    ^字符串 :删掉上一条命令中的给定字符串并执行 
      tab键  history 命令的相关巧用
    ^字符串1^字符串2:将上一条命令中的字符串1改为字符串2并执行

        tab键  history 命令的相关巧用 
  • !!:gs/字符串1/字符串2:将上一条命令中的所有字符串1修改为字符串2并执行 (替换机制类似于vim中的全局替换)

                    tab键  history 命令的相关巧用

  • 搜索命令:

    ctrl+r :出现以下界面,输入关键字进行搜索

    ctrl+g:退出命令的搜索  
      tab键  history 命令的相关巧用 

  • (常用) 调用历史命令的参数:(这里主要集中对^ & * n :p 的汇总应用)

    command ESC . :调用上一条命令的最后一个参数
        tab键  history 命令的相关巧用

    command !^:调用上一条命令的第一个参数
    tab键  history 命令的相关巧用

    command !$:调用上一条命令的最后一个参数,同 esc .

    command !*:调用上一条命令的所有参数

    command !:n:调用上一条命令的第n个参数
    tab键  history 命令的相关巧用
    tab键  history 命令的相关巧用

    注:这里 ! 类似于上一条命令的变量,注意比较下面的 !m 以及 !string.

    command !m:^:调用第m条命令的第一个参数
    tab键  history 命令的相关巧用

    command !m:$:调用第m条命令的最后一个参数

    command !m:n:调用第m条命令的第n个参数

    command !m:*: 调用第m条命令的所有参数

    command !string:^: 调用以给定字符串开头的最近的命令的第一个参数

    command !string:$: 调用以给定字符串开头的最近的命令的最后一个参数

    command !string:n: 调用以给定字符串开头的最近的命令的第n个参数

    command !string:: 调用以给定字符串开头的最近的命令的所有参数

  • 通过:p 指令对符合搜索条件的命令或参数只是显示不执行。

    !*:p : 显示上一条命令的所有参数

    !$:p :显示上一条命令的最后一个参数

    !^:p : 显示上一条命令的第一个参数。

    !string:p:显示第一个以给定字符串开头的命令,但是不执行。

  • 历史命令的变量的妙用,如果想永久修改变量,请编辑~/.bash_profile。 *

    • HISTIGNORE=“str1:str2:…”: 对历史命令的显示忽略str1,str2,…
      tab键  history 命令的相关巧用
      tab键  history 命令的相关巧用

      *注意这里的字符串必须时完整的,如果想输入关键字,需加上*符号
          此变量只对该变量生效后输入的命令有效。
    • HISTTIMEFORMATE=”%T %F” 在历史命令列表中显示时间。
      tab键  history 命令的相关巧用

      注意:(变量设置只对电脑开机后输入的命令有效,)
        最后变量参数后面最好加空格,以免显示出来的信息混乱。

      HISTCONTROL=ignoredups :忽略重复的命令只显示一次(这里是对参数生效后且连续输入的命令起作用)HISTCONTROL=erasedups:擦除和当前输入的重复的命令,只对当前内存中的命令有作用,对文件中的记录没有作用。

  • 历史命令的选项妙用:

    -c :清空历史命令(这里清空的时内存中保存的命令记录)

    -a: 追加当前内存中的命令到命令文件中

    -w:把内存中的命令覆盖到命令文件中

    `注意`:这两个选项,-a 会出现更多的重复记录

    -a -w 具体区别请参照网上链接

    -n:读取命令历史文件中新写入的命令。(不同人登陆同一账户时常用)

    -r:读取命令历史文件到内存。

    -p: history -p `command` `command` :悄悄的执行命令 不记录历史

    -s:history -s `command` `command` :只写入历史文件但不执行命令

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

(0)
zhoulzzhoulz
上一篇 2017-02-18 10:03
下一篇 2017-02-18 14:14

相关推荐

  • mysql并发控制

    并发控制: 锁:Lock 1、锁类型 : 读锁:共享锁,可被多个读操作共享; 写锁:排它锁,独占锁; 2、锁粒度: 表锁:在表级别施加锁,并发性较低; 行锁:在行级另施加锁,并发性较高; 3、锁策略:在锁粒度及数据安全性之间寻求一种平衡机制; 存储引擎:级别以及何时施加或释放锁由存储引擎自行决定; MySQL Server:表级别,可自行决定,也允许显式请求…

    2016-11-18
  • shell脚本进阶

    一、流程控制 过程式编程语言:顺序执行、选择执行、循环执行 1.1 条件语句 1.1.1 if条件选择语句  选择执行: (注意: if 语句可嵌套) v  单分支:if  判断条件;then           条件为真的分支代…

    Linux干货 2016-11-27
  • 磁盘分区磁盘管理及挂载

    磁盘分区 fdisk提供交互式接口管理分区,操作均在内存中完成,没有直接同步到磁盘;直到使用w命令保存至磁盘中。 语法: 1.查看分区使用信息:     fdisk -l [-u] [device…]:列出指定磁盘设备上的分区情况; 2.管理分区    fdisk d…

    Linux干货 2016-08-31
  • 用户和组命令的简单使用

    用户和组管理命令: 用户管理命令:useradd usermod userdel 组管理命令:groupadd groupmod groupdel 用户创建:useradd -u:uid 定义在/etc/login.defs -o:配合-u选项,不检查uid的唯一性 -g:gid,指明用户所属基本组,可为组名,也可以gid -c:用户的诠释信息 -d;指定用…

    Linux干货 2016-10-24
  • shell位置变量解析

    什么是位置变量 在脚本代码中调用通过命令行传递给脚本的参数。 有哪些位置变量 $1,$2,…: 对应第1、第2等参数,shift [n]换位置 $0:命令本身 $*:传递给脚本的所有参数,全部参数合为一个字符串 $@:传递给脚本的所有参数,每个参数为独立字符串$#:传递给脚本的参数的个数    &nbsp…

    Linux干货 2016-08-15
  • 设计模式 ( 十七) 状态模式State(对象行为型)

    设计模式 ( 十七) 状态模式State(对象行为型) 1.概述 在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if… ellse语句来做状态判断来进行不同情况的处理。但是对复杂状态的判断就显得“力不从心了”。随着增加新的状态或者修改一个状体(if else(或swit…

    Linux干货 2015-07-27