¿Qué significa la ruta '/../'?

17

¿Se pregunta dónde apuntaría una ruta que se vea así '/../' fuera de un archivo? Supongo que podría ser algo así como especificar siempre el directorio raíz y luego el directorio padre relativo al archivo en el que se escribió.

Eugene Lai
fuente
1
El padre de root es root, por lo que es lo mismo que /
Sami Kuhmonen
1
Entonces, ¿quieres decir que escribir /../ es lo mismo que / entonces ...?
Eugene Lai
1
Sí lo es. No se puede ir a la raíz del padre, por lo que se dirige a la raíz misma
Sami Kuhmonen
3
Sin embargo, vea unix, diferencia entre la ruta que comienza con '/' y '//' .
G-Man dice 'Restablecer a Monica' el
/../solo tiene sentido si está dentro de un camino.
Amani Kilumanga

Respuestas:

32

Vamos a /../desglosar pieza por pieza

El primero /indica la raíz del sistema de archivos. Este es el nivel más alto del sistema de archivos.

.. significa la carpeta principal Sin embargo, dado que estamos en el nivel más alto, no podemos ir más alto, por lo que todavía estamos en la carpeta más alta

agregar /al final indica una carpeta. Esto nunca es obligatorio, a menos que se especifique una ruta o archivo de subcarpeta. Así que todavía estamos en la carpeta más alta del sistema de archivos.

Entonces, /../no es diferente a escribir/

Keltari
fuente
24
Excepto cuando estás en chroot, y el kernel tiene suficientes errores que tales trucos te permiten escapar del chroot. (Solía ​​ser el caso hace años, creo.)
user1686
8
La barra diagonal final puede ser significativa en algunos casos. Por ejemplo, si /examplees un enlace simbólico a un directorio, ls -l /examplemostrará el enlace simbólico, mientras ls -l /example/que mostrará el contenido del directorio.
Flimm
podría contrastar, cd ../abc es decir, dónde ../hace la diferencia. Supongo que solo es útil para rutas relativas, no para rutas absolutas.
barlop
1
@barlop ../puede tener un efecto para rutas absolutas: /foo/bar/../quux= /foo/quux. Algunos ejemplos más útiles: 1) al darse cuenta de que la pestaña completaba un nombre de directorio realmente largo, pero no era el que deseaba. ../podría ser más rápido que retroceder 50 veces. 2)foo=/long/absolute/path/to/foo; bar=$foo/../bar;
8bittree
1
@grawity Cerrar el ..camino de escape si se implementa chrootcomo una cárcel es tan obvio como cerrar la puerta del establo para mantener a los animales adentro; No te pierdas un caso así: el camino de escape más obvio. Eso me lleva a sospechar que las primeras chrootimplementaciones podrían no haber tenido la ineludibilidad como un requisito .
Kaz