{ 53 comments… read them below or add one }

1 Anonymous January 31, 2006 at 12:41 pm

What I’m wondering is:”how to do that on a remote server via ftp?” :)


2 venki December 25, 2010 at 11:25 pm

The special files created as above can be removed by ‘rm’ cmd in my ubuntu 10.04. Probably the rm command is updated for simplicity.


3 nixcraft January 31, 2006 at 9:18 pm

Very easy :) Login to your remote ftp server.

ftp http://ftp.some.com

Goto directory where special character files placed. And type command:

mdel *

mdel will ask you if you really wish to delete each file in the directory. Make sure you answer y (for yes) for each file containing the special character that you wish to delete. Hope this helps.


4 Anonymous February 2, 2006 at 3:34 pm

how about deleting the file using
rm ./”filename”

as in this case $ rm “+Xy +8″
./+Xy +8: ? (y/n) y


5 Anonymous February 2, 2006 at 3:43 pm

adding to my previous post there is an instance when your rm “filename” wont work.
say u created a file –help
it wont get deleted by using rm “–help”

so we have to rm ./”–help”


6 Anonymous April 7, 2006 at 5:54 pm

Anonymous: your tip won’t work if the filename has very weird characters (non-printable characters, that is)


7 calib0rx September 12, 2006 at 10:32 am

“Anonymous: your tip won’t work if the filename has very weird characters (non-printable characters, that is)”

Um, yes it will, did you actually try it? Eg, go in to vi and save a file with :wq [ctrl-v backspace]q[ctrl-v backspace]

which would look like “^?q^?” and continue. Now you have:

-rw-r–r– 1 root wheel 0B Sep 12 00:55 ?q?

Where’s the ^!!!!

So now with ls -li:

516 -rw-r–r– 1 root wheel 0 Sep 12 00:55 ?q?


[root@host ~]# find . -inum 516 -exec rm -i {} ;
remove ./q? y
[root@host ~]#

file is gone.


8 Anonymous October 3, 2006 at 8:43 pm

To make sure find only finds the files in the correct directory use the -mount switch to prevent it jumping across mount points.


9 Liam December 22, 2006 at 2:04 am

This is a simple process:
root@liam # mkdir ^Hms^?
root@liam # ls -l
total 14
drwxr-xr-x 2 root other 512 Dec 22 12:59ms

list the directory using octal representation. So you know the control characters in the name.

root@liam # ls -lb
total 14
drwxr-xr-x 2 root other 512 Dec 22 12:59 10ms\177

Now simply rm “Control V””Backspace”ms”Control V””Delete”

Where Control V is a key combination and Backspace is a key. As is Delete. In the above example 10 is BS (BackSpace) and \177 is Delete.

Very simple…


10 William September 13, 2007 at 10:51 pm

I have a directory structure:

# ls -ila
total 20
2179132 drwxrwsr-x 2 www www 16384 2007-09-14 00:16 .
2081399 drwxrwsr-x 101 www www 4096 2007-06-27 14:32 ..
? ?——— ? ? ? ? ? 1a6b29c00be.jar

the last entry couldn’t remove (fsck.ext3 /dev/sd12, rm -f, rm -rf to parent dir, stb…), because no inode. I no idea how to remove it, only found format the partition :(


11 FiNeX October 26, 2007 at 11:40 am

William, I’ve your problem too:

ls -lia
total 40
14663798 drwxr-xr-x 2 1001 1001 36864 2007-10-26 13:27 .
14663789 drwxr-xr-x 3 1001 1001 4096 2007-10-26 13:27 ..
? ?——— ? ? ? ? ? PROVA D’ABILIT? FF8.htm
? ?——— ? ? ? ? ? Prova d’abilit? ff9.htm

I can’t format the partition! There is more than 100Gb of backup file in it!!!!

someone have some further suggestions?


12 rubberband December 20, 2007 at 6:45 pm

I was able to remove a weird file name with unlink in Linux.
I just inputted:
unlink ‘weird file !@#$%&.txt’


13 Markus April 3, 2008 at 5:26 am

other way to remove files: try e2fsprogs
it is working on hardly not removing files with wrong attributes

open -w /dev/…
rm File

be carefull!


14 bd May 8, 2008 at 3:14 pm

Desi Style. Move all others which you can delete to a different folder.
Then rm -rf * & restore all those back


15 Balakumar June 26, 2008 at 6:44 am

It is very useful command to delete files which contain special Characters..


16 franklin August 4, 2008 at 10:11 am

what is rootkit


17 Les August 27, 2008 at 1:20 am

Thanks, that worked very well!


18 newel September 19, 2008 at 9:57 am

how about if removing a directory with special character with a file within it?


19 MindGrill December 19, 2008 at 10:58 am


I am trying to delete a file with inode number in hp ux but it is not prompting anything neither it is deleting teh file?
what can be the problem??



20 lotr January 20, 2009 at 8:52 am

So now the other way around, I want to put back in the directory structure file that is still used by some process (inode is hnown from the /proc//fd).


21 Zimx February 18, 2009 at 7:13 am

Hi All,

permission all files are: -rwxrw-rw-

I have 23982 total of files, I am triying to remove all of it but I alwasy got this error: “Permission denied”

what I have tried:
tried to change the permission on single file
chmod 777 filename
chmod: WARNING: can’t access 777
chmod: ERROR: invalid mode
(not working)

chown to my id (not working)

rm using inode (same error: Permission denied)

rm using wildcard (not working)

mv some files or single file to other directory (not working: Persmissin denied)

please help me to remove this junk files…



22 Adnan March 13, 2015 at 5:57 am

thanks :)


23 Y Rodrigues March 6, 2009 at 8:45 pm

I have a file called winhelp.exe16. I can not delete it, neither by your method!
I am from Brazil, “Operação não permitida” means “Operation not allowed”.

[yr@localhost dlls]$ ls -l winhelp*
—–w—- 1 root 32784 98320 Jan 4 1970 winhelp.exe16
[yr@localhost dlls]$ stat winhelp*
File: `winhelp.exe16′
Size: 98320 Blocks: 16 IO Block: 4096 arquivo comum
Device: 308h/776d Inode: 289 Links: 1
Access: (0020/—–w—-) Uid: ( 0/ root) Gid: (32784/ UNKNOWN)
Access: 1970-01-02 18:30:56.000000000 -0300
Modify: 1970-01-04 06:55:28.000000000 -0300
Change: 1970-01-03 12:43:12.000000000 -0300
[yr@localhost dlls]$ find . -inum 289 -exec rm -i {} \;
rm: remove write-protected arquivo comum `./winhelp.exe16’? y
rm: imposível remover `./winhelp.exe16′: Operação não permitida
[yr@localhost dlls]$ su
[root@localhost dlls]# find . -inum 289 -exec rm -i {} \;
rm: remove write-protected arquivo comum `./winhelp.exe16’? y
rm: imposível remover `./winhelp.exe16′: Operação não permitida
[root@localhost dlls]#


24 Y Rodrigues March 6, 2009 at 10:09 pm

Hi, people,

I got a way to delete this file. I ‘ve used debugfs. It has a rm command like the shell. Easy boys, read the man page.


25 ciccio April 2, 2009 at 6:24 pm

normal people use rm — \\+Xy\ \\+\\8 , and that’s it :)


26 ciccio April 2, 2009 at 6:25 pm

that long line is a double middle dash :\ rm “double dash” etc..


27 thiru July 7, 2009 at 7:22 am

Hi friend,

Can any one teach me or tell me how to do backup using tape drive. currently i using “tar cMvf /dev/st0 /home” but not very sure on this. how to do complete backup for few directory using 1 command.




28 farnaz July 12, 2009 at 2:57 pm

How can I delete a picture in Linux?


29 Dave K September 3, 2009 at 4:41 pm

Guys, for most cases you can just cd into another dir and do rm ../”-rf-file” and it works a charm. Only prob I had which brought me here was a file name “^M”
don’t ask how I got it but i could not delete it to save my life…


30 netors September 21, 2009 at 2:53 pm

I have a server with a web app,
my inodes are all used up,
i see this tutorial to delete inodes,
but, i do not know which inodes/files to delete
i dont know where my web app is creating this innodes… how can i know this?’


31 2GB September 30, 2009 at 2:42 pm

got a 2gb+ file which refuses to delete because of file system does not like large files. sco openserver unix.

my question is: can i delete it using the inode thing. i don’t want to risk it by trying it before i know the concequences!.

Thanks for yor help


32 Anonymous April 21, 2010 at 3:44 pm

Had all kinds of fun trying to remove a file called ????
Confirmed afterwards that it wasn’t just any old
# touch “????”
… kind of file. Simple “\” did the trick on that one. But the original file (don’t know how it was created) wouldn’t go down with rm with any manner of escaping, find (inode and -exec rm, method), or debugfs’s rm command. Eventually booted up Windows–pains me to say it, but…. WinSCP saw it as four ASCII squares and was able to delete it. (WinSCP saw the `touch “????”` file properly… as ????)


33 Mohit Joshi May 14, 2010 at 4:34 pm

how can we describe the uses of inode in linux ?


34 cienias June 24, 2010 at 11:32 am

thx man :)


35 Anonymous August 24, 2010 at 10:20 pm

This will delete a file regardless of how screwed up the name is. Copy ‘del’ to somewhere in your path, run del . Paste the following into a file (del.c) and run cc -o del del.c


main(int argc, char **argv)
return remove(argv[1]);


36 Madhukar November 11, 2010 at 6:46 am

one file got renamed to noname file (blank). Is it possible to open or rename a file with tab in its name.

apprieciate any help regarding this.


37 Dean April 19, 2011 at 2:05 pm

Thanks – very useful.



38 Sanjay Kumar July 6, 2011 at 6:32 pm

I got a better idea to delete/rename files/folder with special character and also without any risk..
Just WINSCP from Windows system to UNIX/Linux system.. then you can search and rename/delete the file/folder


39 safwan November 4, 2012 at 11:01 am

Awesome tip. I also ftp into my vps and deleted the whole directory without any problem. I was unable to delete the directory with inode number


40 Anonymous July 11, 2011 at 12:57 pm

On a related note,
using find {args} -exec rm -rf {} \;
is deprecated and should be replaced with find {args} -delete


41 Jack Nichol August 4, 2011 at 8:36 am

In my server i can see that the Inode is full. It shows 100%. It cause error when i access my domain in the browser. I have cleared all the files in “/tmp”. Now i have few free space in Inode.

[~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sd1 1200000 1188860 12640 100% /
none 153600 96 153504 1% /dev

How to find the files which cause the Inode space to be full. Is there any command to find the files that has created in the server due to Inode session. Please help.


42 Ken October 18, 2011 at 9:18 pm

I have an inode with 2 duplicate blocks. I have the name of the inode and the blocks (all numbers) so how can I delete only one block and leave the other?


43 Pradeep December 19, 2012 at 7:40 am

I have two directories with the same name.Strange is when i do ls -li , it is not even showing the inodes also.. Now how can i delete one directory?


44 jptschudy December 30, 2012 at 9:50 pm

$ rm ‘\+Xy \+\8′
works great on my ubuntu 12.10…


45 Ramesh April 19, 2013 at 10:41 am

Delete or remove files or directory with inode number
Let us try to delete file using inode number.

#find . -inum -exec rm -ir {} \;

When prompted for confirmation, press Y to confirm removal of the file or directory.


46 Ramesh April 19, 2013 at 10:42 am

#find . -inum [inode number ]-exec rm -ir {} \;


47 Tobias July 9, 2013 at 9:20 am

No need for that if you can do a ls on the file. Even if the file starts with a dash, thus beingt interpreted as an option
rm — ‘–my-file-with-dash’
works fine.

Sometimes there are files called ‘^H^H^H’ or so. You won’t see the name on the console (under some circumstances). One could call
rm -f — ???
if there is no file like ‘xyz’ in the console. Here this find command works fine.

So thanks for that idea!


48 venkat May 5, 2014 at 2:25 pm

find . -inum |xargs rm -f


49 venkat May 5, 2014 at 2:27 pm

ind . -inum |xargs rm -f


50 venkat May 5, 2014 at 2:28 pm

ind . -inum inodenumber |xargs rm -f


51 vivek November 11, 2014 at 1:58 pm

The above command for removing the file through inode number is not working properly.pls give the solution for it?????


52 Rich M. December 16, 2014 at 3:11 pm

The command line “find . -inum inodenumber | xargs rm -f”
Is not passing the proper file name to the rm command. To see this replace “rm -f” with “echo $*” (do not include the quotes). I’m not sure why you’re piping the output to the “xarg” in the first place.

I suggest you use the “-exec” option of the “find” command:
find . -inum -exec rm {} \;
Also, as someone above mentioned, simply use the backslash “\” in front of any special characters such as forward slash “/” periods, “.” hash marks “#”, dollar sign “$” etc. The backslash, also called the escape character as it “escapes” the special meaning of the single, following character.

If there are embedded spaces in the file name then also, surround everything in double quotes. This my experience using US keyboards on US systems, your experience may vary.


53 Adnan March 13, 2015 at 6:00 am

Thanks Dear :)


Leave a Comment

Tagged as: , , , , , , , , , , , , , , ,

Previous post:

Next post: