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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
