Spec-Zone.ru › Haskell 7

System.Posix.Files.ByteString

Copyright (c) The University of Glasgow 2002
License BSD-style (see the file libraries/base/LICENSE)
Maintainer libraries@haskell.org
Stability provisional
Portability non-portable (requires POSIX)
Safe Haskell Safe
Language Haskell2010

Содержание

  • Режимы файлов
    • Установка режимов файлов
    • Проверка существования файлов и прав доступа
  • Состояние файла
    • Получение состояния файла
    • Запрос состояния файла
  • Создание
  • Жёсткие ссылки
  • Символические ссылки
  • Переименование файлов
  • Изменение владельца файла
  • Изменение меток времени файла
  • Установка размера файла
  • Найти системные ограничения для файла

Описание

Функции, определённые стандартами POSIX для управления и запроса файловой системы. Имена базовых функций POSIX указываются, когда это возможно. Более полная документация по функциям POSIX вместе с более подробным описанием различных условий ошибок обычно доступна в страницах руководства системы или по адресу http://www.unix.org/version3/online.html (требуется бесплатная регистрация).

Когда функция, вызывающая базовую функцию POSIX, завершается неудачей, код errno преобразуется в IOError с помощью errnoToIOError. Для получения списка кодов errno, которые могут быть сгенерированы, обратитесь к документации POSIX для базовой функции.

Режимы файлов

unionFileModes :: FileMode -> FileMode -> FileMode Source

Объединяет два режима файла в один, который содержит режимы, присутствующие в любом из них.

intersectFileModes :: FileMode -> FileMode -> FileMode Source

Объединяет два режима файла в один, который содержит только режимы, присутствующие в обоих.

nullFileMode :: FileMode Source

Нет прав доступа.

ownerReadMode :: FileMode Source

Владелец имеет право на чтение.

ownerWriteMode :: FileMode Source

Владелец имеет право на запись.

ownerExecuteMode :: FileMode Source

Владелец имеет право на выполнение.

ownerModes :: FileMode Source

Владелец имеет права на чтение, запись и выполнение.

groupReadMode :: FileMode Source

Группа имеет право на чтение.

groupWriteMode :: FileMode Source

Группа имеет право на запись.

groupExecuteMode :: FileMode Source

Группа имеет право на выполнение.

groupModes :: FileMode Source

Группа имеет права на чтение, запись и выполнение.

otherReadMode :: FileMode Source

Другие имеют право на чтение.

otherWriteMode :: FileMode Source

Другие имеют право на запись.

otherExecuteMode :: FileMode Source

Другие имеют право на выполнение.

otherModes :: FileMode Source

Другие имеют права на чтение, запись и выполнение.

setUserIDMode :: FileMode Source

Установить идентификатор пользователя при выполнении.

setGroupIDMode :: FileMode Source

Установить идентификатор группы при выполнении.

stdFileMode :: FileMode Source

Владелец, группа и другие имеют права на чтение и запись.

accessModes :: FileMode Source

Владелец, группа и другие имеют права на чтение, запись и выполнение.

fileTypeModes :: FileMode Source

blockSpecialMode :: FileMode Source

characterSpecialMode :: FileMode Source

namedPipeMode :: FileMode Source

regularFileMode :: FileMode Source

directoryMode :: FileMode Source

symbolicLinkMode :: FileMode Source

socketMode :: FileMode Source

Установка режимов файлов

setFileMode :: RawFilePath -> FileMode -> IO () Source

setFileMode path mode изменяет разрешения файла, заданного path, на mode. Эта операция может завершиться ошибкой throwErrnoPathIfMinus1_, если path не существует или если эффективная идентификация пользователя текущего процесса не совпадает с идентификацией владельца файла.

Примечание: вызывает chmod.

setFdMode :: Fd -> FileMode -> IO () Source

setFdMode fd mode работает как setFileMode, но использует дескриптор файла fd вместо FilePath.

Примечание: вызывает fchmod.

setFileCreationMask :: FileMode -> IO FileMode Source

setFileCreationMask mode устанавливает маску создания режима файла на mode. Режимы, установленные этой операцией, вычитаются из файлов и каталогов при их создании. Возвращается предыдущая маска создания файла.

Примечание: вызывает umask.

Проверка существования и разрешений файла

fileAccess :: RawFilePath -> Bool -> Bool -> Bool -> IO Bool Source

fileAccess name read write exec проверяет, можно ли получить доступ к файлу (или другому объекту файловой системы) name для чтения, записи и/или выполнения. Чтобы проверить установленный набор разрешений, необходимо установить соответствующий аргумент в True.

Примечание: вызывает access.

fileExist :: RawFilePath -> IO Bool Source

Проверяет существование файла.

Примечание: вызывает access.

Статус файла

data FileStatus Source

POSIX определяет операции для получения информации о файле, такой как владелец, разрешения, размер и время доступа. Эта информация представлена типом FileStatus.

Примечание: см. chmod.

Получение статуса файла

getFileStatus :: RawFilePath -> IO FileStatus Source

getFileStatus path получает информацию FileStatus (идентификатор пользователя, размер, время доступа и т. д.) для файла path.

Примечание: вызывает stat.

getFdStatus :: Fd -> IO FileStatus Source

getFdStatus fd действует как getFileStatus но использует дескриптор файла fd.

Примечание: вызывает fstat.

getSymbolicLinkStatus :: RawFilePath -> IO FileStatus Source

Действует как getFileStatus за исключением случаев, когда RawFilePath ссылается на символическую ссылку. В этом случае возвращается информация FileStatus о самой символической ссылке, а не о файле, на который она указывает.

Примечание: вызывает lstat.

Запрос статуса файла

deviceID :: FileStatus -> DeviceID Source

Идентификатор устройства, на котором расположен этот файл.

fileID :: FileStatus -> FileID Source

Номер узла индекса.

fileMode :: FileStatus -> FileMode Source

Режим файла (например, разрешения).

linkCount :: FileStatus -> LinkCount Source

Количество жёстких ссылок на этот файл.

fileOwner :: FileStatus -> UserID Source

Идентификатор владельца.

fileGroup :: FileStatus -> GroupID Source

Идентификатор группы.

specialDeviceID :: FileStatus -> DeviceID Source

Описание устройства, которое представляет данный файл.

fileSize :: FileStatus -> FileOffset Source

Размер файла в байтах. Если данный файл является символической ссылкой, размер — это длина пути, который он содержит.

accessTime :: FileStatus -> EpochTime Source

Время последнего доступа.

modificationTime :: FileStatus -> EpochTime Source

Время последнего изменения.

statusChangeTime :: FileStatus -> EpochTime Source

Время последнего изменения статуса (например, владельца, группы, количества ссылок, режима и т. д.).

accessTimeHiRes :: FileStatus -> POSIXTime Source

Время последнего доступа с разрешением до долей секунды.

modificationTimeHiRes :: FileStatus -> POSIXTime Source

Время последнего изменения с разрешением до долей секунды.

statusChangeTimeHiRes :: FileStatus -> POSIXTime Source

Время последнего изменения статуса (т. е. владельца, группы, количества ссылок, режима и т. д.) с разрешением до долей секунды.

isBlockDevice :: FileStatus -> Bool Source

Проверяет, является ли этот файл блочным устройством.

isCharacterDevice :: FileStatus -> Bool Source

Проверяет, является ли этот файл символьным устройством.

isNamedPipe :: FileStatus -> Bool Source

Проверяет, является ли этот файл именованной пайп-трубой.

isRegularFile :: FileStatus -> Bool Source

Проверяет, является ли этот файл обычным файлом.

isDirectory :: FileStatus -> Bool Source

Проверяет, является ли этот файл каталогом.

isSymbolicLink :: FileStatus -> Bool Source

Проверяет, является ли этот файл символьной ссылкой.

isSocket :: FileStatus -> Bool Source

Проверяет, является ли этот файл сокетом.

Создание

createNamedPipe :: RawFilePath -> FileMode -> IO () Source

createNamedPipe fifo mode создаёт новую именованную пайп-трубу, fifo, с правами, основанными на mode. Может завершиться ошибкой throwErrnoPathIfMinus1_ если файл с именем name уже существует или если у эффективного идентификатора пользователя текущего процесса нет разрешения на создание пайп-трубы.

Примечание: вызывает mkfifo.

createDevice :: RawFilePath -> FileMode -> DeviceID -> IO () Source

createDevice path mode dev создаёт обычный или специальный файл в зависимости от значения mode (и dev). mode обычно будет либо blockSpecialMode, либо characterSpecialMode. Может завершиться ошибкой throwErrnoPathIfMinus1_ если файл с именем name уже существует или если у эффективного идентификатора пользователя текущего процесса нет разрешения на создание файла.

Примечание: вызывает mknod.

Жёсткие ссылки

createLink :: RawFilePath -> RawFilePath -> IO () Source

createLink old new создаёт новый путь, new, связанный с существующим файлом, old.

Примечание: вызывает link.

removeLink :: RawFilePath -> IO () Source

removeLink path удаляет ссылку с именем path.

Примечание: вызывает unlink.

Символические ссылки

createSymbolicLink :: RawFilePath -> RawFilePath -> IO () Source

createSymbolicLink file1 file2 создаёт символическую ссылку с именем file2, которая указывает на файл file1.

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

Примечание: вызывает symlink.

readSymbolicLink :: RawFilePath -> IO RawFilePath Source

Читает RawFilePath, на которую указывает символическая ссылка, и возвращает её.

Примечание: вызывает readlink.

Переименование файлов

rename :: RawFilePath -> RawFilePath -> IO () Source

rename old new переименовывает файл или каталог из old в new.

Примечание: вызывает rename.

Изменение владельца файла

setOwnerAndGroup :: RawFilePath -> UserID -> GroupID -> IO () Source

setOwnerAndGroup path uid gid изменяет владельца и группу path соответственно на uid и gid.

Если uid или gid заданы как -1, то этот идентификатор не меняется.

Примечание: вызывает chown.

setFdOwnerAndGroup :: Fd -> UserID -> GroupID -> IO () Source

Выполняет setOwnerAndGroup , но использует дескриптор файла вместо FilePath.

Примечание: вызывает fchown.

setSymbolicLinkOwnerAndGroup :: RawFilePath -> UserID -> GroupID -> IO () Source

Выполняет setOwnerAndGroup , но не следует за символическими ссылками (и, следовательно, изменяет права доступа к самой ссылке).

Примечание: вызывает lchown.

Изменение временных меток файла

setFileTimes :: RawFilePath -> EpochTime -> EpochTime -> IO () Source

setFileTimes path atime mtime устанавливает время доступа и изменения, связанные с файлом path соответственно на atime и mtime.

Примечание: вызывает utime.

setFileTimesHiRes :: RawFilePath -> POSIXTime -> POSIXTime -> IO () Source

Как setFileTimes , но временные метки могут иметь разрешение до долей секунды.

Примечание: вызывает utimensat или utimes.

setFdTimesHiRes :: Fd -> POSIXTime -> POSIXTime -> IO () Source

Подобно setFileTimesHiRes, но использует дескриптор файла вместо пути. Данная операция не поддерживается на всех платформах. На таких платформах эта функция вызовет исключение.

Примечание: вызывается futimens или futimes.

С версии: 2.7.0.0

setSymbolicLinkTimesHiRes :: RawFilePath -> POSIXTime -> POSIXTime -> IO () Source

Подобно setFileTimesHiRes, но не следует символическим ссылкам. Данная операция не поддерживается на всех платформах. На таких платформах эта функция вызовет исключение.

Примечание: вызывается utimensat или lutimes.

touchFile :: RawFilePath -> IO () Source

touchFile path устанавливает время доступа и изменения файла path на текущее время.

Примечание: вызывается utime.

touchFd :: Fd -> IO () Source

Подобно touchFile, но использует дескриптор файла вместо пути. Данная операция не поддерживается на всех платформах. На таких платформах эта функция вызовет исключение.

Примечание: вызывается futimes.

С версии: 2.7.0.0

touchSymbolicLink :: RawFilePath -> IO () Source

Подобно touchFile, но не следует символическим ссылкам. Данная операция не поддерживается на всех платформах. На таких платформах эта функция вызовет исключение.

Примечание: вызывается lutimes.

Установка размера файлов

setFileSize :: RawFilePath -> FileOffset -> IO () Source

Обрезает файл до указанной длины. Если файл был больше заданной длины до выполнения этой операции, лишняя часть теряется.

Примечание: вызывается truncate.

setFdSize :: Fd -> FileOffset -> IO () Source

Выполняет setFileSize но использует дескриптор файла вместо FilePath.

Примечание: вызывается ftruncate.

Поиск системных ограничений для файла

data PathVar Source

Конструкторы

FileSizeBits
LinkLimit
InputLineLimit
InputQueueLimit
FileNameLimit
PathNameLimit
PipeBufferLimit
SymbolicLinkLimit
SetOwnerAndGroupIsRestricted
FileNamesAreNotTruncated
VDisableChar
AsyncIOAvailable
PrioIOAvailable
SyncIOAvailable

getPathVar :: RawFilePath -> PathVar -> IO Limit Source

getPathVar var path получает динамическое значение запрошенного настраиваемого ограничения или параметра файла, связанного с файлом или каталогом path. Для определённых ограничений файлов, getPathVar возвращает соответствующее значение. Для определённых параметров файлов, результат getPathVar неопределён, но не является ошибкой.

Примечание: вызывается pathconf.

getFdPathVar :: Fd -> PathVar -> IO Limit Source

getFdPathVar var fd получает динамическое значение запрошенного настраиваемого ограничения или параметра файла, связанного с файлом или каталогом, подключённым к открытому каналу fd. Для определённых ограничений файлов, getFdPathVar возвращает соответствующее значение. Для определённых параметров файлов, результат getFdPathVar неопределён, но не является ошибкой.

Примечание: вызывается fpathconf.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/unix-2.7.1.0/System-Posix-Files-ByteString.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API