如何使用'ln'替换符号链接

问题描述:

ln -sf 

不会覆盖给定的符号链接。如何使用'ln'替换符号链接

+2:34% ls -ld ema*   
drwxr-xr-x 22 b users 4096 Nov 25 14:33 emacs 
drwxr-xr-x 22 b users 4096 Nov 25 14:29 emacs-201611181546 
-rw-r--r-- 1 b users 0 Nov 25 14:34 emacs-current 
+2:34% ln -fs emacs-201611181546 emacs-current 
+2:34% ls -ld ema*        
drwxr-xr-x 22 b users 4096 Nov 25 14:33 emacs 
drwxr-xr-x 22 b users 4096 Nov 25 14:29 emacs-201611181546 
lrwxrwxrwx 1 b users 18 Nov 25 14:34 emacs-current -> emacs-201611181546 
+2:34% ln -fs emacs emacs-current 
+2:34% ls -ld ema*    
drwxr-xr-x 22 b users 4096 Nov 25 14:33 emacs 
drwxr-xr-x 22 b users 4096 Nov 25 14:34 emacs-201611181546 
lrwxrwxrwx 1 b users 18 Nov 25 14:34 emacs-current -> emacs-201611181546 

我本来期望

lrwxrwxrwx 1 b users 18 Nov 25 14:34 emacs-current -> emacs 

至于解决方法,我可以明确地断开链接。

+2:34% unlink emacs-current 
+2:35% ls -ld ema*   
drwxr-xr-x 22 b users 4096 Nov 25 14:33 emacs 
drwxr-xr-x 22 b users 4096 Nov 25 14:34 emacs-201611181546 
+2:35% ln -fs emacs emacs-current 
+2:35% ls -ld ema*    
drwxr-xr-x 22 b users 4096 Nov 25 14:33 emacs 
drwxr-xr-x 22 b users 4096 Nov 25 14:34 emacs-201611181546 
lrwxrwxrwx 1 b users 5 Nov 25 14:35 emacs-current -> emacs 

但我宁愿

ln 

做的工作。

这可能吗?怎么样?

+1

为什么downvote?跟随或不跟随可能会引起混淆。 – ceving

man ln

SYNOPSIS 
    ln [OPTION]... [-T] TARGET LINK_NAME (1st form) 
    ln [OPTION]... TARGET     (2nd form) 
    ln [OPTION]... TARGET... DIRECTORY  (3rd form) 
    ln [OPTION]... -t DIRECTORY TARGET... (4th form) 

DESCRIPTION 
    In the 1st form, create a link to TARGET with the name LINK_NAME. 
    In the 2nd form, create a link to TARGET in the current directory. 
    In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. 

你有第三形式,因为你的链接是一个目录的链接。

+2

。 。 。你可以通过使用'-T'标志强制第一种形式来达到预期效果:'ln -Tfs emacs emacs-current'。 – ruakh