Init
This commit is contained in:
97
cppdraft/fs/general.md
Normal file
97
cppdraft/fs/general.md
Normal file
@@ -0,0 +1,97 @@
|
||||
[fs.general]
|
||||
|
||||
# 31 Input/output library [[input.output]](./#input.output)
|
||||
|
||||
## 31.12 File systems [[filesystems]](filesystems#fs.general)
|
||||
|
||||
### 31.12.1 General [fs.general]
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L13115)
|
||||
|
||||
Subclause [[filesystems]](filesystems "31.12 File systems") describes operations on file systems and their components, such as paths,
|
||||
regular files, and directories[.](#1.sentence-1)
|
||||
|
||||
[2](#2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L13119)
|
||||
|
||||
A [*file system*](#def:file_system "31.12.1 General [fs.general]") is
|
||||
a collection of files and their attributes[.](#2.sentence-1)
|
||||
|
||||
[3](#3)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L13123)
|
||||
|
||||
A [*file*](#def:file "31.12.1 General [fs.general]") is
|
||||
an object within a file system that holds user or system data[.](#3.sentence-1)
|
||||
|
||||
Files can be written to, or read from, or both[.](#3.sentence-2)
|
||||
|
||||
A file
|
||||
has certain attributes, including type[.](#3.sentence-3)
|
||||
|
||||
File types include regular files
|
||||
and directories[.](#3.sentence-4)
|
||||
|
||||
Other types of files, such as symbolic links,
|
||||
may be supported by the implementation[.](#3.sentence-5)
|
||||
|
||||
[4](#4)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L13130)
|
||||
|
||||
A [*directory*](#def:directory "31.12.1 General [fs.general]") is
|
||||
a file within a file system that acts as a container of directory entries
|
||||
that contain information about
|
||||
other files, possibly including other directory files[.](#4.sentence-1)
|
||||
|
||||
The [*parent directory*](#def:parent_directory "31.12.1 General [fs.general]") of a directory is
|
||||
the directory that both contains a
|
||||
directory entry for the given directory and is represented by the dot-dot
|
||||
filename ([[fs.path.generic]](fs.path.generic "31.12.6.2 Generic pathname format")) in the given directory[.](#4.sentence-2)
|
||||
|
||||
The [*parent directory*](#def:parent_directory "31.12.1 General [fs.general]") of other types of files is a directory containing a directory
|
||||
entry for the file under discussion[.](#4.sentence-3)
|
||||
|
||||
[5](#5)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L13143)
|
||||
|
||||
A [*link*](#def:link "31.12.1 General [fs.general]") is
|
||||
an object that associates a filename with a file[.](#5.sentence-1)
|
||||
|
||||
Several links can associate names with the same file[.](#5.sentence-2)
|
||||
|
||||
A [*hard link*](#def:hard_link "31.12.1 General [fs.general]") is
|
||||
a link to an existing file[.](#5.sentence-3)
|
||||
|
||||
Some
|
||||
file systems support multiple hard links to a file[.](#5.sentence-4)
|
||||
|
||||
If the last hard link to a
|
||||
file is removed, the file itself is removed[.](#5.sentence-5)
|
||||
|
||||
[*Note [1](#note-1)*:
|
||||
|
||||
A hard link can be thought of as a shared-ownership smart
|
||||
pointer to a file[.](#5.sentence-6)
|
||||
|
||||
â *end note*]
|
||||
|
||||
A [*symbolic link*](#def:symbolic_link "31.12.1 General [fs.general]") is
|
||||
a type of file with the
|
||||
property that when the file is encountered during pathname resolution ([[fs.class.path]](fs.class.path "31.12.6 Class path")), a string
|
||||
stored by the file is used to modify the pathname resolution[.](#5.sentence-7)
|
||||
|
||||
[*Note [2](#note-2)*:
|
||||
|
||||
Symbolic links are often called symlinks[.](#5.sentence-8)
|
||||
|
||||
A symbolic link can be thought of as a raw pointer to a file[.](#5.sentence-9)
|
||||
|
||||
If the file pointed to does not exist, the symbolic link is said to be a
|
||||
âdanglingâ symbolic link[.](#5.sentence-10)
|
||||
|
||||
â *end note*]
|
||||
Reference in New Issue
Block a user