RELATEED CONSULTING
相关咨询
欢迎选择下列在线客服咨询
微信客服
微信客服二维码
热线电话:13863516421
7x24小时,全年无休
我们服务器的承诺:
关闭右侧工具栏

高防服务器专题

通配符如何配合rm命令使用?

  • 来源:本站
  • 编辑: 超级管理员
  • 时间:2025-07-19 18:53:36
  • 阅读0次


在 rm 命令中,通配符可以快速匹配符合条件的文件(或目录),实现批量删除,无需逐个输入文件名。常用的通配符包括 *、?、[] 等,结合 rm 使用时能大幅提高效率。以下是具体用法和示例:

一、常用通配符及作用

通配符 作用描述 示例

* 匹配任意长度的任意字符(包括空字符) *.log 匹配所有以 .log 结尾的文件

? 匹配单个任意字符 file?.txt 匹配 file1.txt、fileA.txt 等(文件名第 5 位为任意字符)

[abc] 匹配括号内的任意单个字符 image_[123].jpg 匹配 image_1.jpg、image_2.jpg、image_3.jpg

[a-z] 匹配指定范围内的单个字符(如小写字母、数字) doc_[0-9].pdf 匹配 doc_0.pdf 到 doc_9.pdf

[^abc] 或 [!abc] 匹配不在括号内的单个字符 file_[!a-z].txt 匹配 file_1.txt、file_.txt(排除小写字母)

二、通配符配合 rm 的实用示例

1. 使用 * 批量删除特定类型文件

删除当前目录下所有 .log 日志文件:

bash

rm *.log

删除所有以 tmp_ 开头的文件(如 tmp_123、tmp_cache):

bash

rm tmp_*

删除 data_ 开头且以 .csv 结尾的文件(如 data_2023.csv、data_user.csv):

bash

rm data_*.csv

2. 使用 ? 匹配固定长度的文件名

删除文件名格式为 fileX.txt(X 为单个字符,如 file1.txt、fileA.txt):

bash

rm file?.txt

匹配 img-??.png(中间两位为任意字符,如 img-ab.png、img-12.png):

bash

rm img-??.png

3. 使用 [] 匹配指定范围的字符

删除 backup_2023-10-0[1-5].tar(日期为 1-5 日的备份文件):

bash

rm backup_2023-10-0[1-5].tar

删除文件名包含 a、b、c 中任意一个的 .txt 文件(如 a.txt、b1.txt、xc.txt):

bash

rm [abc]*.txt

4. 结合确认参数(-i/-I)安全删除

批量删除时,建议配合 -i(逐个确认)或 -I(批量确认)避免误删:

bash

# 删除所有.tmp文件,每个都确认(适合少量文件)

rm -i *.tmp

# 删除10个.log文件,仅提示一次确认(适合大量文件)

rm -I *.log

5. 递归删除目录中的匹配文件(需 -r)

若要删除目录及其子目录中符合条件的文件,需结合 find 命令(rm 本身不支持递归匹配子目录):

bash

# 递归删除所有子目录中的.txt文件(先确认再删除)

find . -name "*.txt" -exec rm -i {} \;

三、注意事项

通配符匹配范围:rm 命令的通配符仅匹配当前目录的文件,不会自动递归子目录(子目录文件需用 find 配合)。

谨慎使用 *:例如 rm * 会删除当前目录所有文件,若误操作后果严重,建议先执行 ls * 查看匹配结果,确认无误后再删除。

避免混合特殊字符:若文件名包含空格、*、? 等特殊字符,需用引号包裹(如 rm "file with space.txt"),否则通配符可能失效。


通过通配符与 rm 结合,可以高效批量处理文件,但务必在删除前通过 ls [通配符] 检查匹配结果,确保不删除重要文件。


我们提供7X24小时售后服务,了解更多机房产品和服务,敬请联系
购买咨询 售后服务