Date: Mon, 15 Mar 2004 22:57:34 -0500 From: Parv <parv@pair.com> To: Walter <walterk1@earthlink.net> Cc: 'Questions' <freebsd-questions@FreeBSD.org> Subject: Re: deleting directories with ??? in name Message-ID: <20040316035734.GC3419@moo.holy.cow> In-Reply-To: <40564606.3020504@earthlink.net> References: <405640BE.9000102@earthlink.net> <A99A5AC30F74624388EE5F757BA58A20D7A27C@RED-MSG-50.redmond.corp.microsoft.com> <20040315235943.GA55958@falcon.midgard.homeip.net> <40564606.3020504@earthlink.net>
index | next in thread | previous in thread | raw e-mail
in message <40564606.3020504@earthlink.net>,
wrote Walter thusly...
>
> Erik Trulsson wrote:
>
> > ls(1) by default displays all unprintable characters as question
> > marks. To see what the filenames actually are use 'ls -aB'.
> >
> > To delete files with strange names you can always do a 'rm -i *'
> > and answer 'y' only for the weird files.
>
> 'rm -i *' returns "no match"
> 'ls -aB' shows me the file names, but even after carefully typing
> in what it shows me in an 'rm' command (name in quotes) says not
> found. There are \216, \235, \237, and \377 characters in the
> names
Use the inodes, find(1) & xargs(1) instead to remove the files...
- Use '-i' option of ls(1) to list the inodes of the offending
files; note them. These are listed in the most left hand
column.
# ls -iaB1
- Find(1) the files matching above inodes (assuming evil files are
in current directory & inode-1 & inode-2 are the inodes of two
nasty files) ...
# find . \( -inum <inode-1> -o -inum <inode-2> \) -print0
- Pass the find(1) output to rm(1) ...
# find . \( -inum <inode-1> -o -inum <inode-2> \) -print0 \
# | xargs -0 rm -fv
- Done
...Read up on ls(1), find(1) & xargs(1).
- Parv
--
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040316035734.GC3419>
