LINUX.ORG.RU

проблема с софтлинками

 


0

1

Здравствуйте Centos7 Сразу прошу прощения, я ещё новичок в CentOS, поэтому есть пара вопросов, на которые гугл мне не дал ответа. Первый вопрос. Не удаляется софтлинк на директорию. Пытаюсь удалить как директорию rm -r говорит что это не директория, пытаюсь удалить как файл, говорит это директория. Определиться, блин, не может. Помогло удаление только с вышестоящей директорией вместе со всеми директориями и файлами в ней, включая и это ссылку. Но может можно как-то удалить её сразу. Ворой вопрос. Как создать софтлинк на директорию с переименованием этой директории. То есть, есть директория, например /root/dir/dir2 и директория /var/dir3/ как сделать софтлинк с dir2 на var/dir3/symlink и чтобы dir2 переименовалась в symlink например ln -s root/dir/dir2/ /var/dir3/symlink/ создаст symlink, и она вроде будет ссылкой, но файлов в ней не будет из dir2. Как сделать ссылку, чтобы были в ней все файлы и подкаталоги каталога, на который она ссылается.


Что бы удалить софтлинк на директорию нужно писать только имя самого линка, без символа /.

Т.е.

ls -ls link
link -> dir
rm link - верно
rm link/ - неверно
infomeh ★★ ()

Почитай что нужно указывать при создании ссылки, у начале указывается директория или файл на который будет ссылаться линк, а потом имя линка, ты пишешь наоборот.

infomeh ★★ ()

есть пара вопросов, на которые гугл мне не дал ответа

не правда, там это есть.

Не удаляется софтлинк на директорию

твою версию команды удаления в студию!

УМВР

user@debian:~$ mkdir test
user@debian:~$ ls test/ -l
итого 0
user@debian:~$ cd test/
user@debian:~/test$ mkdir dir2
user@debian:~/test$ ls  -l
итого 0
drwxr-xr-x 2 user user 40 мар 18 20:51 dir2
user@debian:~/test$ ln -s dir2 symlink
user@debian:~/test$ ls  -l
итого 0
drwxr-xr-x 2 user user 40 мар 18 20:51 dir2
lrwxrwxrwx 1 user user  4 мар 18 20:52 symlink -> dir2
user@debian:~/test$ rm symlink
user@debian:~/test$ ls  -l
итого 0
drwxr-xr-x 2 user user 40 мар 18 20:51 dir2

Как создать софтлинк на директорию с переименованием этой директории

разве это не два действия? софтлинк отдельно, переименование отдельно – только после переименования директории симлинк будет указывать в никуда

user@debian:~/test$ ls  -l
итого 0
drwxr-xr-x 2 user user 40 мар 18 20:51 dir2
user@debian:~/test$ ln -s dir2 symlink2
user@debian:~/test$ ls  -l
итого 0
drwxr-xr-x 2 user user 40 мар 18 20:51 dir2
lrwxrwxrwx 1 user user  4 мар 18 20:58 symlink2 -> dir2
user@debian:~/test$ mv dir2/ dir2rename
user@debian:~/test$ ls  -l
итого 0
drwxr-xr-x 2 user user 40 мар 18 20:51 dir2rename
lrwxrwxrwx 1 user user  4 мар 18 20:58 symlink2 -> dir2

То есть, есть директория, например /root/dir/dir2 и директория /var/dir3/ как сделать софтлинк с dir2 на var/dir3/symlink и чтобы dir2 переименовалась в symlink например ln -s root/dir/dir2/ /var/dir3/symlink/ создаст symlink, и она вроде будет ссылкой, но файлов в ней не будет из dir2. Как сделать ссылку, чтобы были в ней все файлы и подкаталоги каталога, на который она ссылается.

эту «кашу» я не распарсил…

Как сделать ссылку, чтобы были в ней все файлы и подкаталоги каталога, на который она ссылается.

это самая понятная часть. и она описывает как работает симлинк (софтлинк по-твоему)

могу только предположить, что ты указал путь не от корня

# здеcь ошибка
ln -s root/dir/dir2/ /var/dir3/symlink/
# это то, что ты хочешь
ln -s /root/dir/dir2/ /var/dir3/symlinktrue
anonymous ()