fs.link和fs.symlink之间有什么区别?他们是独立于平台的吗
What is the difference between fs.link and fs.symlink? Are they platform independent?
fs.link和fs.symlink之间有什么区别?
我想通过编程创建一个到物理文件的符号链接(或另一个符号链接),我在Linux上,但想知道是否有可能编写一个独立于操作系统的解决方案?限制是什么?
更新
从给出的答案和评论来看,Windows似乎支持它。
Linux系统有两种链接,硬链接和软链接。
fs.link()
正在通过C系统调用link()
创建硬链接。从一个终端来看,等价物是ln originalName linkName
。硬链接由引用同一文件的新目录条目组成。在列表中,它看起来是一个普通的文件,就像原始文件一样。如果删除了原始文件,则内容是而不是删除的,并且硬链接仍然有效。只有删除所有硬链接后,磁盘区域才会被释放。
fs.symlink()
正在创建软链接,也就是通过C系统调用symlink()
的符号链接。来自终端的等价物是ln -s originalName linkName
,其中-s
标签表示软/符号链路。软链接创建一种特殊类型的目录条目,指向另一个文件。当列出它时,它是一个指针这一事实是显而易见的,删除原始内容就足以删除内容,并破坏链接的使用。
我不在MS Windows上编写代码,但本符号链接指南指出,有一个适用于Windows命令外壳的mklink
命令可以创建硬(mklink /H
)或软(mklink /D
)链接。Microsoft开发人员网络(MSDN)有系统函数CreateSymbolicLink和CreateHardLink的条目,它们可以提供有关较低级别发生的事情的更多信息。
在Mac上,developer.apple.com的ln页面显示,他们在Mac OSX 10.9中拥有BSD版本的ln
链接创建终端命令,同时支持硬链接和软链接。
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 我可以获得相对于被点击元素的确切点击位置吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何包含特定于每个视图angularjs的javascript文件
- Javascript日期格式类似于ISO,但本地
- toBoolean方法类似于toString
- es6 相当于下划线查找位置
- str.split(someString).join(someOtherString)是否等效于替换
- 州和城市选择框类似于国家细分页面
- 节点fs.stat名称未定义
- 为什么在许多浏览器中drawImage()的性能略好于createPattern()
- 通过传递图像的URL通过javascript读取/处理图像-类似于PHP中的file_get_contents
- 如何将返回的值应用于多个不同位置的多个选择器
- AddEventListener适用于浏览器,但不适用于Android
- HTML锚标记无法在android平台中下载文件
- 创建独立于平台的路径字符串
- fs.link和fs.symlink之间有什么区别?他们是独立于平台的吗
- 如何以独立于平台的方式捕获行分隔符
- 在JavaScript中获取特定于平台的换行符
- Cordova:如何设置特定于平台的 config.xml 在 cordova 构建后不会被覆盖的文件