RHEL命令行的通配符

简介: 通用的匹配信息的符号

通配符就是通用的匹配信息的符号,比如星号(*)代表匹配零个或多个字符, 问号(?)代表匹配单个字符,中括号内加上数字[0-9]代表匹配 0~9 之间的单个数字的字符, 而中括号内加上字母[abc]则是代表匹配 a、b、c 三个字符中的任意一个字符。

image.png

匹配所有在/dev 目录中且以 nvme 开头的文件:

[root@rhel-8 ~]# ls -l /dev/nvme*crw-------. 1 root root 243, 0 Nov 1410:37 /dev/nvme0
brw-rw----. 1 root disk 259, 0 Nov 1410:37 /dev/nvme0n1
brw-rw----. 1 root disk 259, 1 Nov 1410:37 /dev/nvme0n1p1
brw-rw----. 1 root disk 259, 2 Nov 1410:37 /dev/nvme0n1p2

如果只想查看文件名以 sda 开头,但是后面还紧跟其他某一个字符的文件的相关信息, 这时就需要用到问号来进行通配了:

[root@rhel-8 ~]# ls -l /dev/nvme?crw-------. 1 root root 243, 0 Nov 1410:37 /dev/nvme0

除了使用[0-9]来匹配 0~9 之间的单个数字,也可以用[012]这样的方式仅匹配这 3 个指 定数字中的一个;若没有匹配到数字 1 或 3 或 5,则不会显示出来:

[root@rhel-8 ~]# ls -l /dev/nvme[0-9]crw-------. 1 root root 243, 0 Nov 1410:37 /dev/nvme0
[root@rhel-8 ~]# ls -l /dev/nvme[012]crw-------. 1 root root 243, 0 Nov 1410:37 /dev/nvme0
[root@rhel-8 ~]# ls -l /dev/nvme[135]ls: cannot access '/dev/nvme[135]': No such file or directory

通配符不一定非要放到最后面,也可以放到前面。比如,可以使用下述命令来搜索/etc/ 目录中所有以.conf 结尾的配置文件有哪些:

[root@rhel-8 ~]# ls -l /etc/*.conf-rw-r--r--. 1 root root       55 Feb  12019 /etc/asound.conf
-rw-r--r--. 1 root root    25696 Dec 122018 /etc/brltty.conf
-rw-r--r--. 1 root root     1083 Apr  42018 /etc/chrony.conf
...

通配符不仅可用于搜索文件或代替被通配的字符,还可以与创建文件的命令相结合, 一口气创建出好多个文件。不过在创建多个文件时,需要使用大括号,并且字段之间用逗 号间隔:

[root@rhel-8 ~]# touch {aa,bb,cc}.conf[root@rhel-8 ~]# ls -l *.conf-rw-r--r--. 1 root root 0 Nov 1419:40 aa.conf
-rw-r--r--. 1 root root 0 Nov 1419:40 bb.conf
-rw-r--r--. 1 root root 0 Nov 1419:40 cc.conf

通配符还可以输出一些指定的信息:

[root@rhel-8 ~]# echo file{1,2,3,4,5}file1 file2 file3 file4 file5


相关文章
|
9月前
|
Linux
如何在 Linux 中创建带有特殊字符的文件?
如何在 Linux 中创建带有特殊字符的文件?
131 0
|
7月前
|
安全 Linux
Linux通配符及其在文件搜索和管理中的应用
Linux通配符及其在文件搜索和管理中的应用
|
7月前
|
Java Linux
Linux通配符的使用方法
Linux通配符的使用方法
|
8月前
|
Linux Shell
Linux通配符总结
Linux通配符总结
|
9月前
|
存储 算法 Shell
【Shell 命令集合 文档编辑】Linux 正则表达式匹配 egrep命令使用教程
【Shell 命令集合 文档编辑】Linux 正则表达式匹配 egrep命令使用教程
103 0
|
机器学习/深度学习 NoSQL Linux
Linux行处理工具: grep 正则表达式
Linux行处理工具: grep 正则表达式
126 0
|
Linux
Linux通配符的使用详解
一、简介 一般生产环境的服务器默认都是不安装图形化界面的,习惯了在命令行环境下工作是,大家会发现:命令行操作效率比图形化界面效率高很多。
996 0
|
Linux Shell
linux里面的命令:./和. /(这里有空格)的区别
/  ( 直接/ ) 直接 / 表示: 根目录。 ./ ( 点号紧跟/ ) 点号紧跟/ 表示: 当前目录(相对路径的写法)。 . / ( 点号 空格 / ) 有空格的点号等同于source命令,表示在当前shell环境执行后面的命令或脚本(不加点号默认是新开一个shell执行的 例如 . /home/test.sh 等同于 source /home/test.sh。
2529 0