Is this a bug?

$ mkdir a
$ ln -s a b
$ touch b/t
$ ls a
t

What touch b/t did was open b for writing to put a link to the freshly
allocated file underlying t. The fact that opening a symbolic link
means opening the thing to which the link is pointing is essential to
the nature of symbolic links. No distinction is made between whether
that opening is for reading, writing, or both.

You perhaps confuse it with

$ touch a
$ ln -s a b
$ touch c
$ mv c b

in which case a remains as it was and b is no longer a symbolic link.
The key is that "mv" doesn't open b or c. The distinction between
opening and linking/unlinking files is subtle and perhaps unintuitive,
but as you see, sometimes it matters.

It doesn't really matter whether it's a bug or not, by the way. The
behaviour comes from the operating system and this behaviour has been
like this for ages. It's not going to change in unix, we'll just have
to live with it.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to