[Baypiggies] Unlinking symlinks

Andrew Akira Toulouse andrew at atoulou.se
Fri Apr 30 22:34:54 CEST 2010


I'm pretty sure os.unlink() calls the OS's unlink function (as the name
might imply). The documentation for it (`info unlink`; the man page is a
summary which points to this) has the following:

[snip]

DESCRIPTION
       unlink()  deletes  a  name  from the file system.  If that name was
the
       last link to a file and no processes have the file  open  the  file
 is
       deleted and the space it was using is made available for reuse.

       If  the  name  was the last link to a file but any processes still
have
       the file open the file will remain in existence  until  the  last
 file
       descriptor referring to it is closed.

       If the name referred to a symbolic link the link is removed.

[snip]

One think you should be careful of, though, is that you do not have a slash
after the symlink. If it links to a directory then the slash dereferences
the link.

--Andy

On Fri, Apr 30, 2010 at 12:35 PM, Glen Jarvis <glen at glenjarvis.com> wrote:

> I hate to ask such an absolutely simple question, but for what I'm doing I
> have to be *absolutely certain* to get this right :)
>
> When deleting symlinks, I think I've always used os.unlink() although it's
> the same as os.remove().
>
> I can't tell in the documentation, but I want to be abso-bloody-lutely
> certain that I'm deleting the link and not the file that it points to. This
> is for a very large file system clean-up on a data system that would be a
> bear to replace. We wish to clean up specific symbolic links that I can find
> easily, but not the files that they point to.
>
> Is os.unlink() guaranteed to touch the symlink only?   Also, semantically,
> is this "unlinking" a hard unlinking and therefore the same as remove (i.e.,
> which would be easier for someone who is reading the code to understand/yet
> still be accurate).
>
>
> Cheers,
>
>
>
> Glen
> --
> Whatever you can do or imagine, begin it;
> boldness has beauty, magic, and power in it.
>
> -- Goethe
>
> _______________________________________________
> Baypiggies mailing list
> Baypiggies at python.org
> To change your subscription options or unsubscribe:
> http://mail.python.org/mailman/listinfo/baypiggies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/baypiggies/attachments/20100430/a7af2b99/attachment.html>


More information about the Baypiggies mailing list