Ich habe 2 Fragen. Erstens für die -sf
Optionen und zweitens für die spezifischere Verwendung von -f
Optionen.
Durch googeln habe ich die Beschreibung von Befehl ln
, Option -s
und herausgefunden -f
.
(Kopie von 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
Ich verstehe diese Optionen individuell. Aber wie könnte dies -s
und die -f
Optionen gleichzeitig genutzt werden? -s
wird zum Erstellen einer Verknüpfungsdatei und -f
zum Entfernen einer Verknüpfungsdatei verwendet. Ich kann diese Situation nicht verstehen und warum diese zusammengeführte Option verwendet wird.
Um mehr über das ln
Kommando zu erfahren , habe ich einige Beispiele angeführt.
$ 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
Alles funktioniert gut vor dem nächsten Befehl
$ ln -s foo foobar
$ ln -f foo # remove original file
Nach der Beschreibung der -f
Option sollte dieser letzte Befehl nicht funktionieren, tut es aber! foo
ist entfernt.
Warum passiert das?
-f
steht für force (--force
); nicht zum entfernen!Antworten:
Um herauszufinden, was die Optionen eines Befehls bewirken, können Sie zunächst Folgendes verwenden
man command
. Wenn Sie also rennenman ln
, werden Sie sehen:Nun,
-s
wie Sie sagten, besteht die Aufgabe darin, die Verknüpfung symbolisch und nicht hart zu machen. Der-f
Link ist jedoch nicht zu entfernen. Es wird die Zieldatei überschrieben, falls eine vorhanden ist. Um zu veranschaulichen:quelle