nodejs-硬连接符号连接

来源:互联网 发布:mac自建域名dns服务器 编辑:程序博客网 时间:2024/05/13 21:57

硬链接:我们一个文件一般只有一个文件名,这个文件名相当于一个硬链接,我们用特殊方法,让一个文件有多个文件名,这样的方法叫创建硬链接,如为文件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);
    }
})

返回结果:






0 0
原创粉丝点击