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

[root@localhost Desktop]# ls /dev/sda1
[root@localhost Desktop]# ls /dev/sda2

但是有的时候不知道分区的个数和分区号,这个时候就需要用通配符来解决了,Bash解释器支持的多种通配符包括:

   ?     匹配任意单个字符
[-] 匹配范围内的数字
[abc] 匹配给出的任意字符

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

[root@localhost Desktop]# ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2

实例2:查看sda后面又一个字符的设备文件

[root@localhost Desktop]# ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2

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

[root@localhost Desktop]# ls /dev/sda[-]
/dev/sda1 /dev/sda2

实例4:查看sda后面包含1或3或5的设备文件

[root@localhost Desktop]# ls /dev/sda[]
/dev/sda1

另外,bash还有多种特殊字符的扩展

\(反斜杠)    :    转译后面的单个字符
''(单引号)  :  转译所有字符
""(双引号)  :  变量依然生效
``(反引号)  :  之行命令语句

实例:

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

 [root@localhost Desktop]# PRICE=

想要输出“价格是5”:

[root@localhost Desktop]# echo "Price is $PRICE"
Price is

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

[root@localhost Desktop]# echo "Price is $$PRICE"
Price is 5435PRICE
[root@localhost Desktop]#

此时需要添加一个反斜杠,将$进行转译

[root@localhost Desktop]# echo "Price is \$$PRICE"
Price is $

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

[root@localhost Desktop]# echo 'Price is \$$PRICE'
Price is \$$PRICE

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

[root@localhost Desktop]# echo "uname -a"
uname -a
[root@localhost Desktop]# echo 'uname -a'
uname -a
[root@localhost Desktop]# echo `uname -a`
Linux localhost.localdomain 3.10.-327.28..el7.x86_64 # SMP Thu Aug :: UTC x86_64 x86_64 x86_64 GNU/Linux

Linux命令行通配符的更多相关文章

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

    我们想对一类文件批量操作,例如批量查看硬盘文件属性,那么正常命令会是: [root@linuxprobe ~]# ls /dev/sda [root@linuxprobe ~]# ls /dev/sd ...

  2. Linux命令行批量替换多文件中的字符串【转】

    Linux命令行批量替换多文件中的字符串[转自百度文库] 一种是Mahuinan法,一种是Sumly法,一种是30T法分别如下: 一.Mahuinan法: 用sed命令可以批量替换多个文件中的字符串. ...

  3. 《Linux命令行大全》系列(三、Linux 系统)

    在<Linux命令行大全>一书中,第3章名称是 Linux 系统. 概念太大,不过该节内容却是 Linux 系统最为核心的基础——查看 Linux 系统. ls 命令 显示目录自身信息或目 ...

  4. 《Linux命令行与shell脚本编程大全 第3版》

    第一部分 Linux 命令行 第1章  初识Linux she1.1   什么是Linux 21.1.1 深入探究Linux 内核 31.1.2 GNU 工具 61.1.3 Linux 桌面环境 81 ...

  5. Linux命令行初学(一)

    linux命令大全:https://www.linuxcool.com/ 大概了解到有哪些命令,如果有需要的话可以在该网站上查询. 另外在实验楼学习了一些基础,该篇博客就此次对linux命令行的学习进 ...

  6. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  7. 详解Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  8. linux 命令行 光标移动技巧

    linux 命令行 光标移动技巧 看一个真正的专家操作命令行绝对是一种很好的体验-光标在单词之间来回穿梭,命令行不同的滚动.在这里强烈建立适应GUI节目的开发者尝试一下在提示符下面工作.但是事情也不是 ...

  9. 在linux命令行下执行php 程序

    如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...

随机推荐

  1. apache-commons-net Ftp 进行文件、文件夹的上传下载及日志的输出

    用到了apache 的 commons-net-3.0.1.jar 和 log4j-1.2.15.jar 这连个jar包 JAVA 代码如下: package com.bjut.edu.cn.ftp; ...

  2. JPA学习---第十节:JPA中的一对一双向关联

    1.创建实体类,代码如下: 代码清单1: package learn.jpa.entity; import javax.persistence.CascadeType; import javax.pe ...

  3. EJB总结

    http://blog.sina.com.cn/s/blog_8ce4eca80101azdd.htmlEJB详解 http://blog.csdn.net/han_yankun2009/articl ...

  4. Html5 常见的新增API详解

    1. getElementsByClassName()方法 getElementsByClassName()方法接收一个参数,即一个包含一或多个类名的字符串,返回带有指定类的所有元素的NodeList ...

  5. boost之bind

    bind1st bind2nd在stl里面有具体的实现,只是只能绑定两个参数. boost里面的bind使用bind(Fun f,A1 a1,A2,a2...)产生一个对象,这个对象可以有占位符,可以 ...

  6. 剑指offer--3题

    题目:输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n). 例如输入的数组为1, -2, 3, ...

  7. Configuration Management小结

    一.git branch和patch区别 patch,只是把diff部分创建一个分支.Detail: http://www.cnblogs.com/y041039/articles/2411600.h ...

  8. Sublime搭建nodejs环境(windows)

    1.下载nodejs,并安装ok后,配置好环境变量. 2.下载sublime text3 3.在package install 包中新增node插件(或者直接去SublimeText-Nodejs插件 ...

  9. 关于JS中的constructor与prototype

    ======================================================================== 在学习JS的面向对象过程中,一直对constructo ...

  10. eclipse git 整合

    最近朋友都推荐使用github管理自己的项目,而且免费用户可以有5个仓库,恰好我也想了解下git,借此机会学习一下.github官方指南使用独立第三方git工具来进行版本控制,并不借助于eclipse ...