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

[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. 使用JavaScript+Html创建win8应用(二)

    向我们的应用中添加JavaScript 的 Windows 库控件,首先我们接着上一个demo把一个评分控件添加进来 与 HTML 控件不同的是,适用于 JavaScript 的 Windows 库控 ...

  2. Xamarin.Android之山有木兮之木有枝,心悦君兮君不知。

    Xamarin.Android之山有木兮之木有枝,心悦君兮君不知. 第一步,写项目中的第一个界面. <?xml version="1.0" encoding ="  ...

  3. Codeforces Round #354 (Div. 2) D. Theseus and labyrinth

    题目链接: http://codeforces.com/contest/676/problem/D 题意: 如果两个相邻的格子都有对应朝向的门,则可以从一个格子到另一个格子,给你初始坐标xt,yt,终 ...

  4. c++new和new()区别(了解)

    我们在C++程序中经常看到两种new的使用方式:new A以及new A().那么这两种究竟有什么区别呢? 调用new分配的内存有时候会被初始化,而有时候不会,这依赖于A的类型是否是POD(Plain ...

  5. [工作积累] android 中添加libssl和libcurl

    1. libssl https://github.com/guardianproject/openssl-android 然后执行ndk-build 2.libcurl 源代码组织结构, 下面的mak ...

  6. 【前端】js转码

    js转码 function urlencode (str) { str = (str + '').toString(); return encodeURIComponent(str).replace( ...

  7. Ubuntu下配置Docbook环境

    1.准备环境 $sudo apt-get install xsltproc $sudo apt-get install docbook-xsl $sudo apt-get install docboo ...

  8. hadoop-ha QJM 架构部署

    公司之前老的hadoop集群namenode有单点风险,最近学习此链接http://www.binospace.com/index.php /hdfs-ha-quorum-journal-manage ...

  9. Codis集群的搭建与使用

    一.简介 Codis是一个分布式的Redis解决方案,对于上层的应用来说,连接Codis Proxy和连接原生的Redis Server没有明显的区别(不支持的命令列表),上层应用可以像使用单机的Re ...

  10. jQuery1.9.1--结构及$方法的工作原理源码分析

    jQuery的$方法使用起来非常的多样式,接口实在太灵活了,有点违反设计模式的原则职责单一.但是用户却非常喜欢这种方式,因为不用记那么多名称,我只要记住一个$就可以实现许多功能,这个$简直就像个万能的 ...