[CentOS] Overwrite target of ln

Tue Mar 4 23:41:31 UTC 2008
Matt Arnilo S. Baluyos (Mailing Lists) <matt.baluyos.lists at gmail.com>

On 05/03/2008, Matt Arnilo S. Baluyos (Mailing Lists)
<matt.baluyos.lists at gmail.com> wrote:
> On 05/03/2008, Garrick Staples <garrick at usc.edu> wrote:
>  > On Wed, Mar 05, 2008 at 07:20:50AM +0800, Matt Arnilo S. Baluyos (Mailing Lists) alleged:
>  >
>  > > Hi all,
>  >  >
>  >  > Sorry if this seems too basic.
>  >  >
>  >  > But is there a way to overwrite the target of a symbolic link without
>  >  > first deleting the symlink itself?
>  >  >
>  >  > For example, if I have this:
>  >  >
>  >  > public_html -> releases/b2b-20080228
>  >  >
>  >  > ... and there's a new update, I can then just do the following:
>  >  >
>  >  > $ ln releases/site-latest public_html
>  >  >
>  >  > I tried using the -f option but it doesn't seem to work as expected.
>  >
>  >
>  > Your example doesn't have -s?  I assume that was a typo?
>  >
>  >  Anyways, ln -sf does exactly what you describe.
>  >
>  >  $ ls -l foo
>  >  lrwxrwxrwx  1 garrick rds 3 Mar  4 15:24 foo -> bar
>  >  $ ln -sf bar2 foo
>  >  $ ls -l foo
>  >  lrwxrwxrwx  1 garrick rds 4 Mar  4 15:24 foo -> bar2
>
>
> Hi,
>
>  Sorry. That was a typo.
>
>  I have just tried using a target as a file and it does seem to work
>  with the -f option. It's only when the target is a directory that it
>  fails:
>
>  $ ll
>  drwxrwxr-x 2 matt matt 4096 Mar  4 14:34 dir1
>  drwxrwxr-x 2 matt matt 4096 Mar  4 14:34 dir2
>  lrwxrwxrwx 1 matt matt    4 Mar  4 14:35 link -> dir1
>
>  $ ln -s dir2 link

That should be:

$ ln -sf dir2 link

Early morning here. :)

-- 
Stand before it and there is no beginning.
Follow it and there is no end.
Stay with the ancient Tao,
Move with the present.