linux链接 .o,Linux 链接概念 - osc_8ieji7o1的个人空间 - OSCHINA - 中文开源技术交流社区...
1.Linux 链接概念
Linux 链接分两种, 一种被称作硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln 命令产生硬链接。
硬连接
硬链接指通过索引节点来进行连接。再Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给他分配一个编号,称为索引节点号。再Linux中,东哥文件名指向同一索引节点是存在的。比如:A 是 B 的 硬链接(A和B都是文件名)则A的目录项中的inode节点号与B 的目录项中的inode节点号相同,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软连接
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。但是 A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。
2.通过实验加深理解
[oracle@Linux]$ touch f1 #创建一个测试文件f1
[oracle@Linux]$ ln f1 f2 #创建f1的一个硬连接文件f2
[oracle@Linux]$ ln -s f1 f3 #创建f1的一个符号连接文件f3
[oracle@Linux]$ ls -li #-i参数显示文件的inode节点信息
total 09797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11f19797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11f29797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1
从上面的结果中可以看出,硬连接文件 f2 与原文件 f1 的 inode 节点相同,均为 9797648,然而符号连接文件的 inode 节点不同。
[oracle@Linux]$ echo "I am f1 file" >>f1
[oracle@Linux]$ cat f1
I am f1 file
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
I am f1 file
[oracle@Linux]$ rm-f f1
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
cat: f3: No such fileor directory
通过上面的测试可以看出:当删除原始文件 f1 后,硬连接 f2 不受影响,但是符号连接 f1 文件无效
3.总结
依此您可以做一些相关的测试,可以得到以下全部结论:
1).删除符号连接f3,对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。
linux链接 .o,Linux 链接概念 - osc_8ieji7o1的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐
- linux系统上安装toma,Linux-tar - osc_btnnkvs0的个人空间 - OSCHINA - 中文开源技术交流社区...
1. tar简介 https://zh.wikipedia.org/wiki/Tar Unix和类Unix系统上的压缩打包工具,可以将多个文件合并为一个文件,打包后的文件名亦为"tar&qu ...
- 华为路由器用Linux开发,华为路由器常用配置 - osc_1v2pb1nt的个人空间 - OSCHINA - 中文开源技术交流社区...
该设备有 2个光口.8个电口 Interface IP Address/Mask Physical Protocol GigabitE ...
- linux ps ax tl,Linux常用指令 - osc_wa6fkyf0的个人空间 - OSCHINA - 中文开源技术交流社区...
空格键 :向下翻动一页: [pagedown]:向下翻动一页: [pageup] :向上翻动一页: /字符串 :向下搜寻[字符串]的功能: ?字符串 :向上搜寻[字符串]的功能 ...
- linux怎么卸载yam,linux 基本命令 - osc_foipyam7的个人空间 - OSCHINA - 中文开源技术交流社区...
ls 命令为查看当前目录的信息,常用参数 -l :查看文件详细信息, -a :查看当前目录所有文件,包括隐藏文件 .file.可连打 ls -al cd 全程change directory ,接受目 ...
- linux文件权限 705,Linux 文件权限 - osc_86eb7mly的个人空间 - OSCHINA - 中文开源技术交流社区...
文件权限 Linux 中任何一个文件都具有 「用户.用户组与其他用户」三种权限,一个用户可属于多个用户组.所有用户的相关信息都记录在 /etc/passwd 文件中,密码记录在 /etc/shaodw ...
- linux修改组群名字,Linux用户和组 - 回忆斑斑驳驳的个人空间 - OSCHINA - 中文开源技术交流社区...
用户相关操作: 1) su 用户:切换用户但不切目录 2) su – 用户:切换用户并切换目录 3) sudo:允许系统管理员让普通用户执行一些或者全部 ...
- Linux目录的可写意味着,Linux权限分析 - osc_h5427nyq的个人空间 - OSCHINA - 中文开源技术交流社区...
在学习Linux的权限之前,我们先来理解几个概念: 可读,可写 .可执行 Linux的文件和目录有以下三种方式: r .w .x:可读,可写 .可执行 r-可读(read) w-可写(write) ...
- 4核a5中断linux,中断与时钟 - osc_a5pzxo31的个人空间 - OSCHINA - 中文开源技术交流社区...
0.序言 中断服务程序的执行并不存在于进程上下问中,要求中断服务程序的时间要尽量短.因此,Linux中断处理中引入上半部和下半部分离的机制.另外,内核对时钟的处理也是采用中断方式,而内核软件定时器最终 ...
- linux内核等价多路径路由,高级路由 - 我是*李世民*的个人空间 - OSCHINA - 中文开源技术交流社区...
策略路由背后的概念 Linux内核在默认情况下使用两张路由表:一张表用于本地路由,另一张可以由管理员来配置.如果内核编译支持策略路由,那么可以有多大255张不同的.相互独立的路由表.策略路由背后的主要 ...
最新文章
- c+和python先学哪个比较好-C和Python我该先学什么?
- 浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓
- 第12天学习Java的笔记(数组小练习,数组与方法)
- ASP.NET MVC必知必会知识点总结(二)
- Kubernetes-基于EFK进行统一的日志管理原理(kibana查询语法)
- c定义一个整型数组_滨州学院C语言作业讲解有序数组插入
- opencv_haartraining.exe 分类器训练----命令执行,执行项学习(1)
- java对象值传递和对象传递的总结
- 《空间谱估计理论与算法》学习笔记001-绪论
- ospfdr选举规则_DR/BDR详细选举过程
- matlab shading 的用法说明
- linux红帽子安装驱动,安装红帽子使用有megaSR swraid驱动程序和OS推进指点的嵌入式SATA控制器常见设备使用情况的...
- 蓝桥杯 - 明码 java
- eclipse问题(!MESSAGE Unhandled event loop exception !STACK 0 java.lang.NullPointerException 	at org.e)
- 12.5--卡片式布局
- D L N A介 绍
- JAVA计算机毕业设计租房管理系统Mybatis+系统+数据库+调试部署
- 坑一:canal 的一处TODO 引发的一地华子
- [ROC-RK3399-PC Pro] 手把手教你移植主线U-Boot(基于v2022.04-rc5版本)
- CUMTOJ算法实验四
热门文章
- x3-02 java_Day13 -- Java流程控制02
- 七夕秀恩爱新姿势!这波操作我给十分!
- 使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之一
- 取MapString,sitemap中的全部key
- 嵌入式linux调试技术
- 开机显示c:\windows\windows32\config\system文件损坏或丢失的解决方法(收集)
- 207. Course Schedule
- CodeForces	 841C (C) Leha and Function 贪心
- 扩展欧几里得算法 POJ 1061
- pythonxml模块高级用法_Python利用ElementTree模块处理XML的方法详解