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
Владелец имеет право на выполнение.
Владелец имеет права на чтение, запись и выполнение.
groupReadMode :: FileMode Source
Группа имеет право на чтение.
groupWriteMode :: FileMode Source
Группа имеет право на запись.
groupExecuteMode :: FileMode Source
Группа имеет право на выполнение.
Группа имеет права на чтение, запись и выполнение.
otherReadMode :: FileMode Source
Другие имеют право на чтение.
otherWriteMode :: FileMode Source
Другие имеют право на запись.
otherExecuteMode :: 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
Установка режимов файлов
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
Время последнего изменения с разрешением до долей секунды.
Время последнего изменения статуса (т. е. владельца, группы, количества ссылок, режима и т. д.) с разрешением до долей секунды.
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.
Подобно 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.
Поиск системных ограничений для файла
Конструкторы
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