我有两个问题。第一个是为了-sf
选项,第二个是选项的更具体用法-f
。
通过谷歌搜索,我找出了command ln
,option 的描述-s
和-f
。
(从http://linux.about.com/od/commands/l/blcmdl1_ln.htm复制)
-s, --symbolic : make symbolic links instead of hard links
-f, --force : remove existing destination files
我个人理解这些选项。但是,如何同时使用此选项-s
和-f
选项?-s
用于创建链接文件,-f
并用于删除链接文件。我不了解这种情况,以及为什么使用此合并选项。
为了进一步了解ln
命令,我举了一些例子。
$ touch foo # create sample file
$ ln -s foo bar # make link to file
$ vim bar # check how link file works: foo file opened
$ ln -f bar # remove link file
下一条命令之前一切正常
$ ln -s foo foobar
$ ln -f foo # remove original file
通过-f
选项的描述,该最后一条命令不起作用,但可以起作用!foo
已移除。
为什么会这样呢?
为terdon的答案添加一个理由...一种用法是在手动更新库时。如果分两个步骤进行操作-首先rm删除旧链接,然后ln -s创建一个新链接-在两次操作之间该库将无法工作...如果ln命令需要该库,这将成为一个大问题去工作。因此,使用ln -sf,旧链接将替换为新链接,而不会断开链接。
—
Baard Kopperud 2015年
-f
代表力(--force
); 不删除!