打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
linux中的软链接和硬链接
     Linux 文件系统最重要的特点之一是它的文件链接。链接是对文件的引用,这样您可以让文件在文件系统中多处被看到。不过,在 Linux 中,链接可以如同原始文件一样来对待。链接可以与普通的文件一样被执行、编辑和访问。对系统中的其他应用程序而言,链接就是它所对应的原始文件。当您通过链接对文件进行编辑时,您编辑的实际上是原始文件。链接不是副本。有两种类型的链接:硬链接符号链接(软链接)。硬链结的意思是一个档案可以有多个名称,而软链结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链结是存在同一个档案系统中,而软链结却可以跨越不同的档案系统(生成软链接时会生成一个和源文件不同的inode,而硬链接则的inode 和源文件相同)。不论是硬链结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间(为什么???硬链接不是会生成和源文件同样大小的文件吗,如果不是源文件的副本,那里面的内容是什么?)。
   在Linux的文件系统中,保存磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号inode 。
软链接其实就是新建立一个文件,会重新建立一个inode。这个文件就是专门用来指向别的文件的(相当于windows的快捷方式)。故删除其本身没什么影响,但删除源文件后软链接生成的文件不可用。
   硬链接是不会建立inode的,他只是在文件原来的inode link count域再增加1而已。硬链接只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为 inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。Linux上允许对同一个硬件设备在软件上有多个描述,而windows上则只允许有一个。硬链接的文件和源文件的同步性可能是与windows上最大的不同(个人感觉)。
   二者的区别主要为:软链接可以跨文件系统,硬链接不可以;软链接可以对一个不存在的文件名(filename)进行链接(当然此时如果你vi这个软链接文件,linux会自动新建一个文件名为filename的文件),硬链接不可以(其文件必须存在,inode必须存在);软链接可以对目录进行连接,硬链接不可以。硬链接不允许连接到一个目录下,但软链接好像可以。
硬链接的建立: ln tatget symbolic_link_name
软链接的建立: ln  -s tatget symbolic_link_name
主要的参数:
         -f : 链结时先将与 dist 同档名的档案删除
   -d : 允许系统管理者硬链结自己的目录
   -i : 在删除与 dist 同档名的档案时先进行询问
   -n : 在进行软连结时,将 dist 视为一般的档案
   -s : 进行软链结(symbolic link)
   -v : 在连结之前显示其档名
   -b : 将在链结时会被覆写或删除的档案进行备份
   -S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
   -V METHOD : 指定备份的方式
   --help : 显示辅助说明
   --version : 显示版本
 
具体结果如下:
 
 
 
 

 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Linux系统中链接分为哪两种?
linux 软连接的使用
linux下软链接和硬链接的区别
图解linux中的软链接和硬链接的区别
十五、Linux的常用命令ln、cp、mv
linux命令:ln(创建链接)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服