当前位置:首页>Linux>Linux通配符

Linux通配符

  • 2026-09-20 13:28:07
Linux通配符
1. *(星号):匹配 “任意多个字符”(包括 0 个)
  • 作用
    :代表任意长度的字符序列(可以是字母、数字、符号,甚至空字符)。
  • 例子
    :
    • document_*.txt
       → 匹配以document_开头、以.txt结尾的所有文件(如document_2023.txt,但不会匹配document_2024.pdf)。
    • *2024*
       → 匹配文件名中包含2024的所有文件(前后可以有任意字符,如document_2024.pdf和report_2024.xls都会被选中)。
    • *.?
       → 匹配扩展名只有 1 个字符的文件(如a.txt不匹配,但a.c、b.h会匹配)。
2. ?(问号):匹配 “恰好 1 个任意字符”
  • 作用
    :代表单个未知字符,必须有且只有 1 个。
  • 例子
    :
    • file?.txt
       → 匹配file1.txt、fileA.txt,但不匹配file.txt(中间少 1 个字符)或file12.txt(中间多 1 个字符)。
    • ???.pdf
       → 匹配 3 个字符的文件名,如abc.pdf、123.pdf,但不匹配ab.pdf(太短)或abcd.pdf(太长)。
3. [](方括号):匹配 “括号内任意 1 个指定字符”
  • 作用
    :从括号里的字符集合中选 1 个匹配(只能选 1 个,不能多也不能少)。
  • 例子
    :
    • file[123].txt
       → 匹配file1.txt、file2.txt、file3.txt,但不匹配file4.txt或filea.txt。
    • [A-Za-z].txt
       → 匹配以单个字母开头的文件(如A.txt、b.txt)。
    • [0-9][0-9].txt
       → 匹配文件名前两位是数字的文件(如01.txt、99.txt)。
    • [!abc]
       或 [^abc] → 匹配 “不是 a、b、c” 的字符(!或^表示排除),例如[!0-9].txt匹配非数字开头的文件。

最新文章

随机文章