Linux学习笔记之 软链接和硬链接

前言

一般不用硬而用软 , 硬不能链接目录
软连接和Windows快捷方式相同

硬链接用 ln 源文件 硬链接

硬链接特点

  • 可删除源文件

不论是删除源文件,还是删除硬链接文件,只要还有一个文件存在,inode 号就在, 这个文件都可以被访问。

  • 硬链接不能跨文件系统(分区)

因为在不同的文件系统中,inode 号是重新计算的。

  • 硬链接不能链接目录,

因为如果给目录建立硬链接,那么不仅目录本身需要重新建立,目录下所有的子文件,包括子目录中的所有子文件都需要建立硬链接,这对当前的 Linux 来讲过于复杂。

  • 硬链接不会建立新的 inode 信息,也不会更改 inode 的总数。

不论是修改源文件,还是修改硬链接文件,另一个文件中的数据都会发生改变。

软链接用 ln -s 源 软

软链接的特点和 Windows 中的快捷方式完全一致

  • 删除软链接文件,源文件不受影响。而删除原文件,软链接文件将找不到实际的数据,从而显示文件不存在。
  • 软链接会新建自己的 inode 信息和 block,只是在 block 中不存储实际文件数据,而存储的是源文件的文件名及 inode 号。
  • 软链接可以链接目录。
  • 软链接可以跨分区。

对比例子

例子1

makedir test //创建文件夹
cd test //进入文件夹
touch a //创建a文件
ln a aHard1 //创建硬链接
ln -s a aSoft1 //创建软链接
vi a //可打开
vi aHard1 //可打开
vi aSort1 //可打开
rm -rf a //删除a
vi a //打不开
vi aHard1 //可打开
vi aSort1 //打不开

栗子2

[k@localhost ~]$ mkdir temp
[k@localhost ~]$ cd temp
[k@localhost temp]$ mkdir test
[k@localhost temp]$ cd test
[k@localhost test]$ echo "first" > a //创建内容为 first 的a文件
[k@localhost test]$ cat a
first
[k@localhost test]$ ln a hard
[k@localhost test]$ cat hard
first
[k@localhost test]$ ln -s a soft
[k@localhost test]$ cat soft
first
[k@localhost test]$ rm a  //删除了a
[k@localhost test]$ cat a
cat: a: 没有那个文件或目录
[k@localhost test]$ cat hard
first    //硬链接还能访问到磁盘的内容
[k@localhost test]$ cat soft
cat: soft: 没有那个文件或目录
[k@localhost test]$ echo "second" > a  //重新创建内容为 second 的a文件
[k@localhost test]$ cat a
second
[k@localhost test]$ cat hard
first   //硬链接还是原来的类容
[k@localhost test]$ cat soft
second   //软连接是新内容
[k@localhost test]$ ln a hard
ln: 无法创建硬链接"hard": 文件已存在
[k@localhost test]$ rm hard
[k@localhost test]$ ln a hard
[k@localhost test]$ cat hard
second
[k@localhost test]$ 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kfepiza

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值