cd and rm a directory with '^M'

DAve dave.list at pixelhammer.com
Fri Sep 12 21:23:56 UTC 2008


Wayne Sierke wrote:
> On Thu, 2008-09-04 at 01:28 -0400, DAve wrote:
>> Edwin Groothuis wrote:
>>>> I had rsync create a directory with a '^M' in it.
>>> Use command-line completion:
>>>
>>> [~/xx] edwin at k7>touch foo^Mbar		# that's ^V^M
>>> [~/xx] edwin at k7>ls -l
>>> total 0
>>> -rw-r--r--  1 edwin  edwin  0 Sep  4 13:46 foo?bar
>>> [~/xx] edwin at k7>rm foo <TAB>		# autocompletes to foo^Mbar
>>>
>>>
>> If you find yourself on a machine without a full featured shell you can 
>> delete by the inode number. Chuck Swiger saved my bacon with that trick 
>> several years ago.
>>
>> [sysadmin /usr/home/sysadmin]$ touch abc^M
>> [sysadmin /usr/home/sysadmin]$ ls -i
>> 2449500 abc?   2449511 env.sh
>> [sysadmin /usr/home/sysadmin]$ find . -type f -inum 2449500 | xargs rm
>> [sysadmin /usr/home/sysadmin]$ ls -i
>> 2449511 env.sh
>>
> However, note that using find's -x option could avoid subsequent
> consternation, embarrassment, or worse. -x avoids having find search
> over multiple filesystems which in this case avoids having find stumble
> upon files with the same inode num on different filesystems. Relevant to
> any type of find criteria, but -inum introduces a nice degree of
> (user-level) randomness to the mix.

Good point to remember.

> 
> Of course, the old adage always applies - "If in doubt - print it
> out!" (Not very catchy, is it?)

I *always* look at what I am going to remove, *before* I remove it. A 
lesson learned the hard way once, learned forever the second time.

DAve


-- 
Don't tell me I'm driving the cart!


More information about the freebsd-questions mailing list