删除名为“.”的文件

Gre*_*egH 6 linux unix

我在名为“.”的目录中找到了一个文件。不是“。” 指示目录,但其中包含内容的实际文件。可以想象,这会导致各种问题。问题是我不知道如何删除它。如何删除名为“.”的文件 不删除整个当前目录。这是一个清单,只是为了向您展示:

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
Run Code Online (Sandbox Code Playgroud)

您可以看到目录 (.),但也可以看到“user1”拥有的名为“.”的文件。文件大小为 2287。我将如何删除它?(运行 RHEL 4.6)。

小智 17

一种方法是使用 inode 号

ls -i
Run Code Online (Sandbox Code Playgroud)

获取坏文件的inode号,假装是42

find . -inum 42 -exec rm -i {} \;
Run Code Online (Sandbox Code Playgroud)


小智 14

仔细检查它没有空格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 ".."
Run Code Online (Sandbox Code Playgroud)