---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ytsaurus.tech/docs/en/user-guide/storage/links.md
  - https://ytsaurus.tech/docs/ru/user-guide/storage/links.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ytsaurus.tech/docs/ru/llms.txt

<!-- source: ru/_includes/user-guide/storage/links.md -->
# Символические ссылки

В данном разделе содержится информация о [символических ссылках](https://ru.wikipedia.org/wiki/Символическая_ссылка) — симлинках.

## Общие сведения { #common }

Система поддерживает символические ссылки (`soft links`) в [Кипарисе](https://ytsaurus.tech/docs/ru/user-guide/storage/cypress.md). Такая ссылка представляет собой узел типа `link`, ссылающийся на другой объект `target`.
Путь к нему указывается при создании ссылки. В процессе вычисления адреса для выполнения операции все обращения к узлу-ссылке автоматически переадресуются к целевому объекту.

Ссылка на целевой объект зависит от его пути.
Если целевой путь будет удален или перемещен, ссылка перестанет действовать. Вы получите сообщение об ошибке вида `Link target does not exist`.

Узел-ссылка не занимает дискового пространства. Его атрибут `resource_usage/disk_space` равен 0. Поэтому лимит на дисковую квоту не может быть превышен из-за создания узлов-ссылок.
При этом каждая ссылка представляет собой узел и занимает один `node`, поэтому можно превысить лимит на количество `nodes` в аккаунте.

## Создание { #create }

Чтобы создать символическую ссылку, используйте [команду](https://ytsaurus.tech/docs/ru/api/commands.md#link) `link`. В качестве аргументов сначала укажите путь целевого узла, затем путь узла ссылки:

CLI
```bash
yt link //tmp/target_table //tmp/target_table_link
```

Ссылка может вести к произвольным узлам и объектам.
Например, к поддереву `//tmp` в домашней директории:

CLI
```bash
yt link //tmp //home/username/my_own_tmp
```

{% note info "Примечание" %}

Относительные ссылки не поддерживаются.

{% endnote %}

## Переадресация { #redirects }

Автоматическая переадресация от узла-ссылки к целевому объекту работает с рядом исключений:

- Команды `remove`, `create` и `link` для целевого пути обслуживаются в узле-ссылке. Например, при удалении `//tmp/target_table_link` пользователь не повредит содержимое таблицы `//tmp/target_table`.
- Команда `move` сработает на целевом узле и узел-ссылка станет недействительной.

Также можно отключить переадресацию, для этого добавьте в конец имени ссылки маркер `&` (амперсанд).
Например, это позволяет изучать атрибуты узла-ссылки, а не целевого объекта.
Так, чтобы получить путь целевого объекта, выполните `yt get //tmp/target_table_link&/@`. Путь будет указан в атрибуте `target_path`.

## Системные атрибуты { #attributes }

Помимо [атрибутов](https://ytsaurus.tech/docs/ru/user-guide/storage/attributes.md), общих для всех типов узлов, узлы-ссылки содержат атрибуты:

| **Имя**       | **Тип**  | **Значение**                                                 |
| ------------- | -------- | ------------------------------------------------------------ |
| `target_path` | `string` | Путь до объекта, на который указывает ссылка.                |
| `broken`      | `bool`   | `true`, если ссылка указывает на несуществующий объект, иначе `false`. |
<!-- endsource: ru/_includes/user-guide/storage/links.md -->