Система.Posix.Файлы
| 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 :: FilePath -> FileMode -> IO () Source
setFileMode path mode изменяет разрешения файла, указанного path, на mode. Эта операция может завершиться ошибкой throwErrnoPathIfMinus1_, если path не существует или если эффективная идентификатор пользователя текущего процесса не совпадает с идентификатором владельца файла.
Примечание: вызывается chmod.
setFdMode :: Fd -> FileMode -> IO () Исходный код
setFdMode fd mode действует как setFileMode, но использует дескриптор файла fd вместо FilePath.
Примечание: вызывается fchmod.
setFileCreationMask :: FileMode -> IO FileMode Исходный код
setFileCreationMask mode устанавливает маску создания режима файла на mode. Режимы, установленные этой операцией, вычитаются из файлов и каталогов при их создании. Предыдущая маска создания режима файла возвращается.
Примечание: вызывается umask.
Проверка существования и разрешений файла
fileAccess :: FilePath -> Bool -> Bool -> Bool -> IO Bool Исходный код
fileAccess name read write exec проверяет, может ли файл (или другой объект файловой системы) name быть доступен для чтения, записи и/или выполнения. Чтобы проверить разрешение набора, соответствующий аргумент необходимо установить на True.
Примечание: вызывается access.
fileExist :: FilePath -> IO Bool Исходный код
Проверяет существование файла.
Примечание: вызывается access.
Статус файла
data FileStatus Исходный код
POSIX определяет операции для получения информации, такой как владелец, разрешения, размер и временные метки доступа к файлу. Эта информация представлена типом FileStatus.
Примечание: см. chmod.
Получение статуса файла
getFileStatus :: FilePath -> IO FileStatus Исходный код
getFileStatus path вызывает получение информации о FileStatus (идентификатор пользователя, размер, временные метки доступа и т. д.) для файла path.
Примечание: вызывается stat.
getFdStatus :: Fd -> IO FileStatus Исходный код
getFdStatus fd действует как getFileStatus, но использует дескриптор файла fd.
Примечание: вызывается fstat.
getSymbolicLinkStatus :: FilePath -> IO FileStatus Исходный код
Действует как getFileStatus, за исключением случаев, когда FilePath ссылается на символическую ссылку. В этом случае возвращается информация о символической ссылке, а не о файле, на который она указывает.
Примечание: вызывается lstat.
Запрос статуса файла
deviceID :: FileStatus -> DeviceID Исходный код
Идентификатор устройства, на котором находится этот файл.
fileID :: FileStatus -> FileID Исходный код
Номер индексного узла.
fileMode :: FileStatus -> FileMode Исходный код
Режим файла (например, разрешения).
linkCount :: FileStatus -> LinkCount Исходный код
Количество жёстких ссылок на этот файл.
fileOwner :: FileStatus -> UserID Исходный код
Идентификатор владельца.
fileGroup :: FileStatus -> GroupID Исходный код
Идентификатор группы.
specialDeviceID :: FileStatus -> DeviceID Исходный код
Описывает устройство, которое представляет этот файл.
fileSize :: FileStatus -> FileOffset Исходный код
Размер файла в байтах. Если этот файл является символической ссылкой, размер равен длине пути, содержащегося в ней.
accessTime :: FileStatus -> EpochTime Исходный код
Время последнего доступа.
modificationTime :: FileStatus -> EpochTime Исходный код
Время последнего изменения.
statusChangeTime :: FileStatus -> EpochTime Исходный код
Время последнего изменения статуса (т. е. владельца, группы, количества ссылок, режима и т. д.).
accessTimeHiRes :: FileStatus -> POSIXTime Исходный код
Время последнего доступа с разрешением до долей секунды.
modificationTimeHiRes :: FileStatus -> POSIXTime Исходный код
Время последнего изменения с разрешением до долей секунды.
statusChangeTimeHiRes :: FileStatus -> POSIXTime Исходный код
Время последнего изменения статуса (например, владельца, группы, количества ссылок, режима и т. д.) с разрешением до долей секунды.
isBlockDevice :: FileStatus -> Bool Исходный код
Проверяет, является ли этот файл блочным устройством.
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 :: FilePath -> FileMode -> IO () Source
createNamedPipe fifo mode создаёт новую именованную трубу fifo, с правами доступа, основанными на mode. Может завершиться ошибкой throwErrnoPathIfMinus1_ при наличии файла с именем name или если у текущего процесса недостаточно прав для создания трубы.
Примечание: вызывает mkfifo.
createDevice :: FilePath -> FileMode -> DeviceID -> IO () Source
createDevice path mode dev создаёт либо обычный, либо специальный файл, в зависимости от значения mode (и dev). mode обычно будет либо blockSpecialMode, либо characterSpecialMode. Может завершиться ошибкой throwErrnoPathIfMinus1_ при наличии файла с именем name или если у текущего процесса недостаточно прав для создания файла.
Примечание: вызывает mknod.
Жёсткие ссылки
createLink :: FilePath -> FilePath -> IO () Source
createLink old new создаёт новый путь new, связанный с существующим файлом old.
Примечание: вызывает link.
removeLink :: FilePath -> IO () Source
removeLink path удаляет ссылку с именем path.
Примечание: вызывает unlink.
Символические ссылки
createSymbolicLink :: FilePath -> FilePath -> IO () Source
createSymbolicLink file1 file2 создаёт символическую ссылку с именем file2, указывающую на файл file1.
Символические ссылки интерпретируются во время выполнения так, как если бы содержимое ссылки было подставлено в путь для поиска файла или каталога.
Примечание: вызывает symlink.
readSymbolicLink :: FilePath -> IO FilePath Source
Считывает FilePath, на который указывает символическая ссылка, и возвращает её.
Примечание: вызывает readlink.
Переименование файлов
rename :: FilePath -> FilePath -> IO () Source
rename old new переименовывает файл или каталог из old в new.
Примечание: вызывает rename.
Изменение владельца файла
setOwnerAndGroup :: FilePath -> 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 :: FilePath -> UserID -> GroupID -> IO () Source
Действует как setOwnerAndGroup но не следует за символическими ссылками (и, следовательно, изменяет права доступа самой ссылки).
Примечание: вызывает lchown.
Изменение временных меток файлов
setFileTimes :: FilePath -> EpochTime -> EpochTime -> IO () Source
setFileTimes path atime mtime устанавливает временные метки доступа и изменения для файла path на atime и mtime соответственно.
Примечание: вызывает utime.
setFileTimesHiRes :: FilePath -> POSIXTime -> POSIXTime -> IO () Source
Как setFileTimes но временные метки могут иметь разрешение до долей секунды.
Примечание: вызывает utimensat или utimes.
Since: 2.7.0.0
setFdTimesHiRes :: Fd -> POSIXTime -> POSIXTime -> IO () Source
Как setFileTimesHiRes но использует дескриптор файла вместо пути. Эта операция не поддерживается на всех платформах. На этих платформах эта функция вызовет исключение.
Примечание: вызывает futimens или futimes.
Since: 2.7.0.0
setSymbolicLinkTimesHiRes :: FilePath -> POSIXTime -> POSIXTime -> IO () Source
Подобно setFileTimesHiRes, но не следует символьных ссылок. Данная операция не поддерживается на всех платформах. На этих платформах эта функция вызовет исключение.
Примечание: вызывает utimensat или lutimes.
С момента: 2.7.0.0
touchFile :: FilePath -> IO () Source
touchFile path устанавливает время доступа и изменения, связанные с файлом path, на текущее время.
Примечание: вызывает utime.
Подобно touchFile, но использует дескриптор файла вместо пути. Данная операция не поддерживается на всех платформах. На этих платформах эта функция вызовет исключение.
Примечание: вызывает futimes.
С момента: 2.7.0.0
touchSymbolicLink :: FilePath -> IO () Source
Подобно touchFile, но не следует символьных ссылок. Данная операция не поддерживается на всех платформах. На этих платформах эта функция вызовет исключение.
Примечание: вызывает lutimes.
С момента: 2.7.0.0
Установка размеров файлов
setFileSize :: FilePath -> FileOffset -> IO () Source
Усекает файл до указанной длины. Если файл был больше заданной длины до выполнения этой операции, избыточная часть теряется.
Примечание: вызывает truncate.
setFdSize :: Fd -> FileOffset -> IO () Source
Действует как setFileSize, но использует дескриптор файла вместо FilePath.
Примечание: вызывает ftruncate.
Поиск системных ограничений для файла
Конструкторы
getPathVar :: FilePath -> 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.html