Linux 硬链接和软链接
硬链接:ln 源文件 新建名
指向同一个文件,并独立存在。当源文件删除不会影响硬链接文件的读取。不能跨文件系统和目录建连接。
例:新建一个文件吧!名字test 硬链接为t1。
查看文件,发现2个文件最前的数字是一样的,而这一窜数字称之为inode。
Indoe包含了里面存储了此文件的属性,包括文件大小、所有者、以及访问权限等等。
所以2个inode相同很明显是一个文件(区别于软连接)。还有权限后的数字,就代表了硬链接的份数。每次对t1或test文件添加一个硬链接,数值在原有的基础上加1。
可以认为是备份数,但与备份区别的是,硬链接的每份都是有关联的,在任何一份硬链接上文件做修改,就会对每份硬链接做相同的改动。
软连接:In –s 源文件 新建名
相当于windows中的快捷方式依赖源文件。如源文件删除,软连接则无法执行。可以跨文件系统和目录建连接。
例:当我们挂在光驱时,常常会打入 #mount /dev/cdrom /mnt/cdrom.但只要#mount,就会发现,其实挂载的并不是/dev/cdrom,而是/dev/hdc;
这时你就可以想到了,可能是软连接的缘故,文件指向的是hdc
注意权限,虽然软连接指向源文件,但并不会和源文件的权限相同。一定会出现这问题,或许你会将软连接的权限改为700时。并不代表只有文件所有者能访问。一切还是要以源文件的权限为准。(如果真要问我软连接的权限是干嘛用的,这个嘛。。再议。。。。。。。。)。
注意inode,并不是相同的,所以这就是和硬链接的本质区别。
总结
硬链接不能跨文件系统和不能对目录创建,而软连接可以。
硬链接的inode是相同的,而软连接是不同的。
硬链接每新建一次,值就会在原有基础上加1。而软连接则没此项。
不要被软连接的权限迷惑,最终还是要以源文件的权限为准。
Linux 硬链接和软链接的更多相关文章
- linux硬链接与软链接
在linux操作系统中的文件数据除了实际的内容外,还会含有文件权限(rwx)与文件属性(owner,group,other等),文件系统通常会将这两部分的数据存放在不同的区块,文件权限与文件属性放置在 ...
- (转)Linux硬链接、软链接及inode详解
inode 文件储存在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读 ...
- 【转】 linux硬链接与软链接
转自:http://www.cnblogs.com/yfanqiu/archive/2012/06/11/2545556.html Linux 系统中有软链接和硬链接两种特殊的“文件”. 软链接可以看 ...
- Linux硬链接和软链接
1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点 ...
- linux 硬链接和软链接(转)
1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 【硬连接】硬连接指通过索引节点 ...
- Linux - 硬链接与软链接
在 Linux 的文件系统中,磁盘块分成了 3 个部分.一部分称为数据区,用来存放文件内容.另一部分称为 inode 表,用来存放文件属性.第三部分称为超级块,用来存放文件系统本身的属性.文件的内容和 ...
- 最浅显、易懂的Linux 硬链接与软链接的理解
正文: Linux上的文件可以这么理解:文件-->文件名.文件是一个Object,也就是磁盘上的二进制数据.一个文件可以有多个文件名,平时我们都是通过文件名访问文件Object. 这样,硬链接可 ...
- Linux 硬链接、软链接
索引节点 inode(index node) 我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata).用户数据,即文件数据块 ...
- 彻底明白Linux硬链接和软链接
[硬连接] 在Linux的文件系统中,保存在磁盘分区中的实际文件不管是什么类型系统都给它分配一个编号,称为索引节点号(Inode Index),这个索引节点用来标识这个文件,即这个索引节点就代表了这个 ...
- linux硬链接和软链接的区别
1.原理上: 硬链接(hard link):A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件 ...
随机推荐
- Unity技术面试题
一:什么是协同程序?答:在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行.换句话说,开启协程就是开启一个可以与程序并行的逻辑.可以用来控制运动.序列以及对象的行为. 二:Unity3d中的碰 ...
- nsq多播分发和负载均衡实验
什么是nsq?请参考实时分布式消息平台nsq. 本地如何搭建nsq?请参考本地搭建nsq经验分享. 从NSQ的设计文档中得知,单个nsqd被设计为一次能够处理多个流数据,NSQ中的数据流模型是由str ...
- 【GISER && Painter】矢量切片(Vector tile)番外一:Proj4js
说明:番外篇是对正篇矢量切片(Vector tile)中提到的一些值得继续延伸的关注点继续进行探索和学习,所涉及的内容以解决实际问题为主要导向. 一.新的需求? 在完成了矢量切片的工作后,新的需求出现 ...
- Sql server left join,right join和inner join的比较
转载于:http://www.2cto.com/database/201206/137067.html Sql server left join,right join和inner join的比较 ...
- 如何快速访问MSDN某一个类或方法的帮助文档
如何快速访问MSDN某一个类或方法的帮助文档? 我一般都是在Google上搜索的如"string msdn",而不是在Msdn上直接查找(你不可能知道所有的类或方法的完整命名空间) ...
- NGUI系列教程七(序列帧动画)
今天我给大家讲一下如何使用NGUI做序列帧动画.本节主要包括两方面内容,分别是使用UIspirit和使用UITexture 做序列帧动画.废话不说了,下面开始.还要在啰嗦一句,首先大家要准备一些序列帧 ...
- (算法)二叉树的第m层第k个节点
题目: 给定以下二叉树: struct node { node *left, *right; int value; }; 要求编写函数 node* foo(node *node, unsigned i ...
- (剑指Offer)面试题48:不能被继承的类
题目: 写一个不能被继承的类 思路: 1.把构造函数设为私有函数 在C++中子类的构造函数会自动调用父类的构造函数,子类的析构函数也会自动调用父类的构造函数,要想一个类不能被继承,只要把它的构造函数和 ...
- Service 生命周期
有了 Service 类我们如何启动他呢,有两种方法: • Context.startService() • Context.bindService() 1. 在同一个应用任何地方调用 start ...
- ASP.NET MVC中权限控制的简单实现
1.重写AuthorizeAttribute类,用自己的权限控制逻辑重写AuthorizeCore方法 public class MyAuthorizeAttribute : AuthorizeAtt ...