📜  Node.js | fs.link() 方法

📅  最后修改于: 2022-05-13 01:56:57.042000             🧑  作者: Mango

Node.js | fs.link() 方法

fs.link() 方法用于创建到给定路径的硬链接。即使文件被重命名,创建的硬链接仍将指向同一个文件。硬链接还包含链接文件的实际内容。

句法:

fs.link( existingPath, newPath, callback )

参数:此方法接受上面提到和下面描述的三个参数:

  • existingPath:它是一个字符串、缓冲区或 URL,表示必须创建符号链接的文件。
  • newPath:它是一个字符串、缓冲区或 URL,表示将创建符号链接的文件路径。
  • callback:这是一个在方法执行时会被调用的函数。
    • err:如果方法失败会抛出一个错误。

下面的例子说明了 Node.js 中的fs.link() 方法

示例 1:此示例创建指向文件的硬链接。



// Node.js program to demonstrate the
// fs.link() method
  
// Import the filesystem module
const fs = require('fs');
  
console.log("Contents of the text file:");
console.log(fs.readFileSync('example_file.txt', 'utf8'));
  
fs.link(__dirname + "\\example_file.txt", "hardlinkToFile", (err) => {
  if (err) console.log(err)
  else {
    console.log("\nHard link created\n");
    console.log("Contents of the hard link created:");
    console.log(fs.readFileSync('hardlinkToFile', 'utf8'));
  }
});

输出:

Contents of the text file:
This is an example of the fs.link() method.

Hard link created

Contents of the hard created:
This is an example of the fs.link() method.

示例 2:此示例创建指向文件的硬链接并删除原始文件。原始文件的内容仍然可以通过硬链接访问。

// Node.js program to demonstrate the
// fs.link() method
  
// Import the filesystem module
const fs = require('fs');
  
console.log("Contents of the text file:");
console.log(fs.readFileSync('example_file.txt', 'utf8'));
  
fs.link(__dirname + "\\example_file.txt", "hardlinkToFile", (err) => {
  if (err) console.log(err)
  else {
    console.log("\nHard link created\n");
    console.log("Contents of the hard link created:");
    console.log(fs.readFileSync('hardlinkToFile', 'utf8'));
  
    console.log("\nDeleting the original file");
    fs.unlinkSync("example_file.txt");
  
    console.log("\nContents of the hard link created:");
    console.log(fs.readFileSync('hardlinkToFile', 'utf8'));
  }
});

输出:

Contents of the text file:
This is an example of the fs.link() method.

Hard link created

Contents of the hard link created:
This is an example of the fs.link() method.

Deleting the original file

Contents of the hard link created:
This is an example of the fs.link() method.

参考: https : //nodejs.org/api/fs.html#fs_fs_link_existingpath_newpath_callback