2012-06-09 9 views
7

Ho creato un collegamento simbolico a una directory profondamente annidata. Usando il link simbolico posso spostarmi in quella directory dalla mia home directory. Voglio spostare una directory dalla directory di destinazione ma la shell ritorna alla directory home.Come spostare una directory di nuovo in unix/linux quando il percorso contiene collegamenti simbolici?

[[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 

Quello che voglio raggiungere è che quando faccio cd.. nella directory pqr guscio dovrebbe venire a mno directory.

+0

i collegamenti in unix si comportano come se i file fossero diretti lì in modo naturale cd .. sale nella gerarchia come se il file fosse lì è possibile creare un collegamento a/root/abc/def/ghi/jkl/mno nella directory pqr e poi solo cd – sherif

risposta

10

è necessario utilizzare

cd -P xyz 

di entrare in quella directory a seguire la struttura originale delle cartelle, allora si può passare come vuoi perché si hanno risolto il collegamento al percorso reale.

6

devi passare -P opzione:

cd -P ..