• 5.通配符


    在开始使用命令之前,我们需要介绍一个使命令行如此强大的 shell 特性。因为 shell 频繁地使用 文件名,shell 提供了特殊字符来帮助你快速指定一组文件名。这些特殊字符叫做通配符。 使用通配符(也以文件名代换著称)允许你依据字符类型来选择文件名。下表列出这些通配符 以及它们所选择的对象:

    表5-1: 通配符

    通配符意义
    * 匹配任意多个字符(包括零个或一个)
    ? 匹配任意一个字符(不包括零个)
    [characters] 匹配任意一个属于字符集中的字符
    [!characters] 匹配任意一个不是字符集中的字符
    [[:class:]] 匹配任意一个属于指定字符类中的字符

    表5-2列出了最常使用的字符类:

    表5-2: 普遍使用的字符类

    字符类意义
    [:alnum:] 匹配任意一个字母或数字
    [:alpha:] 匹配任意一个字母
    [:digit:] 匹配任意一个数字
    [:lower:] 匹配任意一个小写字母
    [:upper] 匹配任意一个大写字母

    借助通配符,为文件名构建非常复杂的选择标准成为可能。下面是一些类型匹配的范例:

    表5-3: 通配符范例

    模式匹配对象
    * 所有文件
    g* 文件名以“g”开头的文件
    b*.txt 以"b"开头,中间有零个或任意多个字符,并以".txt"结尾的文件
    Data??? 以“Data”开头,其后紧接着3个字符的文件
    [abc]* 文件名以"a","b",或"c"开头的文件
    BACKUP.[0-9][0-9][0-9] 以"BACKUP."开头,并紧接着3个数字的文件
    [[:upper:]]* 以大写字母开头的文件
    [![:digit:]]* 不以数字开头的文件
    *[[:lower:]123] 文件名以小写字母结尾,或以 “1”,“2”,或 “3” 结尾的文件

    接受文件名作为参数的任何命令,都可以使用通配符,我们会在第八章更深入的谈到这个知识点。

    字符范围

    如果你用过别的类 Unix 系统的操作环境,或者是读过这方面的书籍,你可能遇到过[A-Z]或 [a-z]形式的字符范围表示法。这些都是传统的 Unix 表示法,并且在早期的 Linux 版本中仍有效。 虽然它们仍然起作用,但是你必须小心地使用它们,因为它们不会产生你期望的输出结果,除非 你合理地配置它们。从现在开始,你应该避免使用它们,并且用字符类来代替它们。

    通配符在 GUI 中也有效

    通配符非常重要,不仅因为它们经常用在命令行中,而且一些图形文件管理器也支持它们。

    • 在 Nautilus (GNOME 文件管理器)中,可以通过 Edit/Select 模式菜单项来选择文件。 输入一个用通配符表示的文件选择模式后,那么当前所浏览的目录中,所匹配的文件名就会高亮显示。

    • 在 Dolphin 和 Konqueror(KDE 文件管理器)中,可以在地址栏中直接输入通配符。例如, 如果你想查看目录 /usr/bin 中,所有以小写字母 ‘u’ 开头的文件, 在地址栏中敲入 ‘/usr/bin/u*‘,则 文件管理器会显示匹配的结果。

    最初源于命令行界面中的想法,在图形界面中也适用。这就是使 Linux 桌面系统 如此强大的众多原因中的一个

  • 相关阅读:
    使用form表单上传文件
    繁星——JQuery选择器之层级
    繁星——jquery的data()方法
    running programmer——spring-01(初谈spring)
    django+javascrpt+python实现私有云盘代码
    prometheus+grafana 监控生产环境机器的系统信息、redis、mongodb以及jmx
    运维管理后台
    django+javascrpt+python实现私有云盘
    python logging模块
    python hashlib模块
  • 原文地址:https://www.cnblogs.com/hihtml5/p/9270331.html
Copyright © 2020-2023  润新知