РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
920 of 1245 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить