linux学习之链接文件

链接文件

linux系统,为每个新建文件都分配一个索引节点(Inode),每个文件的indoe号唯一,文件属性保存在inode中,在访问该文件时,该文件的inode号会放到内存中,以实现快速访问。
linux的链接文件相当于windows系统中的快捷方式,Linux的链接文件分为两种,硬链接(hard link)和软链接(soft link),软链接又称符号链接(symbolic link)。
硬链接
硬链接就是同一个文件使用了多个别名(他们有共同的 inode)。链接文件和原文件实际上是一个文件。
当硬链接删除原文件时,系统调用检查inode link count的数值,如果他大于等于1,那么inode不会被回收,因此文件的内容不会被删除,相当于删除了一个索引。文件的inode号可以通过命令(ls-i)查看。
硬链接不可以跨文件系统,软连接可以跨文件系统。
硬链接就是一个指针,指向文建索引节点,系统不为它分配新的inode。
硬链接的创建用ln:

ln oldfile  newfile
ln [option] oldfile  newfile
ln [option] oldfile-list newfile

第二种是为oldfile目录下的所有文件都创建一个同名的硬链接,[optiong]的常用选项是-f,无论”newfile”存在与否,都创建链接。-n 如果”newfile”已存在,就不创建链接。

不同目录,但在同一文件系统下建立hard link:
设file1,file2在目录 ~/temp/d1中,(1)在~/temp/d2中给file2 创立硬链接 file2hard
(2)将d1目录中所有文件,在目录d2中建立硬链接

cd ./temp/d1
ln file2 ./temp/d2/filehard (1)

ln ./temp/d1/* ./temp/d2

如何判断硬链接和源文件是同一文件?
创建链接后(1)file1和file1hard的链接数目都变为2;(2) file1和file1hard在inode号是一样的(3) file1和file1hard显示的文件大小也是一样。可见进行了ln命令的操作结果:file1和file1hard是同一个文件的两个名字,它们具有同样的索引节点号和文件属性,建立文件file1的硬链接,就是为file1的文件索引节点在当前目录上建立一个新指针。
无

符号链接
软链接是对一个文件的间接指针。软连接的文件用户数据块中存放的内容是另一个文件的路径名指向。软连接就是一个普通文件,它的数据块内容有点特殊。
软连接可对文件或目录创建。创建命令(ln -s)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值