Linux的软连接和硬连接
1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
【硬连接】 硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
【软连接】 另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
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 0 9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1 9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2 9797649 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 file or directory
通过上面的测试可以看出:当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效
3.总结 依此您可以做一些相关的测试,可以得到以下全部结论: 1).删除符号连接f3,对f1,f2无影响; 2).删除硬连接f2,对f1,f3也无影响; 3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效; 4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。
Linux的软连接和硬连接的更多相关文章
- Linux中软连接和硬连接的区别
首先,我们要清楚符号链接的目的,在不改变原目录/文件的前提下,起一个方便的别名(在这起个别名,让我想到前阶段学C里typedef也是起别名的). 1.软连接就相当于windows的快捷方式.例如:ln ...
- linux之软连接,硬连接篇
作业四: 1) 建立/etc/passwd的软连接文件,放在/tmp目录下 [root@localhost 桌面]# ln -s /etc/passwd/a.txt /tmp/aa.txt 2) 建立 ...
- Linux 软连接与硬连接
Linux 软连接与硬连接 对于一个文件来说,有唯一的索引接点与之相应,而对于一个索引接点号,却能够有多个文件名称与之相应.因此,在磁盘上的同一个文件能够通过不同的路径去訪问该文件.注意在Linux下 ...
- Linux基础(3)- 正文处理命令及tar命令、vi编辑器、硬盘分区、格式化及文件系统的管理和软连接、硬连接
一.正文处理命令及tar命令 1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件1.txt(覆盖) 2) 将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件2.txt(追加) ...
- linux中的软连接和硬连接
1. 创建软连接的方法 ln -s /path/to/original /path/to/linkName 当我们对软连接文件进行修改后,对应的修改也会反映到原始的文件(反之亦然). 当我们删除软连接 ...
- Service系统服务(二):补充应用技巧、软连接与硬连接、man手册、zip备份、vim效率操作、自定义yum软件仓库、发布及测试yum仓库、编译安装软件包
一.补充应用技巧 目标: 本例要求掌握在运维中比较常用的一些扩展命令技巧的使用,完成下列小技巧操作: 1> 采用数值形式将目录/root的权限调整为 rwx------ 2> 将记录的 ...
- ln 软连接与硬连接
...
- Linux软连接与硬连接 .
http://blog.csdn.net/ningxinghai/article/details/7342338 Linux的软连接相当于window系统的快捷方式,如我们桌面的QQ等. 硬连接相当于 ...
- Linux 软连接和硬连接(转)
1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点 ...
随机推荐
- JMeter学习笔记(四) HTTP Cookies 管理器
有些接口执行时,要求要先登录,此时就需要用到 HTTP Cookies 管理器.不过有些项目是使用的token,即添加HTTP信息头管理器,获取登录后的token,至于token与cookies的区别 ...
- 使用jquery validate结合zui作表单验证
1.引入jquery validate和zui <!-- jQuery (ZUI中的Javascript组件依赖于jQuery) --> <script src="${_b ...
- net对象的克隆
class Person { public string name; public List<string> hobby; } void main() { Person p1 = new ...
- Python网络编程(http协议,IO多路复用、select内核监听)
前言: 什么是IO? 分为IO设备和IO接口两个部分 如Linux系统,I/O操作可以有多种方式 比如DIO(DirectI/O) AIO(AsynchronousI/O异步I/O) Memory-M ...
- 易语言.开源(vip视频播放器源码)
下载链接:https://pan.baidu.com/s/1ta1Ig3LOiOka-kr5xB18kw
- 孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类尝试第一天
孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类,尝试第一天 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 按上一天的规划,这是根据过去我自学其它编程语 ...
- (原)DirectX11 深度测试(有点另类)
(问到自己清楚就可) @Author: 白袍小道 @说明:转载随缘,评论随缘,询问建议看书和源码会得到更准确的答案 深度测试的来源.目的.做法 一.问题询问 我们带着一些问题去浏览一番 1.深度测试发 ...
- linux备忘录-文件系统管理
Extx 文件系统原理 block group 每个分区(partition)的组成为 boot sector -> block group -> block group -> bl ...
- JSP/Servlet Web 学习笔记 DayThree
JSP内置对象 使用JSP语法可以存取这些内置对象来执行JSP网页的Servlet环境相互作用.内置对象其实是由特定的Java类所产生的.每一种内置对象都映射到一个特定的Java类或者端口,在服务器运 ...
- Codeforces - 220B Little Elephant and Array(莫队模板题)
题意: m次查询.每次查询范围[L,R]中出现次数等于该数字的数字个数. 题解: 由于分块,在每次询问中,同一块时l至多移动根号n,从一块到另一块也是最多2倍根号n.对于r,每个块中因为同一块是按y排 ...