Linux 系统下的文件名长度最多可到256个字符。一般状况下,文件名的字符包括:字母、数字、“.”(点)、“_”(下划线)和“-”(连字符)。
Linux 容许在文件名中使用除上述符号以外的其它符号, 但并不建议用户这样作。 有些转意字符 (即该字符被系统借用,表示某种特殊含义) 在 Linux 的 命令解释器(shell)中有特殊的含义。这样的转意字符有:“?”(问号),“*”(星号), “ ”(空格), “$”(货币符), “&”, 扩号等等。在文件名中应尽可能避免使用这些字符。文件名中能够有" "(空格),但建议用户用“_”(下划线)来替代。“/” 既可表明目录树的根也可做为路径名中的分隔符(相似DOS下的“\”),所以“/“不能出如今文件名中。和 DOS 同样,“.” 和 “..”分别用来表示“当前目录”和“父目录”, 所以它们也不能做为文件名。
1. 文件名含有特殊字符,直接使用 rm 可能删除不了,能够使用以下方法:
1) 使用 ls -i 查处该文件的 inode 号,假设为654321
2) 使用find命令删除
find ./ -inum 654321 -exec rm '{}' \;
2. 若是文件名是以 - 连字符开头的,能够使用以下方法来删除,如删除 "-filename" 文件:
rm -- -filename
rm ./-filename node