多语言展示
当前在线:888今日阅读:113今日分享:31

命令行的通配符

总有些时候咱们会拿起了笔却忘了字,明明一个文件的名称就在嘴边却就是想不起来,如果咱们此时需要遍历查找出以某个关键词开头的所有文件该如何操作呢?又例如要想批量查看所有硬盘文件的相关权限属性,笨笨的命令会是这样的,详情请关注《linux就该这么学》。
工具/原料

一台装有RHEL 7.0操作系统的电脑

方法/步骤
2

幸亏我的硬盘文件和分区只有3个,要是有几百个的话,估计一天的工作都要忙活这个事了。虽然咱们在未来的第六章才会讲Linux系统的存储结构和FHS协议规范,但其实咱们此时已经能看出一些简单规律了,比如这些文件共性都是以sda开头并且存放到了/dev目录中,那即便不知道分区编号和具体分区的个数也一样可以用通配符来搞定。通配符顾名思义就是通用的匹配信息的符号,比如星号(*)就是代表匹配零个或多个字符,问号(?)是代表匹配单个字符,括号内加上数字([0-9])代表匹配单个阿拉伯数字的字符而括号内加上字母([abc])则是代表匹配单个指定的英文字母。俗话讲百闻不如一见,看书不如做实验,例如匹配下所有在/dev目录中且以sda开头的文件吧:[root@localhost ~]# ls -l /dev/sda* brw-rw----. 1 root disk 8, 0 May 4 15:55 /dev/sda brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1 brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2

3

如果咱们只需要看sda后面一定要有个字符的文件相关信息呢?那就要用到问号来通配了。[root@localhost ~]# ls -l /dev/sda? brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1 brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2

4

您可以用[0-9]来通配所有的单个阿拉伯数字,也可以用[135]这样的方式仅匹配这三个指定数字,若没有通配到即不显示:[root@localhost ~]# ls -l /dev/sda[0-9] brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1 brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2 [root@localhost ~]# ls -l /dev/sda[135] brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1

推荐信息