
如何使用通配符在rm命令中删除多个目录?
- 来源:本站
- 编辑: 超级管理员
- 时间:2025-07-21 17:36:25
- 阅读0次
使用通配符配合 rm 命令删除多个目录时,核心是通过通配符匹配目录名,并结合 rm -r(递归删除目录)参数实现批量操作。以下是具体方法、示例及注意事项:
一、核心命令格式
删除目录必须使用 -r(递归删除目录内所有内容),结合通配符的基本格式:
bash
rm -r [通配符匹配的目录名]
若需删除前确认(避免误删),可添加 -i(逐个确认)或 -I(批量确认):
bash
# 逐个确认删除匹配的目录
rm -ir [通配符]
# 批量确认(删除超过3个目录时提示一次)
rm -Ir [通配符]
二、常用通配符删除目录示例
假设当前目录有以下目录:log_2023、log_2024、tmp_1、tmp_2、data_backup、image_backup。
1. 用 * 匹配前缀 / 后缀相同的目录
删除所有以 log_ 开头的目录:
bash
rm -r log_*
删除所有以 _backup 结尾的目录:
bash
rm -r *_backup
删除名称包含 tmp 的目录(如 tmp_1、tmp_2):
bash
rm -r *tmp*
2. 用 [] 匹配指定范围的目录
删除 tmp_1、tmp_2、tmp_3(数字 1-3):
bash
rm -r tmp_[1-3]
删除 dir_a、dir_b、dir_c(字母 a-c):
bash
rm -r dir_[a-c]
3. 用 ? 匹配固定长度的目录
删除名称为 testX(X 为单个字符,如 test1、testA)的目录:
bash
rm -r test?
三、安全操作:删除前确认
目录删除后果更严重(会删除目录内所有文件和子目录),务必添加确认参数:
bash
# 逐个确认每个目录的删除(包括目录内的文件)
rm -ir log_*
# 提示:rm: remove directory ‘log_2023’? (输入y确认)
# 批量删除多个目录,仅提示一次确认
rm -Ir tmp_*
# 若匹配到5个目录,提示:rm: remove 5 arguments? (输入y确认)
四、注意事项
先查看匹配结果,再删除
通配符可能匹配到意想不到的目录,建议先执行 ls -d [通配符] 查看匹配的目录列表,确认无误后再删除:
bash
# 查看所有以tmp_开头的目录
ls -d tmp_*
# 确认后再删除
rm -r tmp_*
避免误删当前目录或上级目录
通配符 * 若使用不当,可能匹配到 .(当前目录)或 ..(上级目录),例如 rm -r * 会删除当前目录下所有内容(包括子目录),极其危险!
解决办法:删除前用 ls -d [通配符] 检查,确保不包含 . 或 ..。
目录名含特殊字符的处理
若目录名包含空格、*、? 等,需用引号包裹(如 rm -r "dir with space"),否则通配符可能失效。
递归删除子目录中的目录
若需删除子目录中符合条件的目录(非当前目录的同级目录),需用 find 命令配合,例如:
bash
# 递归删除所有子目录中以tmp_开头的目录(并确认)
find . -type d -name "tmp_*" -exec rm -ir {} \;
总结
用通配符删除多个目录的关键是:rm -r + 通配符匹配目录名,并通过 ls -d 预先检查匹配结果,结合 -i/-I 确认删除,最大限度避免误删重要目录。
- 在使用通配符和rm命令时,如何避···
2025-07-21
- 如何使用通配符在rm命令中删除多···
2025-07-21
- 如何使用通配符在rm命令中删除多···
2025-07-21
- 服务器无法安装宝塔应该如何处理···
2025-07-18
- 服务器打不开网页的处理办法?
2025-07-18
- MX记录是如何工作的?
2025-07-18
- 面向未来的高可用境外服务器架构···
2024-08-26
- 跨境电商成功案例之优秀外国服务···
2024-08-22
- 从成本效益角度分析境外服务器的···
2024-08-17
- 如何规避使用外国服务器的风险问···
2024-08-16
- 搭建安全稳定的境外网站:首选外···
2024-08-19
- 针对中小企业的境外服务器配置指···
2024-08-22