LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1227|回复: 14

[解决]突然发现有两个文件名有问题,无法删除,晕!

[复制链接]
发表于 2007-11-27 20:47:10 | 显示全部楼层 |阅读模式
今天突然发现home中有两个文件, 分别为 -d 和 -D,不会删,晕了。
server abc # ls -l
total 881
.......
-rw-r--r-- 1 abc users  449418 2007-10-30 16:12 -d
-rw-r--r-- 1 abc users  449418 2007-10-30 16:12 -D
......
发表于 2007-11-27 20:55:59 | 显示全部楼层
试试以root身份chown改变所有者。
回复 支持 反对

使用道具 举报

发表于 2007-11-27 21:06:37 | 显示全部楼层
rm -- -D
rm -- -d
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-27 21:39:58 | 显示全部楼层
Post by xihe;1788449
rm -- -D
rm -- -d

这样就行了,靠,怎么想出来的,兄弟!

认真man rm 了一下, 看到这个说明了, linux永远的要依靠文档!

有一天,上帝把所有的文档都没收了, ... ...
回复 支持 反对

使用道具 举报

发表于 2007-11-27 22:00:01 | 显示全部楼层
根源在于C库里的getopt函数
man 3 getopt
The special argument "--" forces an end of option-scanning regardless of the scanning mode.
回复 支持 反对

使用道具 举报

发表于 2007-11-27 23:08:58 | 显示全部楼层
rm ./-d
rm ./-D
也行滴~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2007-11-27 23:26:21 | 显示全部楼层
用inode号删除

ls -l
找到inode number 是n
find ./ -inum n -exec rm {} \;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-28 08:51:01 | 显示全部楼层
长见识!    !
回复 支持 反对

使用道具 举报

发表于 2007-11-28 09:08:03 | 显示全部楼层
上面说的真棒,我也有过这样的问题。

只是首先我有一个问题:在Linux里 D  和 d 代表的应该是两个不同的目录吧?

不过要删除一些特殊符号的文件确实不好办。
回复 支持 反对

使用道具 举报

发表于 2007-11-28 11:11:34 | 显示全部楼层
真是学习了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表