Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
921 of 1246 menu
◀ ▶

Функция symlink

Функция symlink создаёт символическую ссылку (симлинк) по указанному пути, которая указывает на существующий файл или директорию. Первым параметром функция принимает путь, на который будет указывать ссылка (цель), а вторым - путь, по которому будет создана сама символическая ссылка. Функция возвращает io::Result<()>: значение Ok(()) при успешном создании ссылки и ошибку Err в противном случае.

Символическая ссылка - это специальный файл, который содержит путь к другому файлу или директории. При обращении к симлинку операционная система перенаправляет запрос к его цели. В отличие от жёсткой ссылки, симлинк может указывать на несуществующий путь, а также на директории и объекты на других файловых системах.

Синтаксис

use std::fs; fs::symlink(original, link)

Пример

Давайте создадим символическую ссылку "link.txt", которая будет указывать на файл "target.txt":

use std::fs; use std::io::Write; fn main() { fs::write("target.txt", "hello").unwrap(); fs::symlink("target.txt", "link.txt").unwrap(); let res = fs::read_to_string("link.txt").unwrap(); println!("{}", res); }

Результат выполнения кода:

"hello"

Пример

Давайте проверим, что символическая ссылка действительно указывает на исходный файл, прочитав её цель с помощью функции read_link:

use std::fs; fn main() { fs::write("target.txt", "hello").unwrap(); fs::symlink("target.txt", "link.txt").unwrap(); let path = fs::read_link("link.txt").unwrap(); println!("{:?}", path); }

Результат выполнения кода:

"target.txt"

Пример

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

use std::fs; fn main() { fs::write("target.txt", "hello").unwrap(); fs::symlink("target.txt", "link.txt").unwrap(); let res = fs::symlink("target.txt", "link.txt"); println!("{}", res.is_err()); }

Результат выполнения кода:

true

Смотрите также

  • функция read_link,
    которая возвращает путь, на который указывает символическая ссылка
  • функция hard_link,
    которая создаёт жёсткую ссылку на файл
  • функция metadata,
    которая возвращает метаданные файла или директории
  • функция canonicalize,
    которая возвращает канонический абсолютный путь
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить