我在名为“.”的目录中找到了一个文件。不是表示目录的“.”,而是一个包含内容的实际文件。您可以想象,这会导致各种问题。问题是我不知道如何删除它。我该如何删除名为“.”的文件而不删除整个当前目录。下面是一个列表,仅供您参考:
drwx------ 2 mysql mysql 36864 Jun 28 14:11 .
drwxrwxr-x 5 mysql mysql 4096 Jun 26 06:46 ..
-rw-r--r-- 1 user1 users 2287 Jun 24 14:32 .
-rw-rw---- 1 mysql mysql 65 Jun 21 21:16 db.opt
-rw-r--r-- 1 mysql mysql 0 Jun 28 14:11 .hidden
您可以看到目录 (.),但也可以看到“user1”拥有的名为“.”的文件,文件大小为 2287。我该如何删除它?(运行 RHEL 4.6)。
答案1
一种方法是使用 inode 编号
ls -i
获取坏文件的 inode 号,假设为 42
find . -inum 42 -exec rm -i {} \;
答案2
再次检查其中是否没有空格ls -alQ
:
drwxr-xr-x 2 adam adam 4096 2010-06-28 14:23 "."
-rw-r--r-- 1 adam adam 0 2010-06-28 14:23 ". "
drwxr-xr-x 71 adam adam 4096 2010-06-28 14:23 ".."
答案3
答案4
您可以交互运行 rm 并仅确认要删除的文件,例如:
rm -i ./.