命令行的通配符

2024-10-18 06:35:26

1、[root@localhost ~]# ls -l /dev/sdabrw-rw----. 1 root disk 8, 0 May 4 15:55 /dev/sda[root@localhost ~]# ls -l /dev/sda1brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1[root@localhost ~]# ls -l /dev/sda2brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2[root@localhost ~]# ls -l /dev/sda3ls: cannot access /dev/sda3: No such file or directory

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/sdabrw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1brw-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/sda1brw-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/sda1brw-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

猜你喜欢