How to delete a file with a weird name?
Solution 1:
rm -i -- *
will prompt you to delete each file. You can and should change '*' to a narrower match if there are a lot of files. The --
stops processing options, so a file named -d
will be removed by rm
successfully.
I've used that in the past and it works until you hit a special character or 2 that it does not like.
Solution 2:
you can use ls -li
to show all files by their inode. Then run this command to remove the file:
find . -inum ${INODE_NUM} -delete
I added -maxdepth 1
to my find just to be safe:
find . -maxdepth 1 -inum ${INODE_NUM} -delete