[CentOS] Overwrite target of ln

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


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

$ ll
drwxrwxr-x 2 matt matt 4096 Mar  4 14:35 dir1
drwxrwxr-x 2 matt matt 4096 Mar  4 14:34 dir2
lrwxrwxrwx 1 matt matt    4 Mar  4 14:35 link -> dir1

-- 
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