[CentOS] Overwrite target of ln

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


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.



More information about the CentOS mailing list