【发布时间】:2018-09-21 07:36:49
【问题描述】:
我在 Unix 文件系统上有一个奇怪的文件。文件名中似乎有一些特殊字符,但我无法删除它。即使我没有直接在rm 命令中写入名称(而是使用ls | rm),我也会收到文件不存在的错误消息。下面是我在互联网上进行了几次搜索后尝试的一些命令,以调试问题。
您对如何删除它有任何建议吗?系统是 AIX 7.1。我也尝试过使用rm 和perl 脚本(只需列出所有文件并从文件夹中删除所有内容),但没有一个有效。我也无法将文件夹移动到/tmp,我得到了同样的错误。
谢谢!
[root@server] ls -1b | od -bc
0000000 342 134 062 060 060 134 062 062 063 012
▒ \ 2 0 0 \ 2 2 3 \n
0000012
[root@server]$ ls -li
ls: 0653-341 The file ./– does not exist.
total 0
[root@server]$ ls
–
[root@server]$ ls | od -bc
0000000 342 200 223 012
▒ 200 223 \n
0000004
[root@server]$ rm *
rm: –: A file or directory in the path name does not exist.
截图
【问题讨论】:
-
不是最有见地的解决方案,但您是否尝试通过(gui)文件管理器删除文件?
-
使用 bash/Aix 这对我有用:
/bin/touch $'\342'; ls -l $'\342'; /bin/rm $'\342'; ls -l $'\342'请注意,不清楚您是使用 Linux 还是 Aix。 -
@filip:不要评论你自己的问题。 Edit您的问题以改进它(这是必要的)。不提供屏幕截图,只提供命令和输出(在 StackOverflow 上,每行前面需要四个空格来呈现它们)
-
我可以用这个命令创建这样一个文件:
LC_ALL=C touch $(printf '\342\200\223')并用这个命令删除它:LC_ALL=C rm $(printf '\342\200\223')
标签: linux unix non-ascii-characters