Ghost file

Jean-Pierre Radley jpr at dasys1.UUCP
Thu Nov 17 02:58:34 AEST 1988


In article <8430 at alice.UUCP> debra at alice.UUCP () writes:
>In article <17529 at adm.BRL.MIL> ZAT011%DJUKFA11.BITNET at cunyvm.cuny.edu (Thomas Heil) writes:
>>I got a little problem with  a "ghost file". It appears when I  list the
>>contents of  a directory, but  it can't be accessed  in any way  - every
>>program tells  me it doesn't  exist. It can't  even be removed.  But the
>>directory (only containing that file) cannot be removed because it's not
>>empty. And I can even create another  file with the same name which then
>>appears  twice...
>I would suspect that the name of the ghost file contains a non-printable
>character, which doesn't show up when you try ls. A way to find out is
>to make an octal dump of the directory.
>Another way of trying to delete the file is to try to generate the name:
>if it appears as "ghost" in the directory you could try
>rm *g*h*o*s*t*

More than likely, the "ghost file" does contain "bad" characters. "Bad"
means that you probably can't enter these characters from the keyboard,
and even if you've made an octal dump to see _all_ of the file name, you
won't be able to type it as an argument to 'rm'. If the bad name starts
with "-", 'rm' thinks it's an option, not a file name. If the bad name
has backspaces or non-printable characters, then it may _appear_ on your
terminal to have the "same" name as a another file.

It may be so screwed up that the "*" metacharacter won't expand into such
a bad name (and if the name starts with ".", then the "*" also won't
help).

How to stomp on such insects:

Go to the directory in question and type "ls -i". Make a note of the inode
number, say NNNNN, of the offender. Then:
	find . -inum NNNNN -exec rm {} \;

-- 
Jean-Pierre Radley		Honi soit		jpr at dasys1.UUCP
New York, New York		qui mal			...!hombre!jpradley!jpr
CIS: 76120,1341			y pense			...!hombre!trigere!jpr



More information about the Comp.unix.wizards mailing list