有没有办法通过NodeJS检索文件/文件夹的唯一ID?

时间:2017-04-02 16:17:40

标签: node.js file file-rename

我面临的问题很简单。我想跟踪文件/文件夹,即使它已被重命名/删除等? NodeJS是否提供了一种在文件中访问此信息的方法?我已经尝试了默认文件系统模块fs.stats()https://nodejs.org/api/fs.html#fs_class_fs_stats。不幸的是,它似乎没有为特定文件提供这种唯一的ID引用。

NodeJS中是否存在这样的解决方案?

注意:我不想为文件生成唯一ID。将随机字符串分配给文件并将字符串与此关联起来非常容易。但事实恰恰相反。我想将文件与某种系统范围的字符串相关联。

感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

查看链接https://nodejs.org/api/fs.html#fs_class_fs_stats

Stats {
  dev: 2114,
  ino: 48064969,
  mode: 33188,
  nlink: 1,
  uid: 85,
  gid: 100,
  rdev: 0,
  size: 527,
  blksize: 4096,
  blocks: 8,
  atime: Mon, 10 Oct 2011 23:24:11 GMT,
  mtime: Mon, 10 Oct 2011 23:24:11 GMT,
  ctime: Mon, 10 Oct 2011 23:24:11 GMT,
  birthtime: Mon, 10 Oct 2011 23:24:11 GMT }

我可以看到unix inode编号。

两个文件可以具有相同的inode编号吗?

两个文件可以具有相同的inode,但前提是它们是不同分区的一部分。 Inode在分区级别上是唯一的,而不是在整个系统上。

因此,除了inode编号之外,还会比较设备编号。

var uniqueFileId[fileName] = (Stats.dev + Stats.ino)