如何使用'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
做的工作。
这可能吗?怎么样?
答
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
为什么downvote?跟随或不跟随可能会引起混淆。 – ceving