РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
615 of 1593 menu

Функция os.Readlink

Функция os.Readlink читает содержимое символической ссылки и возвращает путь, на который она указывает. В первый параметр мы передаем путь к символической ссылке. Функция возвращает строку с путем назначения и ошибку. Если путь не является символической ссылкой или произошла ошибка чтения, функция возвращает ошибку.

Синтаксис

path, err := os.Readlink(linkPath)

Пример

Давайте создадим символическую ссылку и прочитаем ее содержимое:

package main import ( "fmt" "os" ) func main() { // Создаем символическую ссылку err := os.Symlink("/tmp/original.txt", "/tmp/link.txt") if err != nil { fmt.Println("Error creating symlink:", err) return } // Читаем содержимое ссылки res, err := os.Readlink("/tmp/link.txt") if err != nil { fmt.Println("Error reading symlink:", err) return } fmt.Println(res) }

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

"/tmp/original.txt"

Пример

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

package main import ( "fmt" "os" ) func main() { // Создаем обычный файл file, err := os.Create("/tmp/file.txt") if err != nil { fmt.Println("Error creating file:", err) return } file.Close() // Пытаемся прочитать файл как символическую ссылку res, err := os.Readlink("/tmp/file.txt") if err != nil { fmt.Println("Error:", err) return } fmt.Println(res) }

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

"Error: readlink /tmp/file.txt: invalid argument"

Пример

Давайте прочитаем содержимое символической ссылки с относительным путем:

package main import ( "fmt" "os" ) func main() { // Создаем символическую ссылку с относительным путем err := os.Symlink("./original.txt", "/tmp/relative-link.txt") if err != nil { fmt.Println("Error creating symlink:", err) return } // Читаем содержимое ссылки res, err := os.Readlink("/tmp/relative-link.txt") if err != nil { fmt.Println("Error reading symlink:", err) return } fmt.Println(res) }

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

"./original.txt"

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

  • функцию os.Symlink,
    которая создает символическую ссылку
  • функцию os.Lstat,
    которая получает информацию о файле, не переходя по символическим ссылкам
  • функцию os.Stat,
    которая получает информацию о файле, переходя по символическим ссылкам
  • функцию filepath.EvalSymlinks,
    которая вычисляет абсолютный путь, разрешая все символические ссылки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить