Как переименовать каталог через его системную ссылку? - PullRequest
1 голос
/ 24 октября 2010

У меня есть это:

ubuntu:~/tmp$ ls -l
total 4
drwxr-xr-x 2 abc abc 4096 2010-10-23 14:13 dir1
lrwxrwxrwx 1  abc abc  4 2010-10-23 14:13 dirln -> dir1

dir1 пуст

Я хочу переименовать dir1 в dir2 через dirln, например:

ubuntu:~/tmp$ mv dirln/ dir2
mv: cannot move `dirln/' to `dir2': Not a directory

Это дает ошибку.

Можно ли переименовать каталог по его символической ссылке?

Спасибо

1 Ответ

1 голос
/ 24 октября 2010

Вы можете использовать что-то вроде этого:

mv "$(readlink -f dirln)" dir2

Обратите внимание, что это разрывает символическую ссылку, поскольку теперь она будет указывать на старое местоположение папки. Так что вам придется воссоздать ссылку.

(я не тестировал параметр -f, поскольку он не существует в Mac OS X.)

...