Mam 2 pytania Pierwszy dotyczy -sf
opcji, a drugi bardziej szczegółowego wykorzystania -f
opcji.
Przeglądając go, zrozumiałem opis polecenia ln
, opcji -s
i -f
.
(kopia z 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
Rozumiem te opcje indywidualnie. Ale jak korzystać z tego -s
i -f
opcji jednocześnie? -s
służy do tworzenia pliku łącza i -f
służy do usuwania pliku łącza. Nie rozumiem tej sytuacji i dlaczego warto skorzystać z tej scalonej opcji.
Aby dowiedzieć się więcej o ln
poleceniu, podałem kilka przykładów.
$ 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
Wszystko działa dobrze przed następnym poleceniem
$ ln -s foo foobar
$ ln -f foo # remove original file
Według opisu -f
opcji to ostatnie polecenie nie powinno działać, ale działa! foo
jest usunięty.
Dlaczego to się dzieje?
-f
oznacza force (--force
); nie do usunięcia!Odpowiedzi:
Przede wszystkim, aby dowiedzieć się, co robią opcje polecenia, możesz użyć
man command
. Jeśli więc uruchomiszman ln
, zobaczysz:Teraz,
-s
jak powiedziałeś, połączenie ma być symboliczne, a nie trudne. Nie-f
należy jednak usuwać łącza. Nadpisuje plik docelowy, jeśli taki istnieje. Ilustrować:źródło