- Обычные файлы, содержащие последовательность байтов (они могут иметь несколько имён)
- Файлы, содержащие имена других файлов (каталоги)
- Файлы, содержащие путь к другим файлам (ссылки)
Но в Windows есть команда mklink, с помощью которой тоже можно создавать ссылки.
Shell
G:\>mklink
Создает символьную ссылку.
MKLINK [[/D] | [/H] | [/J]] Ссылка Назначение
/D Создает символьную ссылку на каталог.
По умолчанию создается символьная ссылка на файл.
/H Создает жесткую связь вместо символьной ссылки.
/J Создает соединение для каталога.
Ссылка Указывает имя новой символьной ссылки.
Назначение Указывает путь (относительный или абсолютный), на который ссылается
новая ссылка.
Затем загрузил Windows и командами mklink /D D1-dw и mklink /J D1-jw создал ссылку и соединение для каталога D1l. И вот что увидел.
В Windows:
Shell
G:\>dir /a
Том в устройстве G имеет метку Transcend
Серийный номер тома: F0ED-003E
Содержимое папки G:\
Сб 08.06.24 15:54 <DIR> !
Сб 08.06.24 15:52 <DIR> D1l
Сб 08.06.24 15:59 <SYMLINKD> D1l-dw [D1l]
Сб 08.06.24 15:59 <JUNCTION> D1l-jw [G:\D1l]
Сб 08.06.24 15:52 14 D1l-sl
Сб 08.06.24 15:57 <DIR> System Volume Information
1 файлов 14 байт
5 папок 4 000 278 511 616 байт свободно
Shell
mik13@MD5:/media/mik13/Tr4$ ls -li
итого 5
66 drwxrwxrwx 1 mik13 mik13 0 июн 8 15:54 '!'
64 drwxrwxrwx 1 mik13 mik13 0 июн 8 15:52 D1l
48 lrwxrwxrwx 1 mik13 mik13 3 июн 8 15:59 D1l-dw -> D1l
49 lrwxrwxrwx 1 mik13 mik13 20 июн 8 15:59 D1l-jw -> /media/mik13/Tr4/D1l
65 lrwxrwxrwx 1 mik13 mik13 3 июн 8 15:52 D1l-sl -> D1l
50 -rwxrwxrwx 1 mik13 mik13 1043 июн 8 16:01 dir
45 drwxrwxrwx 1 mik13 mik13 0 июн 8 15:57 'System Volume Information'
Но как создавать ссылки на каталоги, которые бы понимал Windows?
P.S. ChatGPT сказал, что есть утилита lnk2symlink, которые предоставляют поддержку создания символических ссылок, понятных и в Windows, и в Linux.
Что это за утилита и где её можно найти?