name: File System Operations API
description: System calls for file and directory manipulation, including open, read, write, and file descriptor
management.
image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/dir_section_2.html
baseURL: system://unix/fs
tags:
- Directories
- Files
- Filesystem
- Io
properties:
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/contents.html
- type: APIReference
url: https://man7.org/linux/man-pages/man2/
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9799919799/functions/open.html
contact:
- FN: POSIX Standards Committee
email: [email protected]
operations:
- name: open
description: Open file and return file descriptor
parameters:
- pathname
- flags
- mode
returns: file descriptor (int)
- name: read
description: Read bytes from a file descriptor
parameters:
- fd
- buf
- count
returns: number of bytes read
- name: write
description: Write bytes to a file descriptor
parameters:
- fd
- buf
- count
returns: number of bytes written
- name: close
description: Close a file descriptor
parameters:
- fd
returns: 0 on success, -1 on error
- name: lseek
description: Reposition file offset
parameters:
- fd
- offset
- whence
returns: resulting offset
- name: stat
description: Get file status
parameters:
- pathname
- statbuf
returns: 0 on success, -1 on error
- name: fstat
description: Get file status by file descriptor
parameters:
- fd
- statbuf
returns: 0 on success, -1 on error
- name: lstat
description: Get file status without following symbolic links
parameters:
- pathname
- statbuf
returns: 0 on success, -1 on error
- name: chmod
description: Change file permissions
parameters:
- pathname
- mode
returns: 0 on success, -1 on error
- name: fchmod
description: Change file permissions by file descriptor
parameters:
- fd
- mode
returns: 0 on success, -1 on error
- name: chown
description: Change file owner and group
parameters:
- pathname
- owner
- group
returns: 0 on success, -1 on error
- name: mkdir
description: Create a directory
parameters:
- pathname
- mode
returns: 0 on success, -1 on error
- name: rmdir
description: Remove a directory
parameters:
- pathname
returns: 0 on success, -1 on error
- name: link
description: Create a hard link to a file
parameters:
- oldpath
- newpath
returns: 0 on success, -1 on error
- name: unlink
description: Delete a name and possibly the file it refers to
parameters:
- pathname
returns: 0 on success, -1 on error
- name: symlink
description: Create a symbolic link
parameters:
- target
- linkpath
returns: 0 on success, -1 on error
- name: readlink
description: Read value of a symbolic link
parameters:
- pathname
- buf
- bufsiz
returns: number of bytes placed in buf
- name: rename
description: Change the name or location of a file
parameters:
- oldpath
- newpath
returns: 0 on success, -1 on error
- name: dup
description: Duplicate a file descriptor
parameters:
- oldfd
returns: new file descriptor
- name: dup2
description: Duplicate a file descriptor to a specified descriptor number
parameters:
- oldfd
- newfd
returns: new file descriptor
- name: fcntl
description: Manipulate file descriptor properties and flags
parameters:
- fd
- cmd
- arg
returns: depends on cmd, -1 on error
- name: access
description: Check user permissions for a file
parameters:
- pathname
- mode
returns: 0 on success, -1 on error
- name: umask
description: Set file mode creation mask
parameters:
- mask
returns: previous value of the mask
- name: opendir
description: Open a directory stream
parameters:
- name
returns: pointer to directory stream
- name: readdir
description: Read a directory entry
parameters:
- dirp
returns: pointer to dirent structure
- name: closedir
description: Close a directory stream
parameters:
- dirp
returns: 0 on success, -1 on error
- name: chdir
description: Change working directory
parameters:
- path
returns: 0 on success, -1 on error
- name: getcwd
description: Get current working directory
parameters:
- buf
- size
returns: pointer to buf
- name: truncate
description: Truncate a file to a specified length
parameters:
- path
- length
returns: 0 on success, -1 on error
- name: ftruncate
description: Truncate an open file to a specified length
parameters:
- fd
- length
returns: 0 on success, -1 on error
- name: fsync
description: Synchronize file state with storage device
parameters:
- fd
returns: 0 on success, -1 on error