It finally happened – a customer managed to give a pair of files some impossible names:
\*\*somefile_&name.mov
\*another_file.mov
(how they accomplished this is anyone’s guess) and then complained that they couldn’t delete or rename them. Which is true — the mv, rm, stat, and file commands all complained that they couldn’t stat the files, no matter how I quoted their names. Remembered reading once that you could nuke such files via inode, but had never had cause to try it. Sure enough: “ls -il” gives you the inode number in the filesystem. You can then use:
find . -inum [inode_number] -exec rm -i {} \;
There’s always a side door.