【Linux基础】Linux硬链接简介

一、Linux硬链接简介

Linux下的文件是通过索引节点(Inode)来识别文件的,硬链接可以认为是一个指向文件索引节点的指针,系统并不为它重新分配inode。就像一个文件有多个文件名,每添加一个硬链接,文件的链接数就加1。

硬链接文件有两个限制

1)、不允许给目录创建硬链接;

2)、只有在同一文件系统中的文件之间才能创建硬链接。

二、Linux硬链接命令格式

Linux硬链接的命令格式如下所示:

ln [options] existingfile newfile

ln [options] existingfile-list directory

说明:

第一种格式是为”existingfile”创建硬链接,硬链接的文件名为”newfile”。

第二种格式是在”directory”目录中,为 ”existingfile-list”中包含的所有文件创建一个同名的硬链接。

常用选项[options]

-f 无论”newfile”存在与否,都创建链接。
-n 如果”newfile”已存在,就不创建链接。

三、Linux硬链接使用举例

Linux硬链接使用示例如下所示:

#ll -il
total 0
1069026 -rw-r--r-- 2 root root 0 Dec 25 21:30 file1
1069029 -rw-r--r-- 1 root root 0 Dec 25 21:29 file2
#ln file2 file2hard
#ll -il
total 0
1069026 -rw-r--r-- 2 root root 0 Dec 25 21:30 file1
1069029 -rw-r--r-- 2 root root 0 Dec 25 21:29 file2
1069029 -rw-r--r-- 2 root root 0 Dec 25 21:29 file2hard

说明:

在上面的例子中,创建链接前,file1 显示的链接数目为1;

创建链接后,

1)file1和file1hard的链接数目都变为2;

2)file1和file1hard在inode号是一样的;

3)file1和file1hard显示的文件大小也是一样;

file1和file1hard是同一个文件的两个名字,具有同样的索引节点号和文件属性。

建立文件file1的硬链接,就是为file1的文件索引节点在当前目录上建立一个新指针。

你可以删除其中任何一个,如rm file2 ,但每次只会删除一个指针,此时链接数减一,只有将所有指向文件内容的指针,也即链接数删为0时,内核才会真正把文件内容从磁盘上删除。

因此,硬链接可以算是为文件上了一个保险,用RM命令删除建立了硬链接的文件时,并不会真正的将文件删除掉,从而减小了误删的风险。

四、Linux硬链接的缺点

虽然硬链接十分实用,但却有如下两个缺点:

1)不可以在不同文件系统的文件间建立链接。

2)只有超级用户才可以为目录创建硬链接。

linux学习交流群:690327559

linux免费学习课程  :

linux基础
http://www.makeru.com.cn/course/details/2058?s=26056

C高级之linux
http://www.makeru.com.cn/course/details/2478?s=26056

linux多线程编程
http://www.makeru.com.cn/course/details/1937?s=26056

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值