硬链接:我们一个文件一般只有一个文件名,这个文件名相当于一个硬链接,我们用特殊方法,让一个文件有多个文件名,这样的方法叫创建硬链接,如为文件1创建一个硬链接文件2,那么这文件1和文件2在硬盘上实质是同一个文件,当文件1修改了,文件2同时也被修改。
符号连接:存放了一个路径,如为文件1建一个符号连接,这个符号连接其实存储的是文件1这个路径,当我们修改符号连接时候,实质修改的是文件1的内容
fs.link(srcpath,dirpath,callback)
srcpath:原路径
dirpath:硬链接路径
callback:回调函数
function(err)
var fs=require("fs");
fs.link('./sss.txt','../7/sss.txt',function(err){
if(err){
console.log("shibai")
}
})
执行这个js后我们发现在7文件夹下也有一个sss.txt ,内容与当钱目录下的sss一致,我们修改7下的sss文件内容发现当钱目录下的sss文件内容也被修改了,反之也是一样。
删除硬链接
var fs=require("fs");
fs.unlink('../7/sss.txt',function(err){
if(err){
console.log("not ok")
}
})
所以只要有这个硬链接存在我们都可以删除他 通过unlink删除文件
创建符号连接(软连接)
fs.symlink()
为6这个文件夹创建软链,之后看这个软链文件夹下的内容,与6完全一致。在symlink删除一个文件 ,6文件夹下的文件也没有了,反之也一样
var fs=require("fs");
fs.symlink('./6','../symlink','dir',function(err){
if(err){
console.log("shibai")
}
})
fs.readdir('../symlink/',function(err,files){
if(err){
console.log("ssss")
}else{
console.log(files);
}
})
给定一个路径,我们看是否有软链
fs.readlink(path,callback)
path为符号连接的路径
callback:function(err,linkstring){}
linkstring为这个软链连接的路径
var fs=require("fs");
fs.readlink('../symlink',function(err,linkstring){
if(err){
throw err;
}else{
console.log(linkstring);
}
})
返回结果: