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