hard link与symbolic link区别

Linux下的文件组织方式是每个文件都占用一个inode,inode中存放有文件的权限信息、block信息等,可以理解为索引文件系统,通过inode索引到对应的block,即读取文件。

hard link

hard link其实就是多个文件连接到同一个inode,因此,这两个文件的信息几乎是一模一样的,hard link有以下特点:

1)你将两都中的任何一个删除,文件都不会被删除,你仍然可以通过另一个文件名来读取文件数据;

2)通过任一文件名来修改该文件数据都是一样的结果;

3)不同的文件系统文件组织方式可能存在差异,所以hard link只能在单一的文件系统上进行;

4)不能连接到目录,如果使用hard link来连接目录,连接的数据需要连同被连接的目录下面的所有数据建立连接,复杂度相当大。

5)‘.‘、‘..‘都是hard link

symbolic link

symbolic link和windows下的快捷方式是可以划等号的,symbolic link实质是创建一个独立的文件,它会占用inode和block,只不过这个文件会让数据的读取指向它连接的文件的文件名。

1)如果原文件被删除,则连接文件会无法打开;

2)symbolic link可以连接到不同文件系统,也可以连接到目录;

所以,symbolic link连接方式比hard link使用的要广泛。

命令

ln [-sf] 源文件 目标文件

不加s参数时即为hard link,否则为symbolic link,f参数表示强制,如果目标文件存在,会将目标文件删除后再重新创建。

时间: 2024-12-17 12:19:37

hard link与symbolic link区别的相关文章

菜鸟学Linux - Hard Link与Symbolic Link

在学习Hard Link与Symbolic Link之前,需要大概了解一下inode与data block.在Linux的文件系统中,一个文件对应一个inode与若干个data block.inode与data block都通过编号来标识,例如第30333个inode,第20334个data block.inode中记录着文件的属性,如文件的所有者.所属用户组.对文件的权限以及指向data block的指针.文件的真正内容是存放在data block中的.一个文件的内容,被分割成若干部分保存在不

Linux文件链接hard link与symbolic link

Linux中文件链接有两种方式,一种是hard link,又称为硬链接:另一种是symbolic link,又称为符号链接.要区分两者的不同要回顾Linux常用的ext2文件系统.这种文件系统使用inode与block,其中inode记录文件数据所存储的block序号,而block用于存储数据.至于跟进一步的文件系统,分割盘,block group,meta data什么的这里不讲,有兴趣的同学参阅<鸟哥的Linux私房菜>. 硬盘的硬件以inode和block分割,但我们直观可见的目录如何存

Create a symbolic link in Unix

Create a symbolic link in Unix A symbolic link, also termed a soft link, is a special kind of file that points to another file, much like a shortcut in Windows or a Macintosh alias. Unlike a hard link, a symbolic link does not contain the data in the

引入CSS文件的方式,以及link与@import的区别

一.引入css的方式 在HTML中引入css的方法主要有4种:行内式.内嵌式.链接式和导入式. 1.行内式 <div style="background:yellow;"></div> 行内式是在标记的style属性中设定CSS样式.这种方式没有体现出CSS的优势,不推荐使用. 2.内嵌式 <html> <head> <style> ..// 此处添加css代码 </style> </head> <

页面引入css用link和import的区别

假设有一个css文件a.css,文件里的内容如下: p { font-size: 18px; } 现在分别使用两种方式引入a.css: 1.使用html的link标签 <link rel="stylesheet" type="text/css" href="a.css"> 2.使用import <style type="text/css"> @import url(a.css); </style&

link 与 @import的区别

最近突然被问到link 与@import的区别,我只记得加载的顺序不同,在下来好好学习了一下后,总结我一下几点与各位共勉 1.首先加载的不同,link加载时异步加载,与页面同时加载,而@import会等到页面加载完成后才加载 2.可以引用的内容不同,link作为一个标签,不仅仅可以引入css文件,也可以引入其他定义RSS(RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用)等其他事务,而@inport只能引入css文件 3.lin

css 样式引入的方法 link 与import的区别

<link> 元素所参考的样式用户可以自由的选择加以改变,而导入的样式表单就自动的与剩下的样式表融合在一起了 CSS与HTML文档结合的4中方法:1 使用<link>元素链接到外部的样式文件2 在<head>元素中使用"style"元素来指定3 使用CSS "@import"标记来导入样式表单4 在<body>内部的元素中使用"style"属性来定义样式 1 用link进行引用 <link r

CSS中link和@import的区别

你对CSS中link和@import的区别是否熟悉,这里和大家分享一下,@import  属性用来指定导入的外部样式表及目标设备类型, link除了调用CSS外还可以有其他作用譬如声明页面链接属性,声明目录,rss等等,而@import就只能 调用CSS. CSS中link和@import有什么区别? 定义  ◆link元素 HTML和XHTML都有一个结构,它使网页作者可以增加于HTML文档相关的额外信息.这些额外资源可以是样式化信息(CSS).导航助手.属于另 外形式的信息(RSS).联系信

【转载】link和@import的区别

link和@import的区别 原文地址:http://www.cnblogs.com/zbo/archive/2010/11/17/1879590.html 页面中使用CSS的方式主要有3种:行内添加定义style属性值,页面头部内嵌调用和外面链接调用,其中外面引用有两种:link和@import.外部引用CSS两种方式link和@import的方式分别是: XML/HTML代码<link rel="stylesheet" rev="stylesheet"