fs.constants
返回一个包含文件系统操作常用常量的对象。
FS 常数#
以下常量由 fs.constants 导出。
并非每个常量都可以在每个操作系统上使用;这对于许多 POSIX 特定定义不可用的 Windows 尤其重要。对于便携式应用程序,建议在使用前检查它们的存在。
要使用多个常量,请使用按位 OR | 运算符。
例子:
import { open, constants } from 'node:fs';
const {
  O_RDWR,
  O_CREAT,
  O_EXCL
} = constants;
open('/path/to/my/file', O_RDWR | O_CREAT | O_EXCL, (err, fd) => {
  // ...
});
文件访问常量#
以下常量用作传递给   、 fsPromises.access()   和 fs.access()   的 fs.accessSync() mode 参数。
| 持续的 | 说明 | 
|---|---|
F_OK | 
指示文件对调用进程可见的标志。这对于确定文件是否存在很有用,但没有说明rwx 权限。如果未指定模式,则为默认值。 | 
R_OK | 
指示调用进程可以读取文件的标志。 | 
W_OK | 
指示文件可以由调用进程写入的标志。 | 
X_OK | 
指示文件可以由调用进程执行的标志。这对 Windows 没有影响(行为类似于 fs.constants.F_OK )。 | 
这些定义在 Windows 上也可用。
文件复制常量#
以下常量用于   。fs.copyFile() 
| 持续的 | 说明 | 
|---|---|
COPYFILE_EXCL | 
如果存在,如果目标路径已存在,则复制操作将失败并出现错误。 | 
COPYFILE_FICLONE | 
如果存在,复制操作将尝试创建 copy-on-write 引用链接。如果底层平台不支持copy-on-write,则使用回退复制机制。 | 
COPYFILE_FICLONE_FORCE | 
如果存在,复制操作将尝试创建 copy-on-write 引用链接。如果底层平台不支持copy-on-write,则操作将失败并出现错误。 | 
这些定义在 Windows 上也可用。
文件打开常量#
以下常量用于 fs.open() 。
| 持续的 | 说明 | 
|---|---|
O_RDONLY | 
指示打开文件以进行只读访问的标志。 | 
O_WRONLY | 
指示打开文件以进行write-only 访问的标志。 | 
O_RDWR | 
指示打开文件以进行读写访问的标志。 | 
O_CREAT | 
如果文件尚不存在,则指示创建文件的标志。 | 
O_EXCL | 
如果设置了O_CREAT 标志并且文件已经存在,则标志指示打开文件应该失败。 | 
O_NOCTTY | 
指示如果路径标识终端设备的标志,则打开路径不应导致该终端成为进程的控制终端(如果该进程还没有控制终端)。 | 
O_TRUNC | 
指示如果文件存在并且是常规文件并且文件被成功打开以进行写访问的标志,则其长度应被截断为零。 | 
O_APPEND | 
指示数据将附加到文件末尾的标志。 | 
O_DIRECTORY | 
如果路径不是目录,则指示打开应该失败的标志。 | 
O_NOATIME | 
指示对文件系统进行读取访问的标志将不再导致与文件关联的atime 信息的更新。此标志仅在 Linux 操作系统上可用。 | 
O_NOFOLLOW | 
如果路径是符号链接,则指示打开应该失败的标志。 | 
O_SYNC | 
指示打开文件以进行同步 I/O 的标志,写入操作等待文件完整性。 | 
O_DSYNC | 
指示打开文件以进行同步 I/O 的标志,写入操作等待数据完整性。 | 
O_SYMLINK | 
指示打开符号链接本身而不是它指向的资源的标志。 | 
O_DIRECT | 
设置后,将尝试最小化文件 I/O 的缓存影响。 | 
O_NONBLOCK | 
指示尽可能以非阻塞模式打开文件的标志。 | 
UV_FS_O_FILEMAP | 
设置后,将使用内存文件映射来访问文件。此标志仅在 Windows 操作系统上可用。在其他操作系统上,此标志被忽略。 | 
在 Windows 上,只有 O_APPEND 、 O_CREAT 、 O_EXCL 、 O_RDONLY 、 O_RDWR 、 O_TRUNC 、 O_WRONLY 和 UV_FS_O_FILEMAP 可用。
文件类型常量#
以下常量与 <fs.Stats>  对象的mode 属性一起用于确定文件的类型。
| 持续的 | 说明 | 
|---|---|
S_IFMT | 
用于提取文件类型代码的位掩码。 | 
S_IFREG | 
常规文件的文件类型常量。 | 
S_IFDIR | 
目录的文件类型常量。 | 
S_IFCHR | 
character-oriented 设备文件的文件类型常量。 | 
S_IFBLK | 
block-oriented 设备文件的文件类型常量。 | 
S_IFIFO | 
FIFO/管道的文件类型常量。 | 
S_IFLNK | 
符号链接的文件类型常量。 | 
S_IFSOCK | 
套接字的文件类型常量。 | 
在 Windows 上,只有 S_IFCHR 、 S_IFDIR 、 S_IFLNK 、 S_IFMT 和 S_IFREG 可用。
文件模式常量#
以下常量与 <fs.Stats>  对象的mode 属性一起用于确定文件的访问权限。
| 持续的 | 说明 | 
|---|---|
S_IRWXU | 
文件模式表示所有者可读、可写和可执行。 | 
S_IRUSR | 
文件模式表示所有者可读。 | 
S_IWUSR | 
文件模式指示所有者可写。 | 
S_IXUSR | 
文件模式指示所有者可执行。 | 
S_IRWXG | 
文件模式指示按组可读、可写和可执行。 | 
S_IRGRP | 
指示按组可读的文件模式。 | 
S_IWGRP | 
指示可按组写入的文件模式。 | 
S_IXGRP | 
指示按组可执行的文件模式。 | 
S_IRWXO | 
表示其他人可读、可写和可执行的文件模式。 | 
S_IROTH | 
表示其他人可读的文件模式。 | 
S_IWOTH | 
文件模式表示其他人可写。 | 
S_IXOTH | 
文件模式表示其他人可执行。 | 
在 Windows 上,只有 S_IRUSR 和 S_IWUSR 可用。
相关用法
- Node.js fs.copyFile()用法及代码示例
 - Node.js fs.copyFile(src, dest[, mode], callback)用法及代码示例
 - Node.js fs.copyFileSync()用法及代码示例
 - Node.js fs.copyFileSync(src, dest[, mode])用法及代码示例
 - Node.js fs.chmod()用法及代码示例
 - Node.js fs.closeSync()用法及代码示例
 - Node.js fs.createReadStream(path[, options])用法及代码示例
 - Node.js fs.createWriteStream()用法及代码示例
 - Node.js fs.chownSync()用法及代码示例
 - Node.js fs.close()用法及代码示例
 - Node.js fs.chmodSync()用法及代码示例
 - Node.js fs.chmod(path, mode, callback)用法及代码示例
 - Node.js fs.createReadStream()用法及代码示例
 - Node.js fs.chown()用法及代码示例
 - Node.js fs.filehandle.datasync()用法及代码示例
 - Node.js fs.read()用法及代码示例
 - Node.js fs.Dirent.isFile()用法及代码示例
 - Node.js fs.Dir.closeSync()用法及代码示例
 - Node.js fs.fchmodSync()用法及代码示例
 - Node.js fs.symlink(target, path[, type], callback)用法及代码示例
 - Node.js fs.mkdir()用法及代码示例
 - Node.js fs.mkdirSync()用法及代码示例
 - Node.js fs.fdatasync()用法及代码示例
 - Node.js fs.Dirent.isFIFO()用法及代码示例
 - Node.js fs.writeSync()用法及代码示例
 
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 fs.constants。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
