微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux上bash的基础特性.

//转载自https://blog.51cto.com/10461810/2093380,侵必删。

1.命令别名 

 定义别名      alias  name='value'    只对当前shell有效

                     对当前用户有效     修改~/.bashrc

                     对所有用户有效     修改/etc/bashrc

          取消别名      unalias name  

                                      -a:取消所有别名

          bash进程重读配置文件

                                  source  /path/to/config_file

                                           .  /path/to/config_file

        当命令别名与原名同名时,执行原命令

                              \command,/path/to/cmmand,'aliasname',"aliasname",command aliasname

       当别名与内部命令,外部命令同名时会先执行别名

                              优先级   别名>内部命令>外部命令

2.命令历史

  • 保存输入的命令历史,登录shell时,会读取命令历史文件~/.bash_history中记录下的命令到内存中,登录进shell后新执行命令会记录在缓存中,当用户正常退出时这些命令会追加到命令历史文件中。

           history  [-c] [-d offset] [n]

                      -c:清空命令历史

                      -d offset:删除历史中指定的第offset个命令

                      -n:显示最近的n条历史

     相关环境变量

              HISTSIZE            命令历史大小

              HISTFILE            指定命令历史文件

              HISTFILESIZE     命令历史文件大小

     调用一个命令最后一个参数

             Esc,.      !$         Alt+.

     重复执行前一个命令   !!      方向上键      

     执行history中对应数字的命令   !n  

3.Tab补全

   命令补全

        路径补全 

               如果唯一,则直接补全;不唯一,再次Tab给出列表

         $2Tab   显示所有变量

4.命令Hash

 外部命令Hash缓存表

           系统初始Hash表为空,当外部命令执行时,认会从PATH路径下寻找该命令,找到后会将此条命令的路径记录到Hash表中,当再次使用该命令时,Shell解释器会首先查看Hash表,存在将执行之,如果不存在,将会去PATH路径下寻找,利用Hash缓存表来大大提高命令的调用速率。

                hash  显示全部缓存

                      -r:清除缓存

                      -t name:显示name缓存路径

                      -r name:清除name缓存

5.Bash快捷键

常用快捷键

             ctrl+c    取消命令

             ctrl+d    中止命令

             ctrl+u    删除光标之前内容

             ctrl+k    删除光标之后内容

             ctrl+a    光标跳到行首

             ctrl+e    光标跳到行尾

             ctrl+l     清屏

6文件通配符glob   

 *:匹配任意字符                                

             ?:匹配任意单个字符

          -~:前一个工作目录

      [0-9]:数字范围

       [a-z]:字母

     [A-Z]:字母

  [string]:匹配列表中的任意一个字符

 [^string]:匹配列表中所有字符以外的字符

  预定义的字符类:man 7 glob

          [:digit:]:数字

          [:lower:]:小写字母

          [:upper:]:大写字母

          [:alpha:]:任意大小写字母

          [:alnum:]:任意数字或字母

          [:punct:]:标点符号

          [:blank:]:水平空白字符

          [:space:]:水平或垂直空白字符

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐