2016-11-25 7 views
-2
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

ответ

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. 

Вы имеете 3-ю форму, потому что ваша ссылка является ссылкой на каталог.

+2

. , , и вы можете добиться желаемого эффекта, заставив 1-ю форму, используя флаг '-T':' ln -Tfs emacs emacs-current'. – ruakh