linux - 如何删除名称为 '' $'\r' 的文件?

标签 linux bash special-characters non-ascii-characters rm

由于某些原因,我的目录之一中有一个文件无法删除:

$ ls -al
drwxrwxr-x 2 xxx xxx 4096 Oct 10 14:05 ''$'\r'
(more files follow...)

问题是我无法删除它。我尝试使用通配符 rm ''$'\r'ls 至少查看它匹配的内容,但没有成功。有趣的是,ls -al ?ls -al ??等不会列出该文件。

也许我可以删除整个目录并随后恢复其他文件,但我认为应该可以 1) 列出正确的文件名,2) 然后使用该名称删除文件。

最佳答案

我终于设法这样做了:

ls -i # find the inode of the file
find . -inum 4350083 -delete 

不知道为什么该名称没有以可输入的形式列出。我尝试将其括在 $'...' 中,但这也不起作用。

关于linux - 如何删除名称为 '' $'\r' 的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58371575/

相关文章:

c++ - Qt5 中用于多媒体的后端

bash - bash 中 Ctrl-R 反向搜索的替代方案

bash - 来自 Android.mk 的 Shell 脚本调用、标准输出和缺少分隔符错误

Bash 条件 : how to "and" expressions? (if [ ! -z $VAR && -e $VAR ])

.htaccess - 处理文件名中的 "#"符号

python - 如何找到两个特殊字符之间的字符串?

xml - 为什么 XML 字符约束是不对称的?

linux - 根据大小和模式在 unix 中拆分大文件

php - 使用 php/curl、linux 的 HTML5 横幅屏幕截图

linux - Windows Home Server 之类的 Ubuntu 远程备份软件