Estaba trabajando en mi terminal, cuando escribí mal mientras cd
a raíz (/
). Accidentalmente, escribí //
y entré en la terminal:
[email protected]://#
Cuando escribo pwd
, obtengo respuesta //
pero cuando escribo ls -s
tengo la misma lista que en /
directorio.
Cuando escribe más de 2, es decir, ///
obtienes:
[email protected]:/#
Siempre 1 /
a excepción de 2. ¿Hay alguna diferencia y lo que es //
para?
Mejor respuesta
/
es equivalente a //
De la especificación POSIX (énfasis agregado):
3.267 Nombre de ruta
Una cadena que se utiliza para identificar un archivo. En el contexto de
POSIX.1-2008, un nombre de ruta puede estar limitado a {PATH_MAX} bytes, incluido
el byte nulo final. Tiene un comienzo opcional <slash>
caracteres, seguidos de cero o más nombres de archivo separados por <slash>
caracteres. Un nombre de ruta puede contener opcionalmente uno o más <slash>
finales caracteres. Múltiples <slash>
sucesivos los caracteres son
considerados iguales a uno <slash>
, excepto en el caso de
exactamente dos <slash>
iniciales personajes.
Y:
4.12 Resolución de nombre de ruta
…
Un nombre de ruta que consta de un solo <slash>
se resolverá en el directorio raíz
del proceso. Un nombre de ruta nulo no se resolverá
con éxito. Si un nombre de ruta comienza con dos <slash>
sucesivos caracteres,
el primer componente que sigue al <slash>
inicial los caracteres pueden ser
interpretados de una manera definida por la implementación, aunque más de
dos <slash>
iniciales los caracteres se tratarán como un solo <slash>
personaje.
Para una buena discusión de las excepciones (cygwin y directorios), consulte:¿Cómo maneja Linux múltiples separadores de ruta consecutivos (/home////username///file)?