首页 >> 学识问答 >

问linux 怎么删除当前目录下的所有文件 rm 通配符操作详解

2026-11-08 22:47:01

答

linux 怎么删除当前目录下的所有文件,核心使用 rm 命令搭配通配符,注意区分只删除文件和连同子目录一起全部删除两种需求,这是运维高频高危操作,Linux 没有回收站,执行之后默认无法直接恢复,操作前一定要确认 pwd 当前所在目录,千万不要误删重要目录。很多新手混淆两个写法,rm 只会删除当前目录普通文件,子文件夹还会保留;rm -rf 会递归删除当前目录里面所有文件、子文件夹以及里面全部内容,这个是最常用但是风险最高的写法。如果需要保留隐藏文件(以。开头的文件,比如.bashrc),rm 默认不会匹配隐藏文件,如果要连同隐藏文件一起删除,需要额外处理,这个是非常容易忽略的细节。

基础命令写法

1、删除当前目录全部普通文件,保留子目录

rm -f

-f 强制删除,不弹出确认提示

如果想要每一步都询问确认,使用 rm -i

2、删除当前目录所有文件 + 所有子目录(递归全部清空)

rm -rf

r 递归,f 强制,清空目录内全部内容,但是不会删除当前目录本身

关于隐藏文件重点说明

rm 默认不会匹配。开头隐藏文件

如果需要连同隐藏文件一起清空,推荐写法:

rm -rf ./

rm -rf ./.[!.]

注意不要写成 rm -rf ./ ../ ,避免误删上级目录

安全推荐方案(谨慎场景)

如果担心误操作,可以先预览将要删除的内容,不要直接 rm

ls

确认列表无误之后,再执行删除

进阶:find 精准删除当前目录所有文件,保留目录结构

只删除文件,保留子文件夹本身

find . -maxdepth 1 -type f -delete

这个命令优势:只删除当前一层普通文件,不会递归进入子目录,不会删除文件夹,适合只清理文件、保留目录结构场景

命令对照表

命令作用是否删除子目录是否删除隐藏文件
rm -f *删除当前目录普通文件否否
rm -rf *递归清空全部内容是否
find . -maxdepth 1 -type f -delete仅删除当前层文件否否

高危注意事项

✅ 执行前务必 pwd 确认当前目录!

❌ 严禁在 / 根目录、/etc/var 等系统目录执行 rm -rf ,会损坏系统

❌ 注意空格,rm -rf 不要误写成 rm -rf 或者带其他路径,一旦路径错误会造成灾难性删除

✅ 如果文件正在被进程占用,rm 删除之后磁盘空间不会立刻释放,需要关闭占用进程

综合来说,linux 怎么删除当前目录下的所有文件,只删文件用 rm -f ,文件和子目录全部清空用 rm -rf ,需要保留目录结构只清理文件就用 find -delete,操作前一定要核对当前目录,牢记 rm 无回收站。

【常见问题】

问题 1 linux 怎么删除当前目录下的所有文件,rm 为什么隐藏文件还在

回答 1 linux 怎么删除当前目录下的所有文件,通配符默认不匹配。开头隐藏文件,linux 怎么删除当前目录下的所有文件如果需要清理隐藏文件,需要单独追加匹配隐藏文件的规则。

问题 2 linux 怎么删除当前目录下的所有文件,rm -rf 会不会把当前文件夹本身删掉

回答 1 linux 怎么删除当前目录下的所有文件,rm -rf 只会清空目录内部内容,linux 怎么删除当前目录下的所有文件不会删除当前这个目录本身。

问题 3 linux 怎么删除当前目录下的所有文件,删除之后磁盘空间没释放怎么办

回答 1 linux 怎么删除当前目录下的所有文件之后空间未释放,一般是文件仍被进程占用,linux 怎么删除当前目录下的所有文件需要 lsof 找到 deleted 占用进程,重启进程释放空间。

问题 4 linux 怎么删除当前目录下的所有文件,有没有办法删除前预览

回答 1 linux 怎么删除当前目录下的所有文件,可以先执行 ls 预览文件清单,确认无误再执行 rm,linux 怎么删除当前目录下的所有文件预览可以有效降低误删风险。

【免责申明】

本文 linux 怎么删除当前目录下的所有文件相关内容仅用于合法授权运维学习,rm 属于高危命令,系统无回收站,执行前确认目录,重要数据提前备份,禁止误操作系统目录,因错误执行该命令造成数据丢失,相关责任由使用者自行承担。

 
最新文章