Linux Bash基础特性 (2)

1.命令别名(alias)

          Note:当直接执行"alias"命令不加任何选项时,会打印出当前shell进程中已存在的命令别名
      (1)alias NAME='VALUE'
    定义别名"NAME",其相当于执行命令"VALUE"
        例子:
            alias cdnet='cd /etc/sysconfig/network-scripts'
    Note:在命令行中定义的别名,仅对当前shell进程有效
       (2)如果想永久定义就要编辑以下配置文件
    对当前用户有效:~/.bashrc,保存后使用"source ~/.bashrc"重新读取配置文件生效
    对所有用户有效:/etc/bashrc,保存后使用"source ~/.bashrc"重新读取配置文件生效

撤销别名
    unalias [-a] name
        -a:撤销当前shell中的所有别名定义
        后面跟name就是撤销自己定义的别名
            例子:
                unalias cdnet      #撤销上面例子中定义的别名
    Note:如果别名同原命令的名称,则如果要执行原命令,可使用"\COMMAND"来执行

2 通配符:glob(globbing)

bash中用于实现文件名"通配"
    通配符:*,?,[]
    (1)*
        任意长度的任意字符
            例子:
                a*b:以a开头b结尾,中间是任意长度任意字符的文件,"aab,a123b,acb..."都是符合的
    (2)?
        任意单个字符
            例子:
                a?b:以a开头b结尾,中间只能有一个任意字符的文件,"a3b,acb,adb..."都是符合的
        任意两个字符
            例子:
                a??b:以a开头b结尾,中间可以有两个任意字符的文件,"accb,a12b,addb..."都是符合的
        任意三个字符(一次类推,之间匹配几个字符,就写几个"?")
            .....
    (3)[]
        只能匹配指定范围内的任意单个字符
            [0-9]:所有数字中挑一个
            [a-z]:所有字符中挑一个,默认不区分大小写
            [A-Z]:仅匹配大写字母
            例子:
                ls /tmp/a[0-9]b:这就会匹配所有以a开头,b结尾,中间是0-9之间任意一个数字的文件

        专用字符集合:
            [:digit:] :任意的数字,相当于0-9,[[:digit:]] = [0-9]
                ls /tmp a[[:digit:]]b #匹配/tmp下a开头b结尾并且中间是任意单个数字的文件
            [:lower:] :任意小写字母
                ls /tmp a[[:lower:]]b #匹配/tmp下a开头b结尾并中间是单个小写字母的文件
            [:upper:] :任意大写字母
                ls /tmp a[[:upper:]]b #匹配/tmp下a开头b结尾并中间是单个大写字母的文件
            [:alpha:] :任意大小写字母
                ls /tmp a[[:alpha:]]b #匹配/tmp下a开头b结尾并中间是任意单个大小写字母的文件
            [:alnum:] :数字或字母
                ls /tmp a[[:alnum:]]b #匹配/tmp下a开头b结尾并中间是任意单个大小写字母以及数字的文件
            [:space:] :空格字符
            [:punct:] :标点符号
        转义符号"\"
            加入要匹配[a-z]中的"-"就要使用"\-"转义,让系统知道按照一个普通字符处理

    (4)[^]
        匹配指定范围之外的任意单个字符   

你可能感兴趣的:(Linux Bash基础特性 (2))