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)?