Bases de Linux et de la ligne de commande

$ echo hello > a.txt
$ ln a.txt h.txt
$ ln -s a.txt s.txt
$ rm a.txt
$ cat h.txt
$ cat s.txt

Si l'on exécute dans l'ordre les commandes ci-dessus, quel est le résultat des deux dernières commandes cat ?

  1. Ah.txt et s.txt affichent tous deux hello
  2. Bh.txt donne une erreur indiquant que le fichier est introuvable, et s.txt affiche hello
  3. Ch.txt affiche hello, et s.txt donne une erreur indiquant que le fichier est introuvable
Afficher la réponse et l'explication

Réponse : C. h.txt affiche hello, et s.txt donne une erreur indiquant que le fichier est introuvable

Un lien physique créé avec ln est un nom supplémentaire qui désigne le même inode (l'enregistrement numéroté qui gère le contenu et les attributs d'un fichier) que le fichier d'origine. rm a.txt ne supprime que le nom a.txt ; comme le nom h.txt subsiste, le contenu n'est pas effacé et cat h.txt affiche hello. Un lien symbolique créé avec ln -s est un fichier distinct dont le contenu est le chemin « a.txt » : une fois a.txt supprimé, il n'y a plus rien à suivre et cat s.txt donne l'erreur « No such file or directory ». Un lien symbolique dont la cible a disparu reste ainsi en place sous la forme d'un lien cassé.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases de Linux et de la ligne de commande

  1. Un répertoire contient six fichiers : a1.txt, a2.txt, a10.txt, b1.txt, c1.txt et a1.csv. Combien de fichiers s'affichent si l'on exécute « ls [ab]?.txt » dans ce répertoire ?
  2. Après l'exécution de « chmod 754 run.sh » sur le fichier run.sh, quelle notation des droits s'affiche au début de la ligne produite par « ls -l run.sh » ?
  3. touch crée un nouveau fichier à partir de 666, et mkdir un nouveau répertoire à partir de 777, en retirant les bits de l'umask. Quelle combinaison de droits est correcte lorsqu'un nouveau fichier et un nouveau répertoire sont créés dans un shell dont l'umask vaut 027 ?
  4. Le répertoire d a les droits rwx--x--x (711), et le fichier f.txt qu'il contient a rw-r--r-- (644). Un utilisateur qui n'est ni le propriétaire ni le superutilisateur exécute « ls d » et « cat d/f.txt ». Quel est le résultat ?
  5. Quelle description de la commande sudo de Linux est correcte ?