Linux:关于硬链接与软链接

linux链接文件类似于Windows下的快捷方式;

链接文件分为软链接和硬链接;

一、硬链接:

1、首先我们在目录下创建一个文件  text.txt 文件;

用命令  touch 创建:touch text.txt

此时text.txt文件就创建好了

2、创建好之后,我们接着用 stat 命令查看一下text.txt文件信息: stat  text.txt

 此时我们看到:

                       text.txt文件的Inode节点为686809 

                       text.txt文件的链接数为1

3、这时我们建立一个链接文件:ln 源文件  链接文件

                                                    ln  text.txt    text_hard.txt

此时text_hard.txt 是一个硬链接文件

4、创建成功之后我们用 ls -i 命令可以查看文件的inode 节点

此时我们可以看到两个文件inode节点相同;如下图

此时我们用stat命令无论查看text.txt文件,还是查看text_hard.txt 文件,文件的连接数都是一样的;

stat text.txt

stat text_hard.txt

文件的连接数::Links都是2

5、当我们删除源文件text.txt时,会有什么变化?

此时我们用命令 rm删除:rm text.txt

然后我们再用stat命令查看链接文件text_hard.txt   :stat  text_hard.txt

此时我们会发现文件的连接数减1

6、此时我们的baoji目录下已经没有text.txt文件了;

当我们通过命令cp 拷贝文件时,新文件text.txt 会产生一个新的Indoe;

cp text_hard.txt  text.txt

7、接下来我们再来看一下文件类型:

硬链接:文件类型是普通类型(-)

8、此时我们用cat命令查看文件内容,发现两个文件的内容完全一样

cat text.txt

cat text_hard.txt

再来看看忘文件里追加内容会有什么不同?

echo " ">>命令给文件追加内容

再查看一下硬链接文件内容cat text_hard.txt

可以发现链接文件的内容也发生变化,并且和源文件内容一样

9、既然可以对文件进行硬链接,那我们可以尝试给目录创建硬链接

ln  baoji  baoji1_h

通过实验发现,不能对目录进行硬链接;

 

二、软连接

1、通过命令 ln -s 源文件 链接文件 创建一个链接文件

2、用命令 ls -i 查看inode节点,发现软链接的inode节点不同

3、同样我们继续查看一下通过软链接产生的文件类型是什么类型 

通过软链接产生的文件是链接文件(l)

4、我们查看一下文件内容:

发现文件内容完全相同

5、假设我们删除源文件,那么链接文件还能否找到?

rm text.txt

通过实验发现:如果我们删除源文件,则软链接会失败,访问提示找不到文件

6、能否对目录进行软链接:

ln -s class1 les1

通过实验发现,软链接可以对目录创建链接

区别:

软链接:
         1)、软链接以路径的方式存在,类似于Windows中的快捷方式;

         2)、软链接可以跨文件系统,硬链接不可以;

         3)、软链接可以对一个不存在的文件名进行链接;

         4)、软链接可以对目录进行连接;

         5)、软链接不占用磁盘空间,源文件删除则软链接失效;

硬链接:

         1)、硬链接以文本副本形式存在,但不占用实际空间;

         2)、硬链接只能连接普通文件,不允许给目录创建硬链接;

         3)、硬链接只能在同一个文件系统中才能创建

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值