g4sra via Dng wrote:
> I opt to live dangerously..(shove an '-r' in there too if you feel like it)
> $ rm -i .* *
> this way you can delete illegitimate entries without hacking the filesystem.

That is definitely dangerous indeed.  For example if for whatever
reason one happens to have "-f" as a file name then it will override
the "-i" listed as a command line option and then all files will be
deleted without question.

    $ mkdir /tmp/testdir
    $ cd /tmp/testdir
    $ touch ./-f .foo foo
    $ echo rm -i .* *
    rm -i . .. .foo -f foo
    $ rm -i .* *
    rm: cannot remove '.': Is a directory
    rm: cannot remove '..': Is a directory
    $ ll -a
    -rw-rw-r--  1 rwp  rwp    0 Sep 22 14:57 -f
    drwxrwxr-x  2 rwp  rwp   60 Sep 22 14:57 ./
    drwxrwxrwt 11 root root 760 Sep 22 14:57 ../

Where is .foo?  Where is foo?  There was no -i prompt.  The -f file is
still on disk and not removed?  All correct behavior given the
command as given.

When dealing with file globs like "*" it is always better to prefix it
with "./" as in "./*" so as to avoid the first character having any
possibility of matching a dash and being interpreted as an option.
You make your own luck! :-)

[[ I have seen people intentionally leave a -i file in their home
directory so as to intentionally have rm * cause it to be interpreted
as an option.  I recommend not relying upon it though. ]]

Bob

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to