Tengo 2 preguntas El primero es para las -sf
opciones y el segundo es para el uso más específico de las -f
opciones.
Al buscar en Google, descubrí la descripción del comando ln
, la opción -s
y -f
.
(copia 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
Entiendo estas opciones individualmente. Pero, ¿cómo podría usar esto -s
y -f
opciones simultáneamente? -s
se usa para crear un archivo de enlace y -f
para eliminar un archivo de enlace. No puedo entender esta situación y por qué usar esta opción combinada.
Para saber más sobre el ln
comando, hice algunos ejemplos.
$ 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
Todo funciona bien antes del próximo comando
$ ln -s foo foobar
$ ln -f foo # remove original file
Por la descripción de la -f
opción, este último comando no debería funcionar, ¡pero lo hace! foo
es removido.
¿Por qué está pasando esto?
-f
significa fuerza (--force
); no para quitar!Respuestas:
En primer lugar, para encontrar lo que hacen las opciones de un comando, puede usar
man command
. Entonces, si corresman ln
, verás:Ahora,
-s
como dijiste, es hacer que el enlace sea simbólico en lugar de difícil. Sin-f
embargo, no es para eliminar el enlace. Es para sobrescribir el archivo de destino si existe uno. Para ilustrar:fuente