Linux通配符(*?[]{}!)

Posted Xavier Jiezou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux通配符(*?[]{}!)相关的知识,希望对你有一定的参考价值。

摘要

本文将介绍如何在 Linux 中使用通配符。通配符是 Linux Shell 提供的一个非常实用的功能,掌握通配符能在你在系统管理中实现事半功倍的效果。

用法

  • *:代表任意长度的字符串(包括 0 长度)
  • ?:代表任意单个字符
  • []
    • [c1-c2] 表示匹配 c1 到 c2 序列中任意一个单一字符。但前提是 c1-c2 是一个有序的字符序列,例如 [0-9][a-z] 这些都是合法的
    • [c1,c2,...,cn] 表示匹配括号之间字符列表中任意单一字符。(字符列表用逗号分隔,不能有空格
  • str1,str2,...,strN 表示匹配 str1,str2,...,strN 这 N 个字符串中的某一个字符串,其效果完全等同于 [c1,c2,...,cn]。(字符列表用逗号分隔,不能有空格
  • !:往往和 [] 连用,表示将其内容取反。如 [!0-9] 表示匹配不是 0-9 之间的字符。

示例

  • 示例 1:删除当前工作目录下所有以 .txt 结尾的文件
$ ls
1.txt  2.txt  c.txt  result
$ rm *.txt
$ ls
result
  • 示例 2:删除当前工作目录下所有以 0-9 中的任意数字打头并以 .txt 结尾的文件
$ ls
1.txt  2.txt  c.txt  result
$ rm [0-9].txt
$ ls
c.txt  result
  • 示例 3:删除当前工作目录下所有以非 0-9 中的字符打头并以 .txt 结尾的文件
$ ls
1.txt  2.txt  c.txt  result
$ rm [!0-9].txt
$ ls
1.txt  2.txt  result

参考

中国大学 MOOC | Linux系统管理 | 主题03 | 小节 4 | 通配符

以上是关于Linux通配符(*?[]{}!)的主要内容,如果未能解决你的问题,请参考以下文章

linux基础学习-10.2-通配符回顾

Linux之通配符

linux命令行大全第四章[通配符的使用]

Linux文件操作常用选项

Linux创建新用户

linux之rename命令