软硬方式链接

软硬方式链接

在Linux系统中存在硬链接和软连接两种文件。

硬链接(hard link):可以将它理解为一个“指向原始文件inode的指针”,系统不为它分配独立的inode和文件。所以,硬链接文件与原始文件其实是同一个文件,只是名字不同。我们每添加一个硬链接,该文件的inode连接数就会增加1;而且只有当该文件的inode连接数为0时,才算彻底将它删除。换言之,由于硬链接实际上是指向原文件inode的指针,因此即便原始文件被删除,依然可以通过硬链接文件来访问。需要注意的是,由于技术的局限性,我们不能跨分区对目录文件进行链接。

软链接(也称为符号链接[symbolic link]):仅仅包含所链接文件的路径名,因此能链接目录文件,也可以跨越文件系统进行链接。但是,当原始文件被删除后,链接文件也将失效,从这一点上来说与Windows系统中的“快捷方式”具有一样的性质。

ln命令

ln命令用于创建链接文件,格式为“ln [选项] 目标”,其可用的参数以及作用如表6-6所示。在使用ln命令时,是否添加-s参数,将创建出性质不同的两种“快捷方式”。

ln命令中可用的参数以及作用

参数 	作用
-s 	    创建“符号链接”(如果不带-s参数,则默认创建硬链接)
-f 	    强制创建文件或目录的链接
-i 	    覆盖前先询问
-v 	    显示创建链接的过程

实例

echo "cao ni ma" > test.txt     #创建原始测试文件test.txt
ln -s test.txt soft_link.txt    #创建文件test.txt的软链接文件soft_link.txt
ln test.txt hard_link.txt       #创建文件test.txt的硬链接文件hard_link.txt
rm -rf test.txt                 #删除源文件test.txt
cat soft_link.txt               #软连接文件打不开
cat hard_link.txt               #硬链接文件能正常打开
软连接
[root@root ~]# echo "1833" > 1833.txt
[root@root ~]# cat 1833.txt
1833
[root@root ~]# ln -s 1833.txt 1.txt
[root@root ~]# cat 1.txt
1833
[root@root ~]# rm -r 1833.txt
rm:是否删除普通文件 "1833.txt"?y
[root@root ~]# cat 1833.txt
cat: 1833.txt: 没有那个文件或目录
[root@root ~]# cat 1.txt
cat: 1.txt: 没有那个文件或目录
硬链接
[root@root ~]# echo "1833" > 1833.txt
[root@root ~]# ln 1833.txt 2.txt
[root@root ~]# cat 2.txt
1833
[root@root ~]# rm -r 1833.txt
rm:是否删除普通文件 "1833.txt"?y
[root@root ~]# cat 2.txt
1833
[root@root ~]# 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值