如何删除文件名中带特殊符号的文件
发布网友
发布时间:2022-04-21 18:04
我来回答
共1个回答
热心网友
时间:2023-06-23 22:38
Linux
系统下的文件名长度最多可到256个字符。通常情况下,文件名的字符包括:字母、数字、“.”(点)、“_”(下划线)和“-”(连字符)。Linux
允许在文件名中使用除上述符号之外的其它符号,
但并不建议用户这样做。
有些转意字符
(即该字符被系统借用,表示某种特殊含义)
在
Linux
的
命令解释器(shell)中有特殊的含义。这样的转意字符有:“?”(问号),“*”(星号),
“
”(空格),
“$”(货币符),
“&”,
扩号等等。在文件名中应尽量避免使用这些字符。文件名中可以有“
”(空格),但建议用户用“_”(下划线)来替代。“/”
既可代表目录树的根也可作为路径名中的分隔符(类似DOS下的“\”),因此“/“不能出现在文件名中。
和
DOS
一样,“.”
和
“..”分别用来表示“当前目录”和“父目录”,
因此它们也不能作为文件名。
1.
文件名含有特殊字符,直接使用
rm
可能删除不了,可以使用如下方法:
1)
使用
ls
-i
查处该文件的
inode
号,假设为654321
2)
使用find命令删除
find
./
-inum
654321
-ok
rm
'{}'
\;
2.
如果文件名是以
-
连字符开头的,可以使用如下方法来删除,如删除
"-filename"
文件:
rm
--
-filename
rm
./-filename