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

软链接与硬链接

软链接与硬链接

  • 结论
  • 测试
  • 分析
    • 1. 软链接和硬链接都可以创建不止一个
    • 2.文件移动位置之后,只要没删除,硬链接依旧可用,但是软链接就用不了了

结论

软链接和硬链接都可以创建任意多个(≥1),但行为不同:

  • 硬链接:多个硬链接指向同一文件数据(共享 inode),删除原文件不影响其他硬链接。

  • 软链接:多个软链接可指向同一目标路径(各自独立),目标文件删除后,所有软链接失效。

测试

Test@TestGroup 17:49:29 ~/TestProject
$ mkdir TestLn-s
Test@TestGroup 17:49:36 ~/TestProject
$ cd TestLn-s/
Test@TestGroup 17:49:44 ~/TestProject/TestLn-s
$ mkdir ShContent
Test@TestGroup 17:49:59 ~/TestProject/TestLn-s
$ cd ShContent/
Test@TestGroup 17:50:02 ~/TestProject/TestLn-s/ShContent
$ touch test.sh
Test@TestGroup 17:50:15 ~/TestProject/TestLn-s/ShContent
$ vim test.sh 向test.sh中写入:
#!/bin/bash
echo "test1111"Test@TestGroup 17:50:40 ~/TestProject/TestLn-s/ShContent
$ chmod 777 test.sh 
Test@TestGroup 17:50:49 ~/TestProject/TestLn-s/ShContent
$ ./test.sh 
test1111
Test@TestGroup 17:50:52 ~/TestProject/TestLn-s/ShContent
$ cd ..
Test@TestGroup 17:50:55 ~/TestProject/TestLn-s
$ ls
ShContent
Test@TestGroup 17:50:56 ~/TestProject/TestLn-s
$ ln -s ./ShContent/test.sh softlink1.sh
Test@TestGroup 17:52:02 ~/TestProject/TestLn-s
$ ln -s ./ShContent/test.sh softlink2.sh
Test@TestGroup 17:52:06 ~/TestProject/TestLn-s
$ ./softlink1.sh 
test1111
Test@TestGroup 17:52:12 ~/TestProject/TestLn-s
$ ./softlink2.sh 
test1111
Test@TestGroup 17:52:14 ~/TestProject/TestLn-s
$ ln ./ShContent/test.sh hardlink1.sh
Test@TestGroup 17:52:38 ~/TestProject/TestLn-s
$ ln ./ShContent/test.sh hardlink2.sh
Test@TestGroup 17:52:41 ~/TestProject/TestLn-s
$ ./hardlink1.sh 
test1111
Test@TestGroup 17:52:45 ~/TestProject/TestLn-s
$ ./hardlink2.sh 
test1111
Test@TestGroup 17:55:05 ~/TestProject/TestLn-s
$ ls -li
总计 12
347413368 -rwxrwxrwx 3 Test Test   28  428 17:50 hardlink1.sh
347413368 -rwxrwxrwx 3 Test Test   28  428 17:50 hardlink2.sh
347413365 drwxrwxr-x 3 Test Test 4096  428 17:55 ShContent
347413366 lrwxrwxrwx 1 Test Test   19  428 17:52 softlink1.sh -> ./ShContent/test.sh
347413367 lrwxrwxrwx 1 Test Test   19  428 17:52 softlink2.sh -> ./ShContent/test.sh
Test@TestGroup 17:52:49 ~/TestProject/TestLn-s
$ ls
hardlink1.sh  hardlink2.sh  ShContent  softlink1.sh  softlink2.sh
Test@TestGroup 17:52:53 ~/TestProject/TestLn-s
$ cd ShContent/
Test@TestGroup 17:53:00 ~/TestProject/TestLn-s/ShContent
$ ls
test.sh
Test@TestGroup 17:53:01 ~/TestProject/TestLn-s/ShContent
$ mkdir MvContent
Test@TestGroup 17:53:16 ~/TestProject/TestLn-s/ShContent
$ mv test.sh MvContent/
Test@TestGroup 17:53:24 ~/TestProject/TestLn-s/ShContent
$ ls
MvContent
Test@TestGroup 17:53:56 ~/TestProject/TestLn-s/ShContent
$ cd ..
Test@TestGroup 17:54:01 ~/TestProject/TestLn-s
$ ./hardlink1.sh 
test1111
Test@TestGroup 17:54:06 ~/TestProject/TestLn-s
$ ./hardlink2.sh 
test1111
Test@TestGroup 17:54:09 ~/TestProject/TestLn-s
$ ./softlink1.sh 
bash: ./softlink1.sh: 没有那个文件或目录
Test@TestGroup 17:54:18 ~/TestProject/TestLn-s
$ ./softlink2.sh 
bash: ./softlink2.sh: 没有那个文件或目录
Test@TestGroup 17:54:25 ~/TestProject/TestLn-s
$ 

分析

1. 软链接和硬链接都可以创建不止一个

如图所示:

在这里插入图片描述

2.文件移动位置之后,只要没删除,硬链接依旧可用,但是软链接就用不了了

如图所示:

在这里插入图片描述

相关文章:

  • Linux系统编程---exec簇:进程的加载与替换
  • 空间计算:开启人机交互新纪元的下一代技术范式
  • 解决 Win11/Win10 “为了对电脑进行保护,已经阻止此应用”问题
  • JAVA设计模式——(八)单例模式
  • 3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目
  • JQuery 使用技巧
  • MCP之一_MCP协议解析
  • 邦芒秘籍:面试时自我介绍主要包含四个方面
  • PyCharm 2023升级2024 版本
  • 线下CPG零售的核心:POG与销量的循环优化
  • 回归问题常用模型以及优缺点和使用场景
  • TP5兼容达梦国产数据库
  • JAVA EE_网络原理_UDP与TCP
  • DeepSearch复现篇:QwQ-32B ToolCall功能初探,以Agentic RAG为例
  • SAP /SDF/SMON配置错误会导致HANA OOM以及Disk Full的情况
  • 【TS入门笔记3---接口(interface)、 函数与泛型 、类与面向对象 】
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: 跨平台开发同样支持retain()引用计数器处理.
  • 【Spark入门】Spark RDD基础:转换与动作操作深度解析
  • 爬虫学习笔记(三)--Http协议
  • 厚铜PCB如何兼顾质量与成本?供应商设计规范执行的黄金平衡点
  • 西班牙葡萄牙突发全国大停电,欧洲近年来最严重停电事故何以酿成
  • AI观察|算力饥渴与泡沫
  • 宁波银行一季度净利74.17亿元增5.76%,不良率持平
  • 4月份全国93个国家气象站日最高气温达到或突破极值
  • 中公教育薪酬透视:董监高合计涨薪122万,员工精简近三成
  • 影子调查丨危房之下,百余住户搬离梦嘉商贸楼