linux下有一些文件比较特别,无法直接删除或者容易误删除成其他文件。删除这类文件时,可以不通过文件名,可以通过inode号进行删除。

例如,这里有一个文件名为“-” ,可以通过以下步骤进行删除。

1[root@361way ~]# ll
2总用量 6856
3-rw-r--r--  1 root root    1040 10月 30 2013

使用ls -i 或ls -li查看文件的inode号

1[root@361way ~]# ls -il
2总用量 6860
3271761664 -rw-r--r--  1 root root    1040 10月 30 2011

使用find接inode号查找到文件或再进行删除

1[root@361way ~]# find . -inum 271761664  -exec rm -i {} \;
2rm:是否删除普通文件 "./–"?y

为避免删错文件,这里使用了rm的交互式删除。不需要交互时,可以将rm后的-i 去掉,也可以直接使用delete进行删除:

1# find . -inum 271761664 -delete