You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用rm -rf .*命令删除隐藏文件时出现报错问题咨询

解决 rm -rf .* 删除隐藏文件时跳过 ./.. 的问题

问题根源

.* 会匹配当前目录下所有以.开头的条目,其中包含代表当前目录的.和上级目录的..。rm出于安全机制,禁止删除这两个特殊目录,因此会抛出你看到的报错。

可行解决方案

1. 精准匹配非./..的隐藏文件

使用以下命令,仅匹配真正的隐藏文件/目录:

rm -rf .[!.]*

原理:.![.]* 匹配规则为「以.开头,第二个字符不是.」,完美排除.和..。

2. 借助shell扩展特性(bash/zsh适用)

  • bash环境:先开启dotglob扩展,让*包含隐藏文件(自动跳过./..):
    shopt -s dotglob
    rm -rf *
    
  • zsh环境:利用(D)扩展匹配隐藏文件,自动排除./..:
    rm -rf .*(D)
    

3. 手动指定目标隐藏文件(最安全)

如果明确要删除的隐藏文件/目录名称,直接列出更稳妥:

rm -rf .bash_history .cache

重要提醒

  • 执行删除前,建议先用ls .[!.]*(或对应shell的预览命令)确认要删除的内容,避免误删。
  • 绝对不要在系统根目录/下执行类似递归删除命令,极易破坏系统文件。

内容的提问来源于stack exchange,提问作者Agbodike Chetam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 07:18:13