¿Qué significa // en un camino?

¿Qué significa // en un camino?

Estaba trabajando en mi terminal, cuando escribí mal while cdpara rootear ( /). Accidentalmente, escribí //y llegué a la terminal:

root@weblocalhost://#

Cuando escribo pwd, obtengo respuesta //, pero cuando escribo ls -sobtengo la misma lista que en /el directorio.

Cuando escribes más de 2, es decir, ///obtienes:

root@weblocalhost:/#

Siempre 1 /excepto 2. ¿Hay alguna diferencia y //para qué sirve?

Respuesta1

/es equivalente a//

Dela especificación POSIX(énfasis añadido):

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 <slash> caracteres iniciales opcionales, seguidos de cero o más nombres de archivos separados por <slash> caracteres. Opcionalmente, un nombre de ruta puede contener uno o más <slash>caracteres finales.Varios <slash>caracteres sucesivos se consideran iguales a uno <slash>, excepto en el caso de exactamente dos <slash>caracteres principales.

Y:

4.12 Resolución de nombre de ruta

...
Un nombre de ruta que consta de uno único <slash>se resolverá en el directorio raíz del proceso. Un nombre de ruta nulo no se resolverá exitosamente.Si un nombre de ruta comienza con dos <slash>caracteres sucesivos, el primer componente que sigue a los <slash>caracteres principales puede interpretarse de una manera definida por la implementación, aunque más de dos <slash>caracteres principales se tratarán como un solo <slash> carácter.

Para una buena discusión sobre excepciones (cygwin y directorios), consulte:¿Cómo maneja Linux múltiples separadores de ruta consecutivos (/home////nombre de usuario///archivo)?

Respuesta2

Puede agregar varias barras diagonales a un directorio y no cambiará nada. Por ejemplo, estos tres comandos hacen lo mismo:

cd /home
cd /home/
cd /home//

Después de cualquiera de estos, mi directorio de trabajo actual está configurado en /home (verifique con pwd).

Iadivinarque tiene su mensaje configurado parahaz algo inteligentey que te topaste con un comportamiento inesperado. ¿Qué obtienes cuando echo $PS1?

Controlareste comentario en unix.stackexchange.comlo que puede explicarlo.

información relacionada