Linux软连接和硬连接比较

1.硬连接无法跨分区创建

[root@centos7 data]#ls
f1  f2
[root@centos7 data]#lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0  100G  0 part /
├─sda3   8:3    0   50G  0 part /data
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0    4G  0 part [SWAP]
sr0     11:0    1  8.1G  0 rom  /mnt
[root@centos7 data]#ln -s /data/f1 /f1_s_link
[root@centos7 data]#ll -h /f1_s_link 
lrwxrwxrwx. 1 root root 8 Apr 27 22:30 /f1_s_link -> /data/f1
[root@centos7 data]#ln /data/f2 /f2_h_link
ln: failed to create hard link ‘/f2_h_link’ => ‘f2’: Invalid cross-device link

普通文件f1和f2,/data和/ 属于不同分区,f1再/ 分区创建软连接成功,f2创建硬连接提示不能跨设备创建。

2.硬连接无法针对目录创建

[root@centos7 /]#ln -s /data /data_s_link
[root@centos7 /]#ll  /data_s_link
lrwxrwxrwx. 1 root root 5 Apr 27 22:40 /data_s_link -> /data
[root@centos7 /]#ln /data /data_h_link
ln: ‘/data’: hard link not allowed for directory

针对/data目录的软连接/data_s_link创建成功,硬连接提示不允许对目录创建。

3.硬连接inode number和源文件相同

[root@centos7 data]#ls
f1  f2
[root@centos7 data]#ln -s f1 f1_s_link
[root@centos7 data]#ln f2 f2_h_link
67 f1  69 f1_s_link  68 f2  68 f2_h_link

f1源文件inode number为67,软连接inode number为69.
f2源文件inode number为68,硬连接inode number同为68.

4.创建硬连接会使文件链接数增加

[root@centos7 data]#ll -h
total 0
-rw-r--r--. 1 root root 0 Apr 27 22:46 f1
-rw-r--r--. 1 root root 0 Apr 27 22:46 f2
[root@centos7 data]#ln -s f1 f1_s_link
[root@centos7 data]#ln f2 f2_h_link
[root@centos7 data]#ll -h
total 0
-rw-r--r--. 1 root root 0 Apr 27 22:46 f1
lrwxrwxrwx. 1 root root 2 Apr 27 22:54 f1_s_link -> f1
-rw-r--r--. 2 root root 0 Apr 27 22:46 f2
-rw-r--r--. 2 root root 0 Apr 27 22:46 f2_h_link

f1,f2源文件连接数都为1,f1创建软连接后,源文件和软连接文件还是1。f2创建硬连接后,源文件和硬连接文件都变为2。

5.硬连接和源文件是同一文件

[root@centos7 data]#ll -h
total 0
-rw-r--r--. 1 root root 0 Apr 27 22:46 f1
lrwxrwxrwx. 1 root root 2 Apr 27 22:54 f1_s_link -> f1
-rw-r--r--. 2 root root 0 Apr 27 22:46 f2
-rw-r--r--. 2 root root 0 Apr 27 22:46 f2_h_link

f2硬连接文件和f2源文件属性,大小,修改时间完全一致,为同一文件,只是文件名不同。

6.硬连接在源文件删除后仍可访问

[root@centos7 data]#rm -rf f{1,2}
[root@centos7 data]#cat f1_s_link 
cat: f1_s_link: No such file or directory
[root@centos7 data]#cat f2_h_link 
[root@centos7 data]#

f1源文件删除后,访问软连接文件提示无法找到文件,不能再访问。
f2源文件删除后,访问硬连接文件仍可正常访问。

7.硬链接文件和源文件大小一致

[root@centos7 data]#ll -h
total 0
-rw-r--r--. 1 root root 0 Apr 27 22:46 f1
lrwxrwxrwx. 1 root root 2 Apr 27 22:54 f1_s_link -> f1
-rw-r--r--. 2 root root 0 Apr 27 22:46 f2
-rw-r--r--. 2 root root 0 Apr 27 22:46 f2_h_link

8.创建硬链接和软连接的相对路径写法不同

[root@centos7 data]#ls
dir  f1  f2
[root@centos7 data]#ln -s ../f1 ./dir/f1_s_link
[root@centos7 data]#ln f2 dir/f2_h_link
[root@centos7 data]#ll -h dir/
total 0
lrwxrwxrwx. 1 root root 5 Apr 27 23:13 f1_s_link -> ../f1
-rw-r--r--. 2 root root 0 Apr 27 23:09 f2_h_link

创建软连接源文件要写相对于连接文件的相对路径。
创建硬连接可直接写相对于当前所在路径的路径。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值