Por ejemplo, en My Documents
, hay las siguientes carpetas:
.ssh
.subversion
¿Es esta una especie de convención de nombres que desconozco?
Esta convención de nomenclatura proviene de sistemas operativos tipo Unix (como Linux u OS X), donde significa un archivo o directorio "oculto". Funciona en cualquier lugar, pero su uso principal es ocultar los archivos de configuración en su directorio de inicio (p. Ej. ~/.cache/
O ~/.plan
, a menudo se les llama "archivos de puntos").
Los archivos de puntos podrían, en cierto modo, llamarse el equivalente tradicional de Unix al directorio "AppData" en Windows. (Muchos programas de Linux están siendo cambiados para seguir la especificación del directorio base XDG , moviendo su configuración ~/.config/
y otros datos a ~/.cache/
& ~/.local/share/
, esto lo hace un poco más similar a AppData\Roaming
y AppData\Local
).
Tiene estos .ssh
y .subversion
directorios en Windows porque ha utilizado algunos programas, específicamente, OpenSSH y Subversion , que se han portado para usar las API del sistema de Windows en lugar de las POSIX, pero no se han ajustado para otras convenciones de Windows.
A veces, esta adaptación se omite intencionalmente, para facilitar la vida de las personas que usan entornos similares a Unix como Cygwin en sus sistemas Windows. Por ejemplo, Cygwin instala el conjunto estándar de herramientas similares a Unix como ls
, que ignora la bandera "oculta" de Windows y solo respeta los .dotfile
nombres. Además, el uso de la misma ubicación (p <home>/.ssh
. Ej. ) Puede facilitar la sincronización de la configuración entre las computadoras Windows y Linux / BSD / OSX.
Además: por lo general, estos archivos se encuentran en el directorio de inicio del usuario , por ejemplo, en Linux o en Windows 7+. Es bastante raro que se incluyan en los subdirectorios "Documentos" o "Mis documentos"./home/name/.ssh
C:\Users\name\.ssh
Como Rob Pike escribe en Google+ , esta fue una característica accidental:
Hace mucho tiempo, mientras se estaba elaborando el diseño del sistema de archivos Unix , aparecieron las entradas
.
y..
aparecieron, para facilitar la navegación. No estoy seguro, pero creo que..
entró durante la reescritura de la Versión 2, cuando el sistema de archivos se volvió jerárquico (tenía una estructura muy diferente al principio). Sin embargo, cuando uno escribió ls, aparecieron estos archivos, por lo que Ken o Dennis agregaron una prueba simple al programa. Estaba en ensamblador entonces, pero el código en cuestión era equivalente a algo como esto:
if (name[0] == '.') continue;
Esta declaración fue un poco más corta de lo que debería haber sido, que es
if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) continue;
pero bueno, fue fácil.
Dos cosas resultaron.
Primero, se estableció un mal precedente. Muchos otros programadores perezosos introdujeron errores al hacer la misma simplificación. Los archivos reales que comienzan con puntos a menudo se omiten cuando deben contarse.
En segundo lugar, y mucho peor, se creó la idea de un archivo "oculto" o "punto". Como consecuencia, más programadores perezosos comenzaron a soltar archivos en el directorio de inicio de todos. No tengo tantas cosas instaladas en la máquina que estoy usando para escribir esto, pero mi directorio de inicio tiene alrededor de cien archivos de puntos y ni siquiera sé qué son la mayoría de ellos o si todavía son necesarios . Cada lodo acumulado ralentiza cada evaluación de nombre de archivo que pasa por mi directorio de inicio.
ls
tiene la-a
opción de listar todos los archivos.LOGIN.COM
oDECW$MAIL.DAT
en tu directorio personal . (No estoy seguro de qué otros sistemas eran populares en ese momento). Recientemente se había creado Unix; no tenía ninguna convención en absoluto...
"up dir"; Microsoft en realidad anunció estas "características avanzadas de Unix".