为什么 find/rm -iname '*phpmyadmin' 无法删除 phpMyAdmin-Version-XYZ.zip?

为什么 find/rm -iname '*phpmyadmin' 无法删除 phpMyAdmin-Version-XYZ.zip?

我有以下代码:

find ./ -iname '*phpmyadmin' -exec rm -rf {} \;

它删除了一个名为 的目录phpmyadmin,但它才不是删除一个名为phpMyAdmin-Version-XYZ.zip

即使我删除了-rf,它仍然不会删除它(可能是因为 -iname 的第二个问题不影响大小写)。

  1. 有没有办法删除单个 rm(文件、目录、软链接)中的任何 inode?
  2. 为什么添加-iname没有效果?

注意:我在 中没有找到“删除任何 inode”参数man rm

答案1

phpmyadmin问题是您正在匹配以(结尾的文件不区分大小写)通过使用模式*phpmyadmin。要获取包含该字符串的任何文件phpmyadmin(不区分大小写),请使用-iname '*phpmyadmin*'

find ./ -iname '*phpmyadmin*' -exec rm -rf {} \;

也许在删除之前获取匹配的文件是明智的:

find ./ -iname '*phpmyadmin*'

为了回答你的第一个问题,用户空间中没有选项rm来处理索引节点。

答案2

find ./ -iname '*phpmyadmin*' -exec /usr/lib/klibc/bin/nuke {} +

即使有人创建了 -phpmyadmin 目录,这也有效。

相关内容