百度
360搜索
搜狗搜索

通配符linux命令详细介绍

在 Linux 中,通配符(Wildcard)是由 shell 解释的特殊字符,用于匹配文件名或路径名的模式。通过通配符可以快速批量操作文件(如 lsrmcp 等命令),避免逐个指定文件名。以下是常用通配符及其用法:

1. *:匹配任意字符(包括空)

  • 作用:匹配任意长度(0 个或多个)的任意字符(字母、数字、符号等)。
  • 示例
    • ls *.txt:列出当前目录下所有以 .txt 结尾的文件(如 a.txtreadme.txt)。
    • rm log*:删除所有以 log 开头的文件(如 log1log2025.txt)。
    • cp /data/*.csv /backup:将 /data 目录下所有 .csv 文件复制到 /backup

2. ?:匹配单个任意字符

  • 作用:严格匹配一个任意字符(不能多也不能少)。
  • 示例
    • ls file?.txt:匹配 file 后接一个字符、以 .txt 结尾的文件(如 file1.txtfilea.txt,但不匹配 file.txtfile12.txt)。
    • mv img?.png /tmp:将 img 后接一个字符、以 .png 结尾的图片移动到 /tmp(如 img0.pngimgA.png)。

3. []:匹配括号内的任意一个字符

  • 作用:匹配括号内指定范围内的单个字符(支持数字、字母的连续范围或离散字符)。
  • 示例
    • ls file[1-3].txt:匹配 file1.txtfile2.txtfile3.txt1-3 表示数字范围)。
    • ls file[a-c].txt:匹配 filea.txtfileb.txtfilec.txta-c 表示字母范围)。
    • ls file[1a].txt:匹配 file1.txtfilea.txt(离散字符)。

4. [^]![]:匹配不在括号内的任意一个字符

  • 作用:匹配不包含括号内字符的单个字符(^! 表示取反)。
  • 示例
    • ls file[^1].txt:匹配 file 后接非 1 的单个字符、以 .txt 结尾的文件(如 file2.txtfilea.txt,但排除 file1.txt)。
    • rm img[!0-9].png:删除 img 后接非数字字符、以 .png 结尾的文件(如 imgA.pngimgB.png)。

5. {}:展开多个模式(生成批量路径)

  • 作用:展开大括号内的内容,生成多个路径或文件名(常用于批量操作)。
  • 示例
    • ls file{1,2,3}.txt:等价于 ls file1.txt file2.txt file3.txt(展开为三个文件)。
    • cp {a,b}file.txt /backup:复制 afile.txtbfile.txt/backup
    • mkdir -p /data/{2023,2024,2025}/logs:创建 /data/2023/logs/data/2024/logs/data/2025/logs 三级目录(-p 表示递归创建)。

注意事项

  • 通配符由 shell(如 Bash)处理,仅用于文件名或路径名的匹配,与正则表达式(用于文本内容匹配,如 grepsed)不同。
  • 若文件名本身包含通配符字符(如 *?),需用引号(""'')或转义符(\)避免被 shell 解释。例如:ls "file?.txt"ls file\?.txt(匹配文件名含 ? 的文件)。
  • 通配符匹配结果为空时,部分命令(如 rm)可能报错,可通过 shopt -s nullglob 让空匹配返回空(不报错)。

通过灵活组合这些通配符,可以高效完成文件的批量操作,大幅提升 Linux 命令行的使用效率。

阅读更多 >>>  五种linux下的查找命令

网站数据信息

"通配符linux命令"浏览人数已经达到22次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:通配符linux命令的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!