rm -rf -Mitigating the dangers

Jake milios at ccsys.com
Sun Apr 17 23:00:08 UTC 2016


> On Apr 17, 2016, at 6:30 PM, David Christensen <dpchrist at holgerdanske.com> wrote:
> 
>> On 04/17/2016 10:10 AM, Odhiambo Washington wrote:
>> I am wondering if I should place a feature request on this or just do it my
>> way:)
>> 
>> With great power comes great responsibility and as such I think there
>> should be a wrapper around rm to warn sysadmins that what they are about to
>> do with -rf is dangerous, yes?
>> 
>> Read input from sysadmin 3 times, looking strictly for their confirmation
>> before effecting the `rm -rf`.
>> 
>> Could it be that what I am smoking/drinking is the issue here or I have
>> your support? LOL
> 
> I have this in my .bashrc:
> 
>    alias rm='rm -i --one-file-system'
> 
> So, an accidental 'rm -rf' should limit destruction to one file system.
> 
> 
> Perhaps what you're looking for is a command-line equivalent of desktop trash cans.  STFW this is not a new idea and there are existing solutions.
> 
> 
> David

I for one cherish my God given constitutionally protected right to blast my darned foot clear off my bloody leg with one twitch of a hair trigger. :)

A wrapper would be problematic. Too many scripts rely on rm doing what it's meant to do. Even testing for a tty on stdin or stdout cannot offer any straightforward way to guarantee adherence to expected behavior in times it's necessary. Perhaps a wrapper that simply sleeps for a few seconds first is viable but more complex logic would be necessary to avoid a horrific slowdown when used within some sort of loop.

An alias or function which is only sourced by your shell when entering interactive mode would indeed be a good spot to place the proposed hypothetical solution.


More information about the freebsd-questions mailing list