bash的特点

来源:互联网 发布:cf老是客户端数据异常 编辑:程序博客网 时间:2024/05/12 09:00

bash

支持     1、命令历史    (用上下键)、命令补全

     2、支持管道、重定向

     3、命令别名

     4、命令行编辑

     5、命令行展开

           6、文件名通配

     7、变量

     8、编程


命令行编辑

        Ctrl+a :跳到命令行首

Ctrl+e :跳到命令行尾

Ctrl+u :删除光标至命令行首的内容

Ctrl+k :删除光标至命令行尾的内容

Ctrl+l  :清屏

命令历史

查看命令历史     :history    命令可以查看命令历史,带行号

-c :清空命令历史

-d :  -d +行号    删除指定位置的命令历史

-w :保存命令历史至历史文件中(命令历史缓冲文件,这个文件的大小可以由系统环境变量  HISTSIZE 设置)

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

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

!! :执行上一条命令

!string :执行命令历史中最近一个以指定string开头的命令

!$  :引用前一个命令的最后一个参数

按ESC 加 . : 和 !$ 相同的作用

Alt+.  : 和 !$ 相同的作用

命令补全

在环境变量  PATH 中指定的命令目录中搜索

敲一下 TAB键     唯一命令补全

敲两下TAB键      给出命令可选的列表

路径补全 自己明白 用的也是tab键


命令别名

alias     CMDALIAS='COMMAND [options]  [arguments]'        不带选项的命令可以不带单引号

例子:alias   cls=clear

注意:在shell中定义的别名仅在当前shell生命周期中有效;别名的有效范围为当前shell进程;

可以在bash配置文件中配置永久生效的别名

unalias    别名   可以撤销别名

命令替换

所谓命令替换指的是   把命令中某个子命令替换为其执行结果的过程

用法:      $(COMMAND)     反引号: `COMMAND`

如下图例子

bash支持的引号:

``  :(和 ~ 一个键) 命令替换

" " :弱引用,可以实现变量替换

'  '  :强引用,不完全变量替换


文件名通配 globbing

 通配符:

*   任意长度的任意字符

? 任意单个字符

 [ ]  匹配指定范围内的任意单个字符      [abc] ,[a-m],[a-z],[A-Z],[0-9],[a-zA-Z],[0-9a-bA-Z],

[:space:] 所有空白字符, 

[:punct:]  所有标点符号

[:lower:]  小写字母

[:upper:] 大写字母

[:alpha:] 大小写字母

[:digit:] 数字

[:alnum:] 数字和大小写字母

# man    7 glob

 [^]  匹配指定范围之外的任意单个字符   [^0-9]*

0 0
原创粉丝点击