El ls /bin
montre de nombreux fichiers. J'ai besoin d'obtenir une liste détaillée. Mais la ls -l /bin
ne montre qu'un seul fichier.
Dites-moi, s'il vous plaît, ce qui ne va pas ?
El ls /bin
montre de nombreux fichiers. J'ai besoin d'obtenir une liste détaillée. Mais la ls -l /bin
ne montre qu'un seul fichier.
Dites-moi, s'il vous plaît, ce qui ne va pas ?
Tout va bien.
/bin
est un lien symbolique qui pointe vers /usr/bin
.
Lorsque vous utilisez le ls /bin
le lien symbolique est suivi, et le contenu du fichier /usr/bin
(où le lien symbolique pointe).
Cependant, avec le ls -l /bin
le lien symbolique n'est pas suivi, et seul le lien symbolique lui-même est affiché.
La raison peut être trouvée sous la rubrique --dereference-command-line-symlink-to-dir
dans la documentation ls texinfo ( info ls
o info coreutils 'ls invocation'
):
‘--dereference-command-line-symlink-to-dir’
Do not dereference symbolic links, with one exception: if a command
line argument specifies a symbolic link that refers to a directory,
show information for that directory rather than for the link
itself. This is the default behavior when no other
dereferencing-related option has been specified (‘--classify’
(‘-F’), ‘--directory’ (‘-d’), (‘-l’), ‘--dereference’ (‘-L’), or
‘--dereference-command-line’ (‘-H’)).
Dans ce contexte, -l
est un "autre option liée au déréférencement" et désactive le comportement.
Si vous utilisez ls -lH /bin
vous indiquez à la commande de suivre spécifiquement les liens symboliques, et maintenant vous voyez (correctement) le contenu du fichier /usr/bin
.
/bin
étant un lien symbolique vers /usr/bin
suit le UsrMerge qui a été introduit dans Debian 10 en 2019, et donc adopté par les versions suivantes d'Ubuntu.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.