1. glob:文件名通配
1 | 匹配模式:元字符;详细说明请参见Linux官方说明问题;命令:man glob。 |
1.1. 任意字符匹配
1 | *:匹配任意长度的任意字符 |
1.2. 任意单个字符匹配
1 | ?:匹配任意单个字符 |
1.3. 指定范围内的任意单个字符
[]:匹配指定范围内的任意单个字符
1 | 有几种特殊格式: |
1.4. 指定范围外的任意单个字符
1 | [^]或[!]:匹配指定范围外的任意单个字符 |
1.5. 匹配指定的模式
1 | {…}:匹配大括号里面的所有模式,模式之间使用逗号分隔 |
1.6. 连续字符匹配
1 | {start…end}:匹配连续范围的字符 |
2. 练习:
2.1. 显示/var目录所有以1开头,以小写字母结尾,且中间出现一位任意字符的文件或目录
1 | ubuntu@YAITZA:~$ ls -d /var/l?[a-z] |
2.2. 显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录
1 | ls -d /etc/[0-9]*[^0-9] |
2.3. 显示/etc目录下,以非字母开头,后面跟一个字母及其它任意长度任意字符的文件或目录
1 | ls -d /etc/[^[:alpha:]][[:alpha:]]* |
2.4. 复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/test目录
1 | cp -r /etc/m*[^0-9] /tmp/test |
2.5. 复制/usr/share/man目录下,所有以man开头,后跟一个数字结尾的文件或目录至/tmp/man/目录下
1 | cp -r /usr/share/man/man[0-9] /tmp/man |
2.6. 复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/conf.d目录下
1 | cp -r /etc/[mnrp]*.conf /tmp/conf.d |