删除或重命名以 \r 为文件名的文件

删除或重命名以 \r 为文件名的文件

我有一个讨厌的小文件,它的名字似乎只有一个字符,而这个字符是一个\r

我怎样才能删除它?

这是我得到的ls -bl

-rw-rwxr--+   1 root             snapplewriters        0 Aug 29  2011 \r

ls -l只显示“?”

答案1

我们ls -li获取文件的 inode 编号(第一列),然后用find它来删除它(假设 inode 为 12345):

find . -inum 12345 -exec rm -i {} \;

答案2

答案3

我个人会选择 Python:

>>> import os
>>> '\r' in os.listdir('.')
True
>>> os.unlink('\r')

但是如果您了解转义字符,您也可以从 shell 中执行此操作。

$ ls -b $'\r'
\r
$ rm -vi $'\r'
rm: remove regular empty file ‘\r’? y
removed ‘\r’

答案4

单字符文件名并不常见,如果您的目录中没有其他此类文件,您可以尝试以下操作:

rm ?

我懒得学习或查找如何引用奇怪的字符,因此当我遇到名称困难的文件时,我多次使用过这种方法的变体。

相关内容