español commands change linux bash shell directory-structure cd

change - linux commands



¿Qué significa doble barra// en `cd//` en Linux? (2)

En realidad no significa nada y se ignora.

Desde el Bash FAQ E10 :

E10) ¿Por qué ''cd //'' deja $ PWD como ''//''?

POSIX.2, en su descripción de ''cd'', dice que tres o más barras al principio pueden reemplazarse por una barra al canonicalizar el directorio actual de trabajo.

Esto es, supongo, para la compatibilidad histórica. Ciertas versiones de Unix, y los primeros sistemas de archivos de red, usaban rutas de la forma // nombre de host / ruta para acceder a ''ruta'' en el servidor ''nombre de host''.

También los estándares de Unix establecen:

Un nombre de ruta que comienza con dos barras sucesivas puede interpretarse de una manera definida por la implementación, aunque más de dos barras principales se deben tratar como una barra única.

Esta pregunta ya tiene una respuesta aquí:

Ingresé un comando cd // lugar de cd / por error y en lugar de recibir un error, como es de esperar, el shell (Bash) mostró un indicador como si estuviera en el directorio // :

<username>@<hostname>://$ <username>@<hostname>://$ pwd //

Listado del contenido del directorio muestra que es lo mismo que / .

Entonces, ¿qué es exactamente lo que hace cd // y cuál es la diferencia con cd / ?


Esta answer en AskUbuntu confirma que son el mismo directorio. Además, es útil citar de la especificación de resolución de nombre de ruta POSIX :

Una ruta que consiste en una sola barra se resolverá en el directorio raíz del proceso. Una ruta de acceso nula no se resolverá correctamente. Un nombre de ruta que comienza con dos barras sucesivas puede interpretarse de una manera definida por la implementación, aunque más de dos barras principales se deben tratar como una barra única.