首页 > 服务器 > Linux服务器 > 正文

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

2024-09-05 23:05:18
字体:
来源:转载
供稿:网友

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

[root@linuxprobe ~]# ls /dev/sda[root@linuxprobe ~]# ls /dev/sda1[root@linuxprobe ~]# ls /dev/sda2[root@linuxprobe ~]# ls /dev/sda3

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

通配符

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

huanyu@ubuntu:~$ ls -l /dev/sda*

Linux,命令行,通配符,转义符

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

huanyu@ubuntu:~$ ls -l /dev/sda?

Linux,命令行,通配符,转义符

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

huanyu@ubuntu:~$ ls -l /dev/sda[0-9]huanyu@ubuntu:~$ ls -l /dev/sda[135]

Linux,命令行,通配符,转义符

 

 

[root@linuxprobe ~]# ls /dev/sda*/dev/sda /dev/sda1 /dev/sda2

 

[root@linuxprobe ~]# ls /dev/sda?/dev/sda1 /dev/sda2

 

[root@linuxprobe ~]# ls /dev/sda[0-9]/dev/sda1 /dev/sda2

 

[root@linuxprobe ~]# ls /dev/sda[135]/dev/sda1

转义符

Linux,命令行,通配符,转义符

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

huanyu@ubuntu:~$ echo "Price is /$$PRICE"

Linux,命令行,通配符,转义符

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

huanyu@ubuntu:~$ echo `uname -a`

Linux,命令行,通配符,转义符

示例

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

[root@linuxprobe ~]# PRICE=5

想要输出”价格是5″:

[root@linuxprobe ~]# echo "Price is $PRICE"Price is 5

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

[root@linuxprobe ~]# echo "Price is $$PRICE"Price is 3767PRICE

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

[root@linuxprobe ~]# echo "Price is /$$PRICE"Price is $5

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

[root@linuxprobe ~]# echo 'Price is /$$PRICE'Price is /$$PRICE

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

[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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到服务器教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表