当前位置: 首页 > article >正文

Mac上使用ln指令创建软链接、硬链接

在Mac、Linux和Unix系统中,软连接(Symbolic Link)和硬连接(Hard Link)是两种不同的文件链接方式。它们的主要区别如下:

区别:

  • 硬连接
    • 不能跨文件系统。
    • 不能链接目录(为了防止循环)。
    • 删除原文件时,硬连接仍然有效,文件内容不会丢失,直到所有硬连接都被删除。
    • 占磁盘空间;
  • 软连接
    • 可以跨文件系统。
    • 可以链接目录。
    • 删除原文件时,软连接会失效,变成悬挂链接(dangling link)。
    • 一种快捷方式,不占磁盘内存空间;
    •  

相同点:

  •   指向的都是同一块内存地址;

 使用Mac创建命令

  • 硬连接:使用 ln 命令创建:

  • ln source_file hard_link

    软连接:使用 ln -s 命令创建:

  • ln -s source_file soft_link
    

windows可以使用mklink,这里不再赘述。

举个实际的例子:

// 现在有一个index.js文件, 里面的信息是console.log(111)

// 创建硬链接
ln index.js hard_index.js

// 创建软链接
ln index.js soft_index.js

 当3个文件中的任何一个代码发生改变,其他2个文件都会同步,自己可以尝试下;

如果index.js文件删除,硬链接没有影响,软连接会马上失效;

软链接和硬链接的主要作用是:有效地节省磁盘空间

实际运用例子:pnpm -> pnpm官网

推荐学习视频:前置知识-pnpm 底层原理 + monorepo架构_哔哩哔哩_bilibili


http://www.kler.cn/a/441755.html

相关文章:

  • DS18B20温度传感器详解(STM32)
  • Vue平台开发三——项目管理页面
  • Github 2025-01-20 开源项目周报 Top15
  • Golang的文件处理优化策略
  • 成就与远见:2024年技术与思维的升华
  • elasticsearch 数据导出/导入
  • 模拟法简介(蓝桥杯)
  • Sql注入(靶场)14-20关
  • 力扣.——560. 和为 K 的子数组
  • 关于SQL注入的面试题及经验分享
  • 测试框架 —— Playwright Fixture夹具有效利用的建议指南!
  • Springboot和vue前后端交互实现验证码登录
  • 【Leetcode 每日一题 - 扩展】1326. 灌溉花园的最少水龙头数目
  • 如何在 Ubuntu 22.04 上安装 Strapi CMS
  • [SAP ABAP] 序列化与反序列化
  • Javer学习Groovy
  • Chinese-Clip实现以文搜图和以图搜图
  • WPF Combox使用 Text无法选择正确获取CHange后的Text
  • java服务器中,如何判定是该使用单例系统,还是微服务架构,多库分布式,服务分布式,前端分布式
  • 2.Nuxt学习 组件使用和路由跳转相关
  • 关于SAP Router连接不稳定的改良
  • unity 雷达
  • SQL Server 表值函数使用示例
  • 负载均衡oj项目:介绍
  • mybatis的优化和补充
  • vue3修改elementui-plus的默认样式的几种方法