linux 下建立硬链接和软连接
对于一个文件来说,有唯一的索引接点(inode)与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。注意在Linux下是一切皆文件的啊,文件夹、新加的硬盘 ...都可以看着文件来处理的啊。
连接有软连接和硬连接(hard link)之分的,软连接(symbolic link)又叫符号连接。符号连接相当于Windows 下的快捷方式。
*************************** 不可以对 文件夹/目录 建立硬连接的,我们通常用的还是软连接比较多。
eg:
ln -s source dist # 建立软连接
ln -s ../wangbufan.pcap dumpfile
ln source dist # 建立硬连接
它们到底有什么区别呢?上次也好好的看了,好象同文件系统的结构有一定的关系,没怎么太详细的研究下次看明白了再加上。
----------------------
软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬链接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。
软连接与windows下的快捷方式类似
至于硬连接,举个例子说吧,你把dir1/file1硬连接到dir2/file2, 就是在dir2下建立一个dir1/file1的镜像文件file2,它与file1是占用一样大的空间的,并且改动两者中的一个,另一个也会发生同样的改动.
软连接和硬连接可以这样理解:
硬连接就像一个文件有多个文件名,
软连接就是产生一个新文件(这个文件内容,实际上就是记当要链接原文件路径的信息),这个文件指向另一个文件的位置,
硬连接必须在同一文件系统中,而软连接可以跨文件系统
硬连接 :源文件名和链接文件名都指向相同的物理地址,目录不能够有硬连接,文件在磁盘中只有一个复制,可以节省硬盘空间,由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除软连接(符号连接)用ln -s命令创建文件的符号连接,符号连接是linux特殊文件的一种,作为一个文件,它的资料是它所连接的文件的路径名,类似于硬件方式,******可以删除原始文件 而连接文件仍然存在。********
本文试图清晰彻底的解释软链接和硬链接文件的区别
一 链接文件
链接有两种方式,软链接和硬链接。
1 软链接文件
软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。
**********链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象"),链接文件甚至可以循环链接自己。类似于编程语言中的递归。
用ln -s 命令可以生成一个软连接,如下:
[root@linux236 test]# ln -s source_file softlink_file
在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。
2 硬链接文件
info ln 命令告诉您,硬链接是已存在文件的另一个名字(A "hard link" is another name for an existing file),这多少有些令人困惑。硬连接的命令是
ln -d existfile newfile
硬链接文件有两个限制
1)、不允许给目录创建硬链接;
2)、只有在同一文件系统中的文件之间才能创建硬链接。
***********对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。
***********这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。
二 两者之间的区别
硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Number)。
在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。*******硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要
文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个
连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。
软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
三 个人体会
软链接是另一个文件,作用可以理解为一个指针,******作用在这个文件上的操作除了删除都直接转向实际指向文件,由于是一个真实的文件所以占用磁盘空间
硬链接可以认为不是一个文件,它只是实际文件的一个别名,它的作用是防止真实文件被误操作,给一个文件建立硬链接后,他们互为别名,删除其中任意一个,
这样用RM命令只会删除该别名,实际文件并不会被删除。只有链接数为0时,才会删除原始文件。
linux 下建立硬链接和软连接相关推荐
- linux什么是硬链接和软连接区别,Linux硬链接和软连接的区别与总结
图示软硬链接的区别 有关硬链接的总结 具有相同inode节点号的多个文件互为硬链接文件: 删除硬链接文件或者删除源文件任意之一,文件实体并未被删除: 只有删除了源文件和所有对应的硬链接文件,文件实体才 ...
- Linux下的硬链接和软链接
Linux下的硬链接和软链接 一.系统及ln版本 二.硬链接 1.创建目录及文件 2.创建链接文件 3.查看链接文件 4.删除源文件,链接文件不受影响 三.软链接 1.创建目录及文件 2.创建软链接文 ...
- 【Linux】Linux下的硬链接与符号链接
Linux的初学者常常混淆Linux中的硬链接(hard link)与符号链接(symbol link)的概念,分不清楚它们的区别.因此,本文将向读者全面介绍硬链接与符号链接,给予读者以全面的认识. ...
- Linux下创建硬链接,文件访问为空,提示:xxxx: 符号连接的层数过多
Linux下创建软链接|硬链接,文件访问为空,提示:x x x: 符号连接的层数过多. 原因:创建符号链接的时候未使用绝对路径,无论是源文件路径还是目标路径,都需要使用绝对路径. 如: ln -s / ...
- linux如何删除硬链接,linux下创建和删除软、硬链接
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号. 文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问 ...
- 软连接和硬连接的区别linux,软链接和硬链接的区别你真的知道吗?
导读 在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了:普通文件:目录文件:链接文件:设备文件 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通 ...
- Linux硬链接与软连接实现对比
概述 linux系统中有一种比较特殊的文件称之为链接(link).通俗地说,链接就是从一个文件指向另外一个文件的路径.linux中链接分为俩种,硬链接和软链接.简单来说,硬链接相当于源文件和链接文件在 ...
- Linux的硬链接和软连接(符号链接)的区别
一.引言 1.什么是目录? Linux 文件系统是树状结构的.根目录下存在一系列子目录.目录里边有文件或者子目录. 但问题在于: 目录是什么? 文件又是什么? 文件是:数据 + 属性(比如名字.创建时 ...
- 硬链接和软连接 linux 的ln命令
(一) 硬链接和软链接(符号链接) linux系统给每个文件都有一个编号,成为索引节点号(inode index) . linux系统中每个文件都有文件名和数据.数据包括用户数据 (user data ...
最新文章
- 使用手势,让键盘在点击空白处消失
- open a BP will trigger text load - COM_TEXT_MAINTAIN - READ_TEXT
- Markdown 编辑器才是yyds|CSDN编辑器测评
- vb.net中递归退到最外层_数组中的逆序对
- redis 安全 备份 事务
- python怎么安装pin库_Python库之numpy库的安装教程
- 三星突然发布Galaxy S10 Lite和Note 10 Lite:有不同也有所同
- python测试笔试题1
- 从“技术理性”到“实践智慧” 华为云这波大招够强
- 南阳oj-----找球号(一)(set)
- C++ 10 进制 转 16进制
- 整理总结:深入浅出统计学 —— 相关与回归
- Noob 靶场渗透记录
- 年轻人说“接受自己的平庸”,八成是自欺欺人
- 计算机手动配置信息,手动修改并设置电脑开机画面入您所愿
- 报错 The type类名 is already defined
- 王者荣耀赛季更新服务器维护到什么时候,王者荣耀赛季更新到几点?s24维护公告最新内容一览[多图]...
- While 循环语句 和do while循环语句
- 蓄冷罐布水器仿真matlab,用于蓄冷罐的布水器及开孔与安装方法与流程
- Python学习随笔:使用xlwings读取和操作Excel文件