我想知道这个文件是怎么进入我的目录的?运行时ls -lrt
它显示-rw-r--r-- 1
大小117562
。我能得到任何指导吗?
答案1
为了了解情况,在你的情况下我会这样做
$ ls -l ]?
$ ls | od -x
在 unix 中,您可以用任何 ASCII 字符 ( ) 创建文件man 7 ascii
。它们几乎总是意外创建的。有时文件中会有尾随字符。
$ ls | od -x # to find out.
我通常会小心地用 ? 删除它们,因为 ? 匹配 1 个字符。首先 ls ? 看看匹配的内容,然后rm ?
或者如果文件末尾有一个奇怪的字符,那么<wierdfile?>
有一个技巧可以用 BEL ASCII 代码 (07) 来制作文件,这样当你执行 时ls
,你就会听到声音。
$ touch `echo -e "\a"` # \a is BEL
$ ls # the filename is not really ?, it is really the BEL sign (07)
?
$ ls | od -x # see that it is 07
0000000 0a07
0000002
$ ls ? # ? with match any file with 1 char.
?
$ rm ? # just 1 file so safe to run it.
或进行交互式更安全的移除。
$ rm -i ?
rm:删除常规空文件 '\a'?y
$ ls ?
ls: cannot access ?: No such file or directory
是的,文件不见了。
答案2
一些错误的脚本可能会导致这种情况。你可以使用
rm -vf ']'