2012-06-09 28 views
7

He creado un enlace simbólico a un directorio profundamente anidado. Utilizando el enlace simbólico puedo moverme a ese directorio desde mi directorio personal. Quiero mover un directorio hacia atrás desde el directorio de destino, pero el shell vuelve al directorio de inicio.¿Cómo volver a mover un directorio en unix/linux cuando la ruta contiene enlaces simbólicos?

[[email protected] ~]# pwd 
/root 

[[email protected] ~]# mkdir -p abc/def/ghi/jkl/mno/pqr 

[[email protected] ~]# ln -s abc/def/ghi/jkl/mno/pqr/ xyz 

[[email protected] ~]# cd xyz 

[[email protected] xyz]# pwd 
/root/xyz 

[[email protected] xyz]# pwd -P 
/root/abc/def/ghi/jkl/mno/pqr 

[[email protected] xyz]# cd .. 

[[email protected] ~]# pwd 
/root 

Lo que queremos lograr es que cuando hago cd.. en pqr directorio de la cáscara debe llegar a mno directorio.

+0

Los enlaces en Unix actúan como si los archivos fueran directos allí, por lo que naturaly cd .. sube a la jerarquía como el archivo donde se puede crear un enlace a/root/abc/def/ghi/jkl/mno en el directorio pqr y luego solo cd – sherif

Respuesta

10

debe utilizar

cd -P xyz 

para entrar en ese directorio para seguir la estructura original de carpetas, entonces puede pasar como desee porque ha resuelto el enlace a la ruta real.

6

usted tiene que pasar -P opción:

cd -P .. 
Cuestiones relacionadas