I've come across a file created accidentally, and having a really screwed up filename. The output of ls -lq
:
ls -lq
total 2
-rw-r--r--. 1 mbyx7ag2 zk01 0 May 1 2014 ???E@X?p@8?@
I have made numerous attempts to kill this thing, but so far to no avail. Every time I get errors because the file doesn't exist, despite ls
showing it there, and being able to stat
it:
stat ^A?E\@X?p\@8^H\@
File: `\001\360\265E@X\342p@8\b@'
Size: 0 Blocks: 3 IO Block: 32768 regular empty file
Device: 1ah/26d Inode: 5239755888 Links: 1
Access: (0644/-rw-r--r--) Uid: (231058/mbyx7ag2) Gid: (10027/ zk01)
Access: 2014-05-01 15:47:28.638919596 +0100
Modify: 2014-05-01 15:47:28.638919596 +0100
Change: 2014-05-01 15:47:28.638919596 +0100
Interestingly, the stat command there is the result of tab completion, and looks nothing like the names used anywhere else.
I've tried the ideas in these questions:
How can I delete a file with no name
Is there a way to find files containing only non-printing characters?
I also tried the two methods from Removing Non-printing Characters from File Names - Arctic Region Supercomputing Centre (under "Extirpating non-printing characters").
The worrying thing is that the supposedly 'foolproof' trick of using inodes like this:
ls -i
5239755888 ???E@X?p@8?@
find . -inum 5239755888 -delete
find: cannot delete `./\001\360\265E@X\342p@8\b@': No such file or directory
doesn't work.
Does anyone know any other tricks I could use to get rid of this file?