今天要删除一个名为”-link”的文件(误操作引起的),在终端下直接rm -link,结果失败了,于是直接在gnome里删除了,后来google了一番,有如下的收获:
rm -- -link
rm ./-link
通过 ls -i 找出文件的inode号,假设inode号为12345,然后用 find . -inume 12345 -ok rm ‘{}’ \ 删除
知识延伸:关于Linux文件名
Linux 系统区分英文字符的大小写。比如 myfile,Myfile 和 myFILE 表示的是三个不同的文件。同样,用户密码和登录名也需要区分大小写(这里沿用了 Unix 和 C 语言的命名规则)。命名目录和命名文件的规则是相同的。除非有特别的原因,否则用户创建的文件和目录名要使用小写字符。大多数的 Linux 命令也使用小写字符。
Linux 系统下的文件名长度最多可到256个字符。通常情况下,文件名的字符包括:字母、数字、“.”(点)、“_”(下划线)和“-”(连字符)。Linux 允许在文件名中使用除上述符号之外的其它符号, 但并不建议用户这样做。 有些转意字符 (即该字符被系统借用,表示某种特殊含义) 在 Linux 的 命令解释器(shell)中有特殊的含义(shell 类似于 DOS 下的命令处理器 COMMAND.COM)。这样的转意字符有:“?”(问号),“*”(星号), “ ”(空格), “$”(货币符), “&”, 扩号等等。在文件名中应尽量避免使用这些字符。文件名中可以有“ ”(空格),但建议用户用“_”(下划线)来替代。“/” 既可代表目录树的根也可作为路径名中的分隔符(类似DOS下的“\”),因此“/“不能出现在文件名中。


gaoxingshi 于 2011-03-16 21:03:39发表:
我不小心建了一个名字为"\"的文件,用rm无法删除,最后还是到文件管理器中把它干掉的!