Страница 1 из 1

символич. ссылка

Добавлено: 2009-12-02 12:10:23
Andrey2009
freebsd 7.2, создана символическая ссылка из /usr/lib/sasl2/ на -> /usr/local/lib/sasl2/
Надо наоборот, /usr/local/lib/sasl2/ на -> /usr/lib/sasl2. Помогите исправить!

Re: символич. ссылка

Добавлено: 2009-12-02 13:45:53
manefesto
какая из папок реально существует то ?

Re: символич. ссылка

Добавлено: 2009-12-02 13:46:18
schizoid
а что, тупо удалить ссылку низзя?

Re: символич. ссылка

Добавлено: 2009-12-02 15:21:16
Andrey2009
реально существует /usr/local/lib/sasl2/
Тупо попытался удалить /usr/lib/sasl2, симв ссылка осталась, при попытке зайти пишет: no such file or directory

Re: символич. ссылка

Добавлено: 2009-12-02 19:05:56
zg
Andrey2009 писал(а):Тупо попытался удалить /usr/lib/sasl2, симв ссылка осталась, при попытке зайти пишет: no such file or directory
ну какбэ есть три способа удаления

Код: Выделить всё

rmdir
rm -R
unlink
каким способом удалял?

Re: символич. ссылка

Добавлено: 2009-12-02 19:13:36
angelas_
Да всё проще..
Если удалять линк так:

Код: Выделить всё

rm -r /path/to/dir
то удалите линк. А если так:

Код: Выделить всё

rm -r /path/to/dir/
то удалите директорию (т.е. то, на что этот софт линк указывает).
Подозреваю, что товарищ, удаляя, неосторожно пользовался Tab'ом (autocompleate).
:smile:

Re: символич. ссылка

Добавлено: 2009-12-02 19:57:23
zg
angelas_ писал(а):Подозреваю, что товарищ, удаляя, неосторожно пользовался Tab'ом
если удалять правильно, то удалить папку нельзя

Код: Выделить всё

%mkdir dir
%ln -s dir link
%unlink link/
unlink: link/: is a directory
%unlink link
%ls -lah | grep dir
drwxr-xr-x  2 zg    wheel   512B Dec  2 21:48 dir
%ls -lah | grep link
%

Re: символич. ссылка

Добавлено: 2009-12-02 20:25:15
angelas_
zg писал(а):если удалять правильно, то удалить папку нельзя
Вот что говорит мануал man'a:

Код: Выделить всё

The rm utility removes symbolic links, not the files referenced by the links.
Однако если мы будем удалять так, как я говорил - удалите директорию всё равно. Можно вызывать rm как unlink, но у этого метода есть одно ограничение, ему можно подсовывать только одно значение как аргумент. Так что не всегда удобно.

"Правильно" в данном случае это так, чтоб удалить линк, а не директорию. И совсем неважно какими вы инструментами пользуетесь, буть то mc, rm, find или ещё что угодно. Самое главное отдавать себе отчёт в том, что делаешь. Я когда-то давно ту же самую ошибку сделал, как и автор темы, только потеря была значимей, нежели здесь. Самое главное - учиться на своих ошибках и ошибках других.. ;-)
:smile:

Re: символич. ссылка

Добавлено: 2009-12-02 20:30:08
zg
angelas_ писал(а):"Правильно" в данном случае это так, чтоб удалить линк, а не директорию.
я о том и говорю
zg писал(а):%unlink link/
unlink: link/: is a directory