15 votos

¿Qué son exactamente los archivos . y .. en mac?

Anecdóticamente, los archivos llamados . y .. parecen estar presentes a menudo (¿siempre?) dentro de directorios que de otro modo estarían "vacíos" en MacOS.

Ejemplo

Crear un nuevo directorio (sin nada en él)

mkdir test

cd en él

cd test

y enumerar su contenido

ls -a
.   ..

¿Qué son exactamente estos archivos? . y .. ?

34voto

Técnica y prácticamente, representan entradas de directorio para el directorio actual ( . ) y el directorio principal ( .. ), respectivamente.

Así que cd . siempre te mantiene en el directorio actual (útil principalmente en scripts cuando se asigna un directorio a una variable y el valor debe representar sólo el directorio actual), mientras que cd .. siempre te hace subir un nivel (a menos que ya estés en / , en cuyo caso .. es lo mismo que . ).

19voto

Jose Chavez Puntos 645

En la práctica, las carpetas denominadas . y .. se refieren a la carpeta actual y a su carpeta padre, respectivamente. Para el directorio root (denominado / ) el .. nombre se refiere simplemente a sí mismo.

Los nombres "." y ".." son especiales en el sentido de que no representan necesariamente algo realmente almacenado en el sistema de archivos en el disco, como otros nombres. En algunos sistemas de archivos hay realmente enlaces duros llamados "." y "..", pero otros sistemas de archivos no los almacenan como tales.

Asimismo, en los sistemas operativos modernos, como MacOS, es posible montar varios sistemas de archivos en la misma estructura de carpetas. En los límites de estas intersecciones, el ".." no se refiere a un enlace almacenado dentro de ese sistema de archivos, sino que se refiere a una carpeta en un sistema de archivos completamente diferente.

En ese caso, estos nombres son puramente virtuales, aunque siguen proporcionando la misma funcionalidad.

La presencia de estos nombres está en realidad dictada por el estándar POSIX para sistemas operativos, con el que MacOS está certificado desde la versión 10.5. En particular, el estándar especifica que:

El punto de nombre de archivo especial se referirá al directorio especificado por su predecesor. El nombre de archivo especial punto se referirá al directorio padre de su directorio predecesor. Como caso especial, en el directorio Root, dot-dot puede referirse al propio directorio Root.

Al utilizar la interfaz de línea de comandos, se acostumbrará rápidamente a la .. nombre, ya que a menudo se utilizan comandos como cd .. para ir a la carpeta principal.

El . El nombre cumple una función importante en términos de seguridad, ya que se utiliza para indicar al shell (la interfaz de línea de comandos) que se desea ejecutar un programa ubicado en la carpeta actual en lugar de un comando suministrado por el sistema en otra ubicación. Imagina que no tuviéramos el . y el sistema simplemente iniciaba el programa en la carpeta actual sin tenerlo explícitamente - entonces un usuario malintencionado podría añadir programas con nombres de comandos comunes a las carpetas del ordenador, y cuando otro usuario se encontrara con esta carpeta y pretendiera ejecutar un comando común (como ls para listar archivos o cd para cambiar de directorio) en su lugar estarían iniciando un programa malicioso.

Históricamente estos nombres . y .. se han utilizado en muchos sistemas operativos diferentes, incluyendo por ejemplo Windows y Linux. Tiene su origen en el sistema operativo Multics (originalmente de 1969), que fue el primer sistema operativo en presentar un sistema de archivos jerárquico. Multics fue una de las principales inspiraciones de lo que finalmente se convirtió en Unix, y en el proceso de desarrollo colocan los archivos según un "directorio" (carpeta actual) y según el "directorio del directorio" (carpeta padre). Estos términos se abreviaron como "d" y "dd", y con el tiempo se pronunciaron como "punto" y "punto-punto", dando paso a su representación actual

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X