tmp/tmpsuqqnu62/{from.md → to.md}
RENAMED
|
@@ -1,122 +0,0 @@
|
|
| 1 |
-
### Terms and definitions <a id="fs.definitions">[[fs.definitions]]</a>
|
| 2 |
-
|
| 3 |
-
A path that unambiguously identifies the location of a file without
|
| 4 |
-
reference to an additional starting location. The elements of a path
|
| 5 |
-
that determine if it is absolute are operating system dependent.
|
| 6 |
-
|
| 7 |
-
A file within a file system that acts as a container of directory
|
| 8 |
-
entries that contain information about other files, possibly including
|
| 9 |
-
other directory files.
|
| 10 |
-
|
| 11 |
-
An object within a file system that holds user or system data. Files can
|
| 12 |
-
be written to, or read from, or both. A file has certain attributes,
|
| 13 |
-
including type. File types include regular files and directories. Other
|
| 14 |
-
types of files, such as symbolic links ([[fs.def.symlink]]), may be
|
| 15 |
-
supported by the implementation.
|
| 16 |
-
|
| 17 |
-
A collection of files and their attributes.
|
| 18 |
-
|
| 19 |
-
The condition that occurs when multiple threads, processes, or computers
|
| 20 |
-
interleave access and modification of the same object within a file
|
| 21 |
-
system.
|
| 22 |
-
|
| 23 |
-
The name of a file. Filenames *dot* and *dot-dot*, consisting solely of
|
| 24 |
-
one and two period characters respectively, have special meaning. The
|
| 25 |
-
following characteristics of filenames are operating system dependent:
|
| 26 |
-
|
| 27 |
-
- The permitted characters. \[*Example 1*: Some operating systems
|
| 28 |
-
prohibit the ASCII control characters (0x00 – 0x1F) in
|
| 29 |
-
filenames. — *end example*]
|
| 30 |
-
- The maximum permitted length.
|
| 31 |
-
- Filenames that are not permitted.
|
| 32 |
-
- Filenames that have special meaning.
|
| 33 |
-
- Case awareness and sensitivity during path resolution.
|
| 34 |
-
- Special rules that may apply to file types other than regular files,
|
| 35 |
-
such as directories.
|
| 36 |
-
|
| 37 |
-
A link ([[fs.def.link]]) to an existing file. Some file systems support
|
| 38 |
-
multiple hard links to a file. If the last hard link to a file is
|
| 39 |
-
removed, the file itself is removed.
|
| 40 |
-
|
| 41 |
-
[*Note 1*: A hard link can be thought of as a shared-ownership smart
|
| 42 |
-
pointer to a file. — *end note*]
|
| 43 |
-
|
| 44 |
-
An object that associates a filename with a file. Several links can
|
| 45 |
-
associate names with the same file.
|
| 46 |
-
|
| 47 |
-
For narrow character strings, the operating system dependent current
|
| 48 |
-
encoding for pathnames ([[fs.def.pathname]]). For wide character
|
| 49 |
-
strings, the implementation-defined execution wide-character set
|
| 50 |
-
encoding ([[lex.charset]]).
|
| 51 |
-
|
| 52 |
-
The operating system dependent pathname format accepted by the host
|
| 53 |
-
operating system.
|
| 54 |
-
|
| 55 |
-
A path in normal form is said to be *normalized*. The process of
|
| 56 |
-
obtaining a normalized path from a path that is not in normal form is
|
| 57 |
-
called *normalization*.
|
| 58 |
-
|
| 59 |
-
Normalization of a generic format pathname means:
|
| 60 |
-
|
| 61 |
-
1. If the path is empty, stop.
|
| 62 |
-
2. Replace each slash character in the *root-name* with a
|
| 63 |
-
*preferred-separator*.
|
| 64 |
-
3. Replace each *directory-separator* with a *preferred-separator*.
|
| 65 |
-
\[*Note 2*: The generic pathname grammar ([[fs.path.generic]])
|
| 66 |
-
defines *directory-separator* as one or more slashes and
|
| 67 |
-
*preferred-separator*s. — *end note*]
|
| 68 |
-
4. Remove each *dot* filename and any immediately following
|
| 69 |
-
*directory-separator*.
|
| 70 |
-
5. As long as any appear, remove a non-*dot-dot* filename immediately
|
| 71 |
-
followed by a *directory-separator* and a *dot-dot* filename, along
|
| 72 |
-
with any immediately following *directory-separator*.
|
| 73 |
-
6. If there is a *root-directory*, remove all *dot-dot* filenames and
|
| 74 |
-
any *directory-separator*s immediately following them.
|
| 75 |
-
\[*Note 3*: These *dot-dot* filenames attempt to refer to
|
| 76 |
-
nonexistent parent directories. — *end note*]
|
| 77 |
-
7. If the last filename is *dot-dot*, remove any trailing
|
| 78 |
-
*directory-separator*.
|
| 79 |
-
8. If the path is empty, add a *dot*.
|
| 80 |
-
|
| 81 |
-
Behavior that is dependent upon the behavior and characteristics of an
|
| 82 |
-
operating system. See [[fs.conform.os]].
|
| 83 |
-
|
| 84 |
-
the directory that both contains a directory entry for the given
|
| 85 |
-
directory and is represented by the filename *dot-dot* in the given
|
| 86 |
-
directory.
|
| 87 |
-
|
| 88 |
-
a directory containing a directory entry for the file under discussion.
|
| 89 |
-
|
| 90 |
-
A sequence of elements that identify the location of a file within a
|
| 91 |
-
filesystem. The elements are the *root-name*ₒₚₜ , *root-directory*ₒₚₜ ,
|
| 92 |
-
and an optional sequence of filenames. The maximum number of elements in
|
| 93 |
-
the sequence is operating system dependent.
|
| 94 |
-
|
| 95 |
-
A character string that represents the name of a path. Pathnames are
|
| 96 |
-
formatted according to the generic pathname format grammar (
|
| 97 |
-
[[fs.path.generic]]) or an operating system dependent native pathname
|
| 98 |
-
format.
|
| 99 |
-
|
| 100 |
-
Pathname resolution is the operating system dependent mechanism for
|
| 101 |
-
resolving a pathname to a particular file in a file hierarchy. There may
|
| 102 |
-
be multiple pathnames that resolve to the same file.
|
| 103 |
-
|
| 104 |
-
[*Example 2*: POSIX specifies the mechanism in section 4.11, Pathname
|
| 105 |
-
resolution. — *end example*]
|
| 106 |
-
|
| 107 |
-
A path that is not absolute, and as such, only unambiguously identifies
|
| 108 |
-
the location of a file when resolved ([[fs.def.pathres]]) relative to
|
| 109 |
-
an implied starting location. The elements of a path that determine if
|
| 110 |
-
it is relative are operating system dependent.
|
| 111 |
-
|
| 112 |
-
[*Note 4*: Pathnames “.” and “..” are relative paths. — *end note*]
|
| 113 |
-
|
| 114 |
-
A type of file with the property that when the file is encountered
|
| 115 |
-
during pathname resolution, a string stored by the file is used to
|
| 116 |
-
modify the pathname resolution.
|
| 117 |
-
|
| 118 |
-
[*Note 5*: Symbolic links are often called symlinks. A symbolic link
|
| 119 |
-
can be thought of as a raw pointer to a file. If the file pointed to
|
| 120 |
-
does not exist, the symbolic link is said to be a “dangling” symbolic
|
| 121 |
-
link. — *end note*]
|
| 122 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|