Qu'est-ce que cela fait?
ln -nsf
Je sais que ln -s
crée un lien symbolique, pas un lien dur qui signifie que vous pouvez le supprimer et il ne supprime pas la pensée à laquelle il est lié. Mais que signifient les autres choses? (-nf)
Mise à jour: d' accord ... je me suis donc rappelé que vous pouvez trouver ces informations à partir de la ligne de commande. Voici ce que j'ai découvert en tapant ln --help
:
-f, --force remove existing destination files
-n, --no-dereference treat destination that is a symlink to a
directory as if it were a normal file
Mais ce n’est toujours pas très clair pour moi quelles en sont les implications. Pourquoi voudrais-je créer un lien soft / sym comme celui-ci?
linux
command-line
Andrew
la source
la source
-s
vous pouvez supprimer le lien sans supprimer le fichier d'origine. Les liens physiques augmentent le nombre de liens du fichier afin qu'il ne soit pas supprimé lorsque vous supprimez un seul des liens.Réponses:
Depuis la page de manuel BSD:
la source
l'
-n
option (avec-f
) obligeln
à mettre à jour un lien symbolique vers un répertoire. Qu'est-ce que ça veut dire?supposons que vous ayez 2 annuaires
et un lien symbolique existant
maintenant vous voulez mettre à jour baz pour indiquer foo à la place. si vous faites juste
vous auriez
si vous ajoutez
-n
vous obtenez ce que vous voulez.
c'est ce que «non-déréférence» signifie: ne résolvez pas un lien existant et ne placez pas le nouveau lien dans ce répertoire, mais simplement le mettre à jour.
la source
Voici toutes les options pour ln. Vous trouverez -n et -f ici.
la source
Vous pouvez taper "man ln" pour trouver de telles choses:
la source
-f, --force supprime les fichiers de destination existants
-n, --no-dereference traite la destination qui est un lien symbolique vers un répertoire comme s'il s'agissait d'un fichier normal
la source
-f indique que si la cible de votre commande est un fichier existant, il doit être supprimé et remplacé par le nouveau lien. (Notez que dans les systèmes influencés par Unix, "fichier" peut inclure des répertoires, des liens, des pipes, etc.)
-n modifie -f, en disant que si la cible que vous spécifiez est un lien symbolique existant, il ne doit pas être supprimé.
la source
-n
est fausse.-f
par lui-même ne remplacera pas un lien symbolique vers un répertoire. Lors du remplacement d'un lien symbolique vers un répertoire, il-n
est nécessaire de traiter le lien symbolique existant comme un fichier normal au lieu d'un répertoire.