Par exemple, dans My Documents
, il existe les dossiers suivants:
.ssh
.subversion
Est-ce que c'est une sorte de convention de nommage dont je ne suis pas au courant?
Par exemple, dans My Documents
, il existe les dossiers suivants:
.ssh
.subversion
Est-ce que c'est une sorte de convention de nommage dont je ne suis pas au courant?
Réponses:
Cette convention de dénomination provient de systèmes d'exploitation de type Unix (tels que Linux ou OS X), où elle désigne un fichier ou un répertoire "caché". Cela fonctionne n'importe où, mais son utilisation principale est de cacher les fichiers de configuration dans votre répertoire personnel (par exemple ~/.cache/
ou ~/.plan
- ils sont souvent appelés "fichiers de points").
Les fichiers Dotfiles pourraient en quelque sorte être appelés l'équivalent Unix traditionnel du répertoire "AppData" sous Windows. (De nombreux programmes Linux sont modifiés pour suivre la spécification du répertoire de base XDG , en déplaçant leur configuration vers ~/.config/
et d'autres données vers ~/.cache/
& ~/.local/share/
- cela le rend un peu plus similaire à AppData\Roaming
et AppData\Local
.)
Vous disposez de ces répertoires .ssh
et .subversion
de Windows car vous avez utilisé certains programmes, notamment OpenSSH et Subversion , qui ont été portés pour utiliser les API système Windows plutôt que POSIX, mais n'ont pas été ajustés pour d'autres conventions Windows.
Parfois, cette adaptation est ignorée intentionnellement, afin de faciliter la vie des personnes qui utilisent des environnements de type Unix tels que Cygwin sur leurs systèmes Windows. Par exemple, Cygwin installe le jeu standard d'outils de type Unix ls
, qui ignore l'indicateur "masqué" de Windows et n'honore que les .dotfile
noms. En outre, utiliser le même emplacement (par exemple <home>/.ssh
) peut faciliter la synchronisation de la configuration entre les ordinateurs Windows et Linux / BSD / OSX.
Aussi: En général , ces fichiers sont de l'utilisateur du répertoire , par exemple sous Linux ou sous Windows 7+. Il est assez rare qu’ils soient placés dans les sous-répertoires "Documents" ou "Mes documents"./home/name/.ssh
C:\Users\name\.ssh
Comme Rob Pike écrit sur Google+ , il s'agissait d'une fonctionnalité accidentelle:
Il y a longtemps, alors que la conception du système de fichiers Unix était en cours d'élaboration, les entrées
.
et..
apparaissaient pour faciliter la navigation. Je ne suis pas sûr, mais je pense que cela a..
été pris en compte lors de la réécriture de la version 2, lorsque le système de fichiers est devenu hiérarchique (sa structure était très différente au début). Cependant, quand on tapait ls, ces fichiers apparaissaient. Ken ou Dennis ajoutèrent donc un simple test au programme. C'était en assembleur alors, mais le code en question était équivalent à quelque chose comme ceci:
if (name[0] == '.') continue;
Cette déclaration était un peu plus courte que ce qu’elle aurait dû être, ce qui est
if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) continue;
mais bon, c'était facile.
Deux choses ont résulté.
Premièrement, un mauvais précédent a été créé. Beaucoup d'autres programmeurs paresseux ont introduit des bugs en faisant la même simplification. Les fichiers réels commençant par des périodes sont souvent ignorés lorsqu'ils doivent être comptés.
Deuxièmement, et bien pire, l’idée d’un fichier «caché» ou «point» a été créée. En conséquence, de plus en plus de programmeurs paresseux ont commencé à déposer des fichiers dans le répertoire personnel de tout le monde. Je n'ai pas beaucoup de choses installées sur la machine que j'utilise pour taper cela, mais mon répertoire personnel contient une centaine de fichiers .dot et je ne sais même pas ce que la plupart d'entre eux sont ou s'ils sont toujours nécessaires. . Chaque évaluation de nom de fichier qui passe par mon répertoire personnel est ralentie par ces boues accumulées.
ls
a la -a
possibilité de lister tous les fichiers.
LOGIN.COM
ou DECW$MAIL.DAT
dans votre répertoire personnel . (Je ne sais pas quels autres systèmes étaient populaires à cette époque.) Unix venait juste d'être créé; il n'y avait pas de convention du tout.
..
pour "up dir"; Microsoft a en fait annoncé ces "fonctionnalités Unix avancées".