Linux学习记录D04:bash的基础特性(2)-命令别名、glob通配

bash的基础特性(2):

    1、命令别名(alias)
        通过alias命令实现:
            (1) alias
                显示当前shell进程所有可用的命令别名:
            (2) alias NAME='VALUE'
                定义别名NAME,其相当于执行命令VALUE:
            
            注意:在命令行中定义的别名,仅对当前shell进程有效:
                仅对当前用户:~/.bashrc
                对所有用户有效:/etc/bashrc
                
                Note: 编辑配置给出的新配置不会立即生效:
                 
                bash重新读取配置文件:
                    source /path/to/config_file
                    . /path/to/config_file

        撤销别名:unalias
            unalias [-a] name [name ...]
            
        Note:如果别名同原命令的名称,则如果要执行原命令,可使用"\COMMAND":    
            
    2、glob(globbing)
        bash中用于实现文件名“通配”
            
            通配符:*,?,[]
            
            (1) *
                任意长度的任意字符
                    a*b: aab, ab, a123b, 
                    
            (2) ?
                任意单个字符
                    a?b: aab
                    
            (3) []
                匹配指定范围内的任意单个字符
                    [0-9]
                    [a-z]:不区分字符大小写
                    [A-Z]:大写字母
            (4) [^]
                匹配指定范围外的任意单个字符
                    [^0-9]
                    
            专用字符集合:
                [:digit:]:任意数字,相当于0-9。 [[:digit:]] = [0-9]
                [:lower:]:任意小写字母    
                [:upper:]:任意大写字母
                [:alpha:]:任意大小写字母
                [:alnum:]:任意数字或字母
                [:space:]:表示空格
                [:punct:]:标点符号
                    
    练习:
        1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录:
            ls /var/l*[[:digit:]]*[[:lower:]]
        2、显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录:
            ls /etc/[[:digit:]]*[^[:digit:]]
        3、显示/etc/目录下,以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录:
            ls /etc/[^a-z][a-z]*
        4、复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/mageedu目录中:
            cp -a /etc/m*[^0-9] /tmp/mageedu
        5、复制/etc目录下,所有以.d结尾的文件或目录至/tmp/mageedu目录中:
            cp -a /etc/*.d /tmp/mageedu
        6、复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/mageedu.com目录中:
            cp -a /etc/[mnrp]*.conf /tmp/mageedu.com    

猜你喜欢

转载自blog.csdn.net/up1292/article/details/82084401