zoukankan      html  css  js  c++  java
  • Linux命令行通配符

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

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

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

       ?     匹配任意单个字符
    [0-9]    匹配范围内的数字
    [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[0-9]
    /dev/sda1  /dev/sda2

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

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

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

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

    实例:

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

     [root@localhost Desktop]# PRICE=5

    想要输出“价格是5”:

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

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

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

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

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

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

    [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.0-327.28.3.el7.x86_64 #1 SMP Thu Aug 18 19:05:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  • 相关阅读:
    小菜鸟学 MQ(三)
    小菜鸟 学MQ(二)
    小菜鸟学 MQ(一)
    CXF 自定义拦截器
    WebService 入门程序(一)
    查找满足条件的颜色并替换
    jsfl 巧用获取jsfl绝对路径,导入配置文件,注意配置文件无法改变舞台宽高
    jsfl 发布保存关闭
    jsfl 改变舞台宽高
    AS3 在不规则区域内拖动
  • 原文地址:https://www.cnblogs.com/tdcqma/p/5853020.html
Copyright © 2011-2022 走看看