前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 命令行通配符及转义符的实现

Linux 命令行通配符及转义符的实现

作者头像
砸漏
发布2020-10-19 11:17:28
3.7K0
发布2020-10-19 11:17:28
举报
文章被收录于专栏:恩蓝脚本恩蓝脚本

我们想对一类文件批量操作,例如批量查看硬盘文件属性,那么正常命令会是:

代码语言:javascript
复制
[root@linuxprobe ~]# ls /dev/sda
[root@linuxprobe ~]# ls /dev/sda1
[root@linuxprobe ~]# ls /dev/sda2
[root@linuxprobe ~]# ls /dev/sda3

但有些时候确实不知道分区的

通配符

星号(*)代表匹配零个或多个字符

代码语言:javascript
复制
huanyu@ubuntu:~$ ls -l /dev/sda*

问号(?)代表匹配单个字符

代码语言:javascript
复制
huanyu@ubuntu:~$ ls -l /dev/sda?

中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符

代码语言:javascript
复制
huanyu@ubuntu:~$ ls -l /dev/sda[0-9]
huanyu@ubuntu:~$ ls -l /dev/sda[135]

示例:

查看sda开头的所有设备文件:

代码语言:javascript
复制
[root@linuxprobe ~]# ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2

查看sda后面有一个字符的设备文件:

代码语言:javascript
复制
[root@linuxprobe ~]# ls /dev/sda?
/dev/sda1 /dev/sda2

查看sda后面包含0-9数字的设备文件:

代码语言:javascript
复制
[root@linuxprobe ~]# ls /dev/sda[0-9]
/dev/sda1 /dev/sda2

查看sda后面是1或3或5的设备文件:

代码语言:javascript
复制
[root@linuxprobe ~]# ls /dev/sda[135]
/dev/sda1

转义符

反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串

代码语言:javascript
复制
huanyu@ubuntu:~$ echo "Price is $$PRICE"

反引号(“):把其中的命令执行后返回结果

代码语言:javascript
复制
huanyu@ubuntu:~$ echo `uname -a`

示例

定义名称为PRICE的变量值为5:

代码语言:javascript
复制
[root@linuxprobe ~]# PRICE=5

想要输出”价格是5″:

代码语言:javascript
复制
[root@linuxprobe ~]# echo "Price is $PRICE"
Price is 5

想要输出”价格是5″,但因为美元符号与代表变量取值的符号冲突了,所以报错了:

代码语言:javascript
复制
[root@linuxprobe ~]# echo "Price is $$PRICE"
Price is 3767PRICE

添加一个反斜杠,将第一个$符号转义:

代码语言:javascript
复制
[root@linuxprobe ~]# echo "Price is $$PRICE"
Price is $5

使用单引号,变量将不再被取值:

代码语言:javascript
复制
[root@linuxprobe ~]# echo 'Price is $$PRICE'
Price is $$PRICE

执行uname -a后可以查看到本机内核的版本与架构信息(反引号里面的命令会被执行):

代码语言:javascript
复制
[root@linuxprobe ~]# echo `uname -a`
Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档