2016-11-25 2 views
-2
ln -sf 

ne remplace pas un lien symbolique donné.Comment utiliser 'ln' pour remplacer un lien symbolique

+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 

Je me serais attendu

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

Pour contourner ce problème, je peux explicitement délier.

+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 

Mais je préférerais

ln 

faire le travail.

Est-ce possible? Comment?

+1

Pourquoi downvote? Suivre ou ne pas suivre peut être déroutant. – ceving

Répondre

1

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. 

Vous avez la 3ème forme, parce que votre lien est un lien vers un répertoire.

+2

. . . et vous pouvez obtenir l'effet désiré en forçant la 1ère forme, en utilisant l'indicateur '-T':' ln -Tfs emacs emacs-current'. – ruakh