ln -sf
不会覆盖给定的目录符号链接。
例如,请参阅。
% ls -ld program*
drwxr-xr-x 22 b users 4096 Nov 25 14:33 program
drwxr-xr-x 22 b users 4096 Nov 25 14:29 program-201611181546
-rw-r--r-- 1 b users 0 Nov 25 14:34 program-current
% ln -fs program-201611181546 program-current
% ls -ld program*
drwxr-xr-x 22 b users 4096 Nov 25 14:33 program
drwxr-xr-x 22 b users 4096 Nov 25 14:29 program-201611181546
lrwxrwxrwx 1 b users 18 Nov 25 14:34 program-current -> program-201611181546
% ln -fs program program-current
% ls -ld program*
drwxr-xr-x 22 b users 4096 Nov 25 14:33 program
drwxr-xr-x 22 b users 4096 Nov 25 14:34 program-201611181546
lrwxrwxrwx 1 b users 18 Nov 25 14:34 program-current -> program-201611181546
我本来会期望
lrwxrwxrwx 1 b users 18 Nov 25 14:34 program-current -> program
作为解决办法,我可以明确地取消链接。
% unlink program-current
% ls -ld program*
drwxr-xr-x 22 b users 4096 Nov 25 14:33 program
drwxr-xr-x 22 b users 4096 Nov 25 14:34 program-201611181546
% ln -fs program program-current
% ls -ld program*
drwxr-xr-x 22 b users 4096 Nov 25 14:33 program
drwxr-xr-x 22 b users 4096 Nov 25 14:34 program-201611181546
lrwxrwxrwx 1 b users 5 Nov 25 14:35 program-current -> program
但我更喜欢使用ln
来完成这个任务。
这种方式可行吗?如何实现?