2012-06-09 19 views
7

Utworzyłem dowiązanie symboliczne do głęboko zagnieżdżonego katalogu. Używając dowiązania symbolicznego mogę przejść do tego katalogu z mojego katalogu domowego. Chcę przenieść jeden katalog z powrotem z katalogu docelowego, ale powłoka powraca do katalogu domowego.Jak przenieść jeden katalog z powrotem w systemie Unix/Linux, gdy ścieżka zawiera dowiązania symboliczne?

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

Co chcę osiągnąć jest to, że kiedy robię cd.. w pqr katalogu powłoka powinna przyjść do mno katalogu.

+0

łącza w systemie UNIX działają tak, jak pliki były bezpośrednio tam, więc naturalnie cd .. podchodzi w hierarchii jak plik tam, gdzie można utworzyć link do/root/abc/def/ghi/jkl/mno w katalogu pqr a następnie po prostu cd do niego – sherif

Odpowiedz

10

Musisz użyć

cd -P xyz 

wejść do tego katalogu do naśladowania oryginalną strukturę folderów, a następnie można przenieść, jak chcesz bo ciebie rozwiązały link do prawdziwej ścieżki.

6

Trzeba zdać -P opcję:

cd -P ..