Eu tenho 2 perguntas. O primeiro é para as -sf
opções e o segundo é para o uso mais específico das -f
opções.
Ao pesquisar no Google, descobri a descrição do comando ln
, opção -s
e -f
.
(copie de 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
Eu entendo essas opções individualmente. Mas, como poderia usar isso -s
e -f
opções simultaneamente? -s
é usado para criar um arquivo de link e -f
é usado para remover um arquivo de link. Não consigo entender essa situação e por que usar esta opção mesclada.
Para saber mais sobre ln
comando, fiz alguns exemplos.
$ 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
Tudo funciona bem antes do próximo comando
$ ln -s foo foobar
$ ln -f foo # remove original file
Pela descrição da -f
opção, este último comando não deve funcionar, mas funciona! foo
é removido.
Por que isso está acontecendo?
-f
significa força (--force
); não para remover!Respostas:
Primeiro de tudo, para descobrir o que as opções de um comando fazem, você pode usar
man command
. Então, se você executarman ln
, verá:Agora, o
-s
que você disse é tornar o link simbólico em vez de difícil. O-f
, no entanto, não é para remover o link. É sobrescrever o arquivo de destino, se houver algum. Ilustrar:fonte