硬链接和软连接

硬链接:

硬链接是指通过索引节点来进行转换,在Linux的文件系统中,保存在磁盘分区中的文件

不管是什么类型都会给它分配一个编号,这个编号被称为索引节点(Inode Index)或者成为Inode

在Linux系统中,多个文件中指向同一个索引节点(Inode)是正常允许的。一般这种链接就成为硬链接。硬链接的作用之一是允许一个多文件拥有多个

有效路径名,这样用户就可以建立硬链接到重要的文件,以防止“误删”源数据(很多硬件,如netapp存储中的快照功能就应用了这个原理,增加了一个快照就多了一个硬链接)。问什么文件建立了硬链接就会放置数据删除呢?

因为文件系统的原理是,只要文件名指向统一索引节点(Inode)还有一个以上的链接(仅仅删除了该文件指向)。只删除其中一个链接并不影响索引节点本身和其它的链接(既数据文件指向)。只删除一个链接并不影响索引节点本身和其它的链接(既数据文件实体并未被删除),只有当最后一个链接被删除后,此时如果有新数据要存储到硬盘时被删除文件的数据块及目录的链接才会被释放,空间被新数据占用覆盖。此时,数据就再也无法找回了。也就是说,在linux系统中,删除文件(其实目录也是文件)的添加是于之相关的所有硬链接文件均被删除。

软链接:

软链接有时也被称为符号链接(Symbolic Link)。软链接文件就类型与Windows系统中的快捷文件。它实际上是一个特殊的文件。在软链接中,软链接文件实际上就是一个本地文件,这个文件中包含有软链接指向另一文件的位置信息内容,因此,通过访问这个“快捷方式”就可以迅速定位到软链接所指向的源文件实体。

实例演示:

[root@localhost /]# mkdir /backup #创建一个空目录

[root@localhost backup]# touch 1.txt #创建一个测试空文件

[root@localhost backup]# cat 1.txt #查看空文件里边的内容

123456789

[root@localhost backup]# ln 1.txt 1.txt_ying #创建硬链接 ln

[root@localhost backup]# ls -ls

total 8

4 -rw-r--r--. 2 root root 10 Jan 31 06:10 1.txt

4 -rw-r--r--. 2 root root 10 Jan 31 06:10 1.txt_ying

[root@localhost backup]# ln -s 1.txt 1.txt_ruan #创建软链接 ln -s 文件名 新文件名

[root@localhost backup]# ll

total 8

-rw-r--r--. 2 root root 10 Jan 31 06:10 1.txt

lrwxrwxrwx. 1 root root 5 Jan 31 06:11 1.txt_ruan -> 1.txt #软链接

-rw-r--r--. 2 root root 10 Jan 31 06:10 1.txt_ying

[root@localhost backup]# mkdir 1.txt #创建一个目录

[root@localhost backup]# ll

total 4

drwxr-xr-x. 2 root root 6 Jan 31 07:04 1.txt #目录

lrwxrwxrwx. 1 root root 5 Jan 31 06:11 1.txt_ruan -> 1.txt

-rw-r--r--. 1 root root 10 Jan 31 06:10 1.txt_ying

[root@localhost backup]# ln 1.txt #目录创建硬链接

ln: ‘1.txt’: hard link not allowed for directory #目录不允许硬链接

[root@localhost backup]# ln -s 1.txt 1.txt_ruan_new #目录创建软链接

root@localhost backup]# ls -ll

total 4

drwxr-xr-x. 2 root root 6 Jan 31 07:04 1.txt

lrwxrwxrwx. 1 root root 5 Jan 31 06:11 1.txt_ruan -> 1.txt

lrwxrwxrwx. 1 root root 5 Jan 31 07:05 1.txt_ru_new -> 1.txt #目录软链接

-rw-r--r--. 1 root root 10 Jan 31 06:10 1.txt_ying

总结:Ln命令不能对目录创建硬链接,但可以对目录创建软链接,对于目录的软链接也是生产场景运维中常用的功能

[root@localhost backup]# rm -f 1.txt #测试删除创建的空文件

[root@localhost backup]# ll -li

total 4

33745512 lrwxrwxrwx. 1 root root 5 Jan 31 06:11 1.txt_ruan -> 1.txt

33745552 -rw-r--r--. 1 root root 10 Jan 31 06:10 1.txt_ying

提示:内容还在,其实这就是因为有1.txt_ying硬链接的存储,因此即使删除了1.txt,但是仍有硬链接指向着文件的INODE节点,所以,此时,文件才会被释放删除,当删除文件1.txt时,仅仅删除了1.txt该文件的INODE节点的链接而已。

总结:通过上面的测试可以看出:当删除原始文件1.txt后,硬链接1.txt_ying不收影响,但是软链接文件1.txt_ruan失效。

链接总结:

删除软链接1.txt_ruan,对1.txt_ying无影响

删除硬链接1.txt_ying对1.txt_ruan无影响

删除源文件1.txt,对硬链接1.txt_ying无影响,对软链接有影响。

linux 小度 驱动_Linux硬链接和软链接相关推荐

  1. linux硬链接与软链接

    详细文章链接:https://www.cnblogs.com/crazylqy/p/5821105.html (上面这个也是转载的!) 区别: 1.硬链接原文件/链接文件公用一个inode号,说明他们 ...

  2. 实例讲解Linux系统中硬链接与软链接的创建

    导读 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.硬链接与软链接的区别从根本上要从Inode节点说 ...

  3. Linux 硬链接和软链接的区别

    硬链接和软链接的区别 Linux 与其他类 UNIX 系统一样并不区分文件与目录:目录是记录了其他文件名的文件.我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user ...

  4. 理解 Linux 的硬链接与软链接

    Linux 的文件与目录 现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用.在 UNIX 系统中,操作系统为磁盘上的文本与图像.鼠标与键盘 ...

  5. Linux下的硬链接和软链接

    Linux下的硬链接和软链接 一.系统及ln版本 二.硬链接 1.创建目录及文件 2.创建链接文件 3.查看链接文件 4.删除源文件,链接文件不受影响 三.软链接 1.创建目录及文件 2.创建软链接文 ...

  6. Linux 系统的硬链接和软链接详解

    文章目录 什么是链接 链接用来干什么的 硬链接和软链接的区别 硬链接和软链接的图示 总结 我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 ...

  7. linux文件存储、inode、硬链接、软链接

    目录 介绍 inode的内容 inode的大小 inode号码 目录文件 硬链接 软链接 介绍 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512 ...

  8. yfan.qiu linux硬链接与软链接

    http://www.cnblogs.com/yfanqiu/archive/2012/06/11/2545556.html Linux 系统中有软链接和硬链接两种特殊的"文件". ...

  9. Linux可以对目录进行硬链接,Linux硬链接与软链接原理及用法解析

    在linux系统中有种文件是链接文件,可以为解决文件的共享使用.链接的方式可以分为两种,一种是硬链接(hard link),另一种是软链接或者也称为符号链接(symbolic link). 硬链接概念 ...

最新文章

  1. 微信如何实施微服务?
  2. landmark如何恢复oracle,LandmarkR5000数据迁移方法及迁移常见问题(带图解)
  3. 包含多个段的程序---汇编学习笔记
  4. 什么叫网站灰度发布?
  5. UDP(发短信:简单模拟)
  6. codeforces gym100959 I - Robots(稠密图建图优化)
  7. maya中英文对比_maya中英文对照表
  8. python3界面实例_程序人生——python3下tkinter的界面示例
  9. 在Linux系统安装Nginx及配置https加密访问
  10. linux命令中选项分为,Linux 考试试题
  11. 《java入门第一季》之java语法部分小案例
  12. GB18030:蒙文字符方向为什么转了90度
  13. 10个Python实战编程项目,有趣又好玩
  14. 【Excel】Excel条件格式设置背景色
  15. 1467: 平面点排序(一)(结构体专题)
  16. Android前置后置摄像头录制视频综合版
  17. hashmap用stream流操作_基础篇:JAVA.Stream函数,优雅的数据流操作
  18. pycharm新建项目环境设置详解
  19. 5G毫米波Vs毫米波通信模块
  20. svnsync: Failed to get lock on destination repos, currently held by 'localhost.localdomain

热门文章

  1. 《视觉SLAM十四讲——从理论到实践》学习笔记
  2. 目标检测——模型加速的学习笔记
  3. LaTeX学习笔记(legacy)~
  4. VirtualBox 复制虚拟机 克隆系统
  5. 机器学习与python实战(一)-k近邻
  6. 【oracle】获取近30天日期、近5年、近6个月
  7. 技术在于精,其次在于多
  8. JAVA中向量类Vector
  9. python数据类型—字符串
  10. E. Mahmoud and Ehab and the function Codeforces Round #435 (Div. 2)