Qu'est-ce que le double point(..) et point(.) sous Linux?

La commande ls -ai montre que . et .. ont leurs inodes identiques à ceux du répertoire courant et du répertoire parent, respectivement.

Quelqu'un pourrait-il me dire exactement ce que sont . et ..?

Sont-ils de vrais fichiers ou même des liens durs? Mais comme je l'ai su, il n'est pas permis de créer un lien dur vers un répertoire.

25
demandé sur codeforester 2014-04-23 14:46:58

4 réponses

Ce sont des cartes de nom-inode spéciales qui comptent comme des liens durs (elles augmentent le nombre de liens) bien qu'elles ne soient pas vraiment des liens durs, car, comme vous l'avez dit, les répertoires ne peuvent pas avoir de liens durs. En savoir plus ici: liens durs et nœuds du système de fichiers Unix (inodes)

7
répondu e.dan 2014-04-23 10:56:51

. représente le répertoire où vous vous trouvez et .. représente le répertoire parent.

À partir de la définition de point :

C'est une chaîne courte (c'est-à-dire une séquence de caractères) qui est ajoutée à la fin du nom de base (c'est à dire, la partie principale du nom) d'un fichier ou répertoire afin d'indiquer le type de fichier ou répertoire.

Sur les systèmes D'exploitation de type Unix, chaque répertoire contient, au minimum, un objet représenté par un point et un autre représenté par deux successives de points. le premier fait référence au répertoire lui-même et au ce dernier fait référence à son répertoire parent (c.-à-d. il contient). ces éléments sont automatiquement créés dans chaque répertoire, comme on peut le voir en utilisant la commande ls avec son option-a (qui lui demande de montrer tout son contenu, y compris caché article).

31
répondu Rahul Tripathi 2014-04-23 10:50:12

Ce ne sont pas des liens durs. Vous pouvez plus penser comme une main courte pour (.) ce Répertoire et (.. parent de ce répertoire.

Essayez de supprimer ou de renommer . ou .. ensuite, vous comprenez pourquoi ce n'est pas un lien dur.

0
répondu Nafis Ahmad 2014-04-23 10:59:39

. représente le répertoire actuel dans lequel vous vous trouvez maintenant et .. représente le répertoire parent.

Exemple: Supposons que vous soyez dans le répertoire /remote/speed3/users/devraj/ et que vous vouliez passer au répertoire parent, c'est-à-dire /remote/speed3/users puis utilisez cd..

/remote/speed3/users/dpawar> cd ..

Et si vous voulez définir le chemin d'un fichier dans le répertoire courant, Utilisez . avec un nom de fichier comme celui-ci ./nom de fichier

-2
répondu Dnyaneshwar Pawar 2018-09-05 13:47:12