首先cd / 进入/目录,再ls查看目录下的文件,test目录在/目录下,cd /test进入test目录
touch a 创建a文件
再ln a a.hard (创建硬链接)
ln -s a a.soft (创建软链接)
ls查看目前test目录下有什么文件,发现有:
a a.hard a.soft(蓝色为软链接)
我们输入命令echo zxc>a 为文件a添加字符串
cat a a.hard a.soft 查看后会出现:
zxc
zxc
zxc
表示我们将字符串编辑到a文件中时,
查看a a.hard a.soft 都会出现a文件下block的同一个内容。
这时我们ls -i会知道a a.hard a.soft各自的Inode
a:393 a.hard:393 a.soft:396
现在我们输入命令rm a 将文件a删除
ls后出现a.hard a.soft(红色代表找不到去往a的路径)
我们现在再重新touch a 创建一个新的a文件
ls查看后出现 a a.hard a.soft(变为了蓝色,表示这个软链接又找到了一个名为a的文件路径)
现在我们cat a a.hard a.soft 查看会出现:
zxc
我们重新编辑echo qwe>a
再cat a a.hard a.soft查看会出现:
qwe
zxc
qwe
此时我们会发现a a.soft 下的字符串变成了新的qwe,而a.hard 下的字符串还是我们第一次编辑时的zxc。
我们继续重复上次查看Inode的操作,会发现现在各个的Inode为:
a:399 a.hard:393 a.soft:396
我们会发现a的Inode变了,说明这是一个新的a文件
总结:硬链接的特点是删除原文件或者对应的硬链接是不会影响到另一个文件(相当于一种备份)
软链接的特点是删除被指向的原文件时时,该软链接则会被影响,从而找不到,而若重新创建一个名称相同的路径文件时,软链接则会恢复可用状态,并且访问的是新创的文件