Re: major blunders
Date: Fri, 9 Oct 2009 12:57:55 -0500
I'd be very wary of relying on that. It doesn't account for when you are not in the directory which contain the files your are deleting.
oracle:~/adl/tmp> for i in 1 2 3 4 5 6 7; do echo 1 > file$i; done oracle:~/adl/tmp> touch -- -i oracle:~/adl/tmp> rm -f *
rm: remove regular file `file1'?
oracle:~/adl/tmp> rm -f *
rm: remove regular file `file1'? n rm: remove regular file `file2'? n rm: remove regular file `file3'? n rm: remove regular file `file4'? n rm: remove regular file `file5'? n rm: remove regular file `file6'? n rm: remove regular file `file7'? n
bash: n: command not found
oracle:~/adl/tmp> cd .. oracle:~/adl> rm -f tmp/* oracle:~/adl> ls -l tmp
On Fri, Oct 9, 2009 at 12:44 PM, Jared Still <jkstill_at_gmail.com> wrote:
> On Fri, Oct 9, 2009 at 10:16 AM, Fmhabash <fmhabash_at_gmail.com> wrote:
>> If I may add ...
>> - I altered behavior of 'rm' cmd forcing it to be interactive needing
>> user confirmation. Scripts coded to use non-interactive version.
> A trick to avoid accidentally deleting files you would rather keep.
> Create a file called '-i' in key directories. This will force rm -f to go
> into interactive
> mode, as the '-i' filename is interpreted as an argument.
> Create '-i' file: touch -- -i
> The double dash is used to tell rm (or any other *nix command) that the
> following stuff on the command line is not a command line option.
> Remove the file: rm -- -i
> Create a tmp directory, copy a few files into it, and try it.
> It has saved me at least once.
> Jared Still
> Certifiable Oracle DBA and Part Time Perl Evangelist
> Oracle Blog: http://jkstill.blogspot.com
> Home Page: http://jaredstill.com