Linux命令之bash的基础特性(命令历史命令补全路径补全命令行展开。)

Posted 刘小创

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令之bash的基础特性(命令历史命令补全路径补全命令行展开。)相关的知识,希望对你有一定的参考价值。

  1. 命令历史

history:

环境变量:

  HISTSIZE:命令历史记录的条数

  HISTFILE:~/.bash_history

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

history -d OFFSET : 删除某条历史记录

history + 数字:显示最近n条历史记录命令 

调用历史命令:

  !+数字:例如!3:重复第三条历史命令

  !!:重复上一条命令

  !string:最近一次以指定字符串开头的命令

调用上一条命令最后一个参数:

  !$

  ESC  然后再按  .

  Alt + .

控制命令历史的记录方式:

  环境变量:HISTCONTROL

    ignoredups:忽略重复的命令(命令必须连续并且一样才算重复)

    ignorespace:忽略空白开头的命令

    ignoreboth:上两条都忽略

  修改环境变量值:export 变量名=“值”

2.命令补全

  bash执行命令:

    内部命令:

    外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令

      直接补全:Tab,用户给定的字符串只有一条唯一对应的命令

      间接补全:用户给定的字符串为开头对应的命令不唯一,按两下Tab给出所有满足条件的列表

3.路径补全

  把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定字符串开头的文件名:

    如果唯一:则直接补全

    如果不唯一:再按一下Tab,显示所有满足条件列表

4.命令行展开

  ~:展开为用户的主目录

  ~USERNAME:展开为指定用户的主目录

  {}:可承载一个以逗号分隔的列表,并展开为多个路径

    例如:    /tmp/{a,b} = /tmp/a    和    /tmp/b

        /tmp/{a,b}/c = tmp/a/c    和    /tmp/b/c

5.目录管理类命令

  mkdir [options] /path/to/somewhere

    -p:如果中间目录不存在,不报错,逐级创建个各目录

    -v:显示详细信息

    -m:创建目录时指定权限

  tree

    -d:只显示目录

    -L:指定显示的层级数目

    -P:只显示由指定P匹配到的路径

  rmdir:删除空目录

    -v:显示过程

以上是关于Linux命令之bash的基础特性(命令历史命令补全路径补全命令行展开。)的主要内容,如果未能解决你的问题,请参考以下文章

2017.10.15 bash基础特性及基础命令

Linux之bash特性

Linux上bash的基础特性

Linux系统管理之总结

Linux 基础学习bash特性

shell脚本基础-bash变量和逻辑运行