{ 49 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?” :)

Reply

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.

Reply

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.

Reply

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
$

Reply

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”

Reply

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)

Reply

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?

and:

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

file is gone.

Reply

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.

Reply

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…

Reply

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 :(

Reply

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?

Reply

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’

Reply

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

debugfs
open -w /dev/…
rm File
close
q

be carefull!

Reply

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

Reply

15 Balakumar June 26, 2008 at 6:44 am

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

Reply

16 franklin August 4, 2008 at 10:11 am

what is rootkit

Reply

17 Les August 27, 2008 at 1:20 am

Thanks, that worked very well!

Reply

18 newel September 19, 2008 at 9:57 am

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

Reply

19 MindGrill December 19, 2008 at 10:58 am

Hi,

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??

Thanks
MindGrill
http://mindgrillq.blogspot.com

Reply

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).

Reply

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…

thanks,
Zimx

Reply

22 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
Password:
[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]#

Reply

23 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.

Reply

24 ciccio April 2, 2009 at 6:24 pm

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

Reply

25 ciccio April 2, 2009 at 6:25 pm

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

Reply

26 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.

Thanks

thiru

Reply

27 farnaz July 12, 2009 at 2:57 pm

How can I delete a picture in Linux?

Reply

28 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…

Reply

29 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?’

Reply

30 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

Reply

31 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 ????)

Reply

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

how can we describe the uses of inode in linux ?

Reply

33 cienias June 24, 2010 at 11:32 am

thx man :)

Reply

34 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

#include

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

Reply

35 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.

Reply

36 Dean April 19, 2011 at 2:05 pm

Thanks – very useful.

dean

Reply

37 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

Reply

38 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

Reply

39 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

Reply

40 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.

Reply

41 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?

Reply

42 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?

Reply

43 jptschudy December 30, 2012 at 9:50 pm

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

Reply

44 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.

Reply

45 Ramesh April 19, 2013 at 10:42 am

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

Reply

46 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.

But!
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!

Reply

47 venkat May 5, 2014 at 2:25 pm

find . -inum |xargs rm -f

Reply

48 venkat May 5, 2014 at 2:27 pm

ind . -inum |xargs rm -f

Reply

49 venkat May 5, 2014 at 2:28 pm

ind . -inum inodenumber |xargs rm -f

Reply

Leave a Comment

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

Previous post:

Next post: