软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。
硬链接就是一个文件的一个或多个文件名。把文件名和计算机文件系统使用的节点号链接起来。因此我们可以用多个文件名与同一个文件进行链接,这些文件名可以在同一目录或不同目录。
2、限制不同
硬链接只能对已存在的文件进行创建,不能交叉文件系统进行硬链接的创建;
软链接可对不存在的文件或目录创建软链接;可交叉文件系统;
/iknow-pic.cdn.bcebos.com/35a85edf8db1cb13784969b9d354564e92584b73"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/35a85edf8db1cb13784969b9d354564e92584b73?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/35a85edf8db1cb13784969b9d354564e92584b73"/>
3、创建方式不同
硬链接不能对目录进行创建,只可对文件创建;
软链接可对文件或目录创建;
4、影响不同
删除一个硬链接文件并不影响其他有相同inode号的文件。
删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即danglinglink,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
【软连接】 软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。相当于window系统中的快捷方式 具体用法是:ln -s 源文件 目标文件 或者 ln -s 源目录 目标目录 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在其它的 目录下用ln命令链接(link)就可以,不必重复的占用磁盘空间。 例如:ln -s /home/test1 /data/test1 这样我们就对/home/test1目录创建了软连接 ,在/data/test1中打开看到的就是/home/test1目录下的文件 使用方式 创建软链接 ln -s [源文件或目录] [目标文件或目录] 例:当前路径创建test 引向/var/www/test 文件夹 ln –s /var/www/test ./test (此处建议一定要写绝对路径,最好写到根目录,而且当前目录中药删除test) 例:创建/var/test 引向/var/www/test 文件夹 ln –s /var/www/test /var/test 修改软链接 这将会修改原有的链接地址为新的地址 ln –snf [新的源文件或目录] [目标文件或目录] 例如: 创建一个软链接 ln –s /var/www/test /var/test 修改指向的新路径 ln –snf /var/www/test1 /var/test 删除软链接 和删除普通的文件是一样的,删除都是使用rm来进行 *** 作, 例:删除test rm –rf test 正确的删除方式(删除软链接,但不删除实际数据) rm -rf ./test 错误的删除方式 rm -rf ./test/ (这样就会把原来test下,源文件的内容也删除) 建议使用rm test 待显示删除确认提示的时候 页面出现 rm: remove symbolic link test yes等字样 说明你正在 *** 作的是软连接,而不是目录。 一定要注意啊。乱用rm 还删除目录下的全部文件,还循环,后果很严重,要再三确认 ln常用参数: -f : 链结时先将与 dist 同档名的档案删除 -d : 允许系统管理者硬链结自己的目录 -i : 在删除与 dist 同档名的档案时先进行询问 -n : 在进行软连结时,将 dist 视为一般的档案 -s : 进行软链结(symbolic link) -v : 在连结之前显示其档名 -b : 将在链结时会被覆写或删除的档案进行备份 -S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾 -V METHOD : 指定备份的方式 --help : 显示辅助说明 --version : 显示版本 【硬连接】 硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。 什么是软链接和硬链接,很多人对这个概念比较模糊,这里帮助你明白他们之间的区别和用法。
为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。
在 Linux 中,元数据中的 inode 号(inode 号即索引节点号)才是文件的唯一标识而非文件名,文件内容要通过inode 号来寻找,就像交通指示牌一样,指示着数据找寻的方向。
软链接可以理解成快捷方式,和原文件的inode号不一样。它和windows下的快捷方式的作用是一样的,软链接数据块中记录的亦是相对路径指向。
硬链接和原文件对应一个inode,就是对应一个文件,可以理解成一个文件有几个别名.
下面这张图表明了他们之间的区别了。
这二张图详细的给出这二个文件的异同处。
1,软链接可以理解成快捷方式,也清楚知道原文件在哪儿。它和windows下的快捷方式的作用是一样的,和windows一样,删除源文件,快捷方式也用不了。
2,硬链接可以说做了一个备份,但并没有增加空间,因为文件就一个,这种可以防止源文件删除后不能使用的问题,但也有局限性,不能对目录和跨文件系统使用。
相信通过上面的说明,你已经明白了二者之间的区别和用途了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)