/D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link specifies the new symbolic link name.
Target specifies the path (relative or absolute) that the new link
refers to.
C:\test>mklink
Creates a symbolic link.
MKLINK [[/D] | [/H] | [/J]] Link Target
/D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link specifies the new symbolic link name.
Target specifies the path (relative or absolute) that the new link
refers to.
>то работает, а:
ln -s 1/ 2/ - из 3/ нет
не совсем понял что да как. вобщем посмотри куда указывает эта ссылка по ls -l
Также для диркеторий важно стоит ли слеш в конце или нет
Если сделать ln -s 1/ 2/ и 2/ - существует (и это диркетория или ссылка на валидную директорию) то мы получем совершенно не то что мы хотели) (ссылку 2->1/ внутри директории 2/)
> не тупи, всё правильно =)
Сам не тупи =)
$ cd /tmp
$ touch file
$ ln -s file link2file
$ ls -l *file
-rw-rw-r-- 1 mike mike 0 Май 20 08:59 file
lrwxrwxrwx 1 mike mike 4 Май 20 09:00 link2file -> file
$
Просто под "куда" я понимал полный путь файла с именем. Если не укзаать путь - то будет в текущей директории. Если не указать имя, то будет с именем оригинала
Внимательно следи за движениями рук...
$ mkdir /tmp/1
$ mkdir /tmp/2
$ cd ~
$ ln -s ../2 /tmp/1
$ ln -s ../2 /tmp/1/3
$ ls -l /tmp/1
итого 0
lrwxrwxrwx 1 mike mike 4 Май 20 09:06 2 -> ../2
lrwxrwxrwx 1 mike mike 4 Май 20 09:07 3 -> ../2
$ touch /tmp/2/test
$ ls -l /tmp/1/2
lrwxrwxrwx 1 mike mike 4 Май 20 09:06 /tmp/1/2 -> ../2
$ ls -l /tmp/1/2/*
-rw-rw-r-- 1 mike mike 0 Май 20 09:08 /tmp/1/2/test
$
Не удержался всё-таки.
> ln -s "Что" "Куда"
$ LANG=C man ln | head -n 12
LN(1) User Commands LN(1)
NAME
ln - make links between files
SYNOPSIS
ln [OPTION]... [-T] TARGET LINK_NAME (1st form)
ln [OPTION]... TARGET (2nd form)
ln [OPTION]... TARGET... DIRECTORY (3rd form)
ln [OPTION]... -t DIRECTORY TARGET... (4th form)
$ man ln | head -n 12
LN(1) LN(1)
ИМЯ
ln - создает ссылки между файлами
ОБЗОР
ln [опции] исходный [куда]
ln [опции] исходный... каталог
Опции POSIX: [-f] [--]
Не читайте до обеда русских мануалов!
Потому что перевести TARGET как "Что" вместо "Куда" мог только ахтунг.
И не важно что Вы там себе понимаете...
> Разве здесь, кроме тебя, кто-то упоминал "русские маны"?
Ну это же не я первый писал: >> ln -s "Что" "Куда"
> Target, как и слово "цель" отвечает и на вопрос "куда" и на вопрос "что".
Если сферически в вакууме, то не спорю, но у ln два параметра.
И нужно рассматривать смысл применительно к параметрам.
$ cat /etc/redhat-release
CentOS release 5 (Final)
$ man ln | head -n 9
LN(1) LN(1)
ИМЯ
ln - создает ссылки между файлами
ОБЗОР
ln [опции] исходный [куда]
^^^^^^^^^^^^^^^
Наверняка в других дистрибутивах в переводах креативы наподобие,
поэтому по поводу переклинило, или не переклинило, к переводчику.
Мне TARGET и LINK_NAME и без перевода понятно, а вот у топикстартера,
например, проблемы. =)
> Что - что существует
> Куда - куда делать линк
Точно такая же демагогия.
Ничего не изменится если сказать так:
ln -s Куда Что
Что - что сделать
Куда -- куда (на что) сделать
Ещё вот штука интересная, если с мануалом в шапке сравнить :)
$ man ln | head -n 10
LN(1) FreeBSD General Commands Manual LN(1)
NAME
ln, link -- make links
SYNOPSIS
ln [-Ffhinsv] source_file [target_file]
ln [-Ffhinsv] source_file ... target_dir
link source_file target_file
Ничего не получается, что я делаю неправильно?
Приблизительно так, за точность вывода не ручаюсь, по памяти:
% cd
% mkdir dir_1
% mkdir dir_2
% ln -s dir_1 dir_2
% ls -l dir_2/dir_1
lrwxrwxrwx 1 my comp 21 Май 20 09:06 dir_2/dir_1 -> dir_1
% cd dir_2/dir_1
Error: to many levels of symbolic links