欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux的软链接跟Windows快捷方式一样?

程序员文章站 2022-07-05 16:58:37
...

一、ln 命令

ln 命令的基本信息:

  • 命令名称:ln。

  • 英文原意:make links between file。

  • 所在路径:/bin/ln。

  • 执行权限:所有用户。

  • 功能描述:在文件之间建立链接

1、ln 命令的基本格式如下:

[aaa@qq.com ~]# ln [选项]  源文件  目标文件

选项:

-s:建立软链接文件。如果不加“-s”选项,则默认建立硬链接文件

-f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件


如何创建硬链接?

[aaa@qq.com ~]# touch  cangls 

[aaa@qq.com ~]# ln   /root/cangls    /tmp/

分析:创建一个硬链接文件(cangls),使用 In 命令把/root/cangls文件硬连接到/tmp/cangls,/tmp/目录下没有写文件名,则目标文件名跟源文件名一致,也就是/root/cangls 和/tmp/cangls 是硬链接文件。


如何创建软链接?

[aaa@qq.com ~]# touch bols 

[aaa@qq.com ~]# ln  -s   /root/bols    /tmp/

分析:创建软链接时需要在选项中添加  "-s"  参数,不加是默认硬链接的,/root/bols 和/tmp/bols 是软链接文件。


2、硬链接与软连接的特征

Linux的软链接跟Windows快捷方式一样?

Linux的软链接跟Windows快捷方式一样?

Linux的软链接跟Windows快捷方式一样?

硬链接特征:

  • 源文件和硬链接文件使用相同的 Inode 和 Block

  • 修改任意一个文件,另一个都改变

  • 删除任意一个文件,另一个都能使用

  • 硬链接标记不清,很难确认硬链接文件位置,不建议使用

  • 硬链接不能链接目录

  • 硬链接不能跨分区

特征分析:

    

    在上一节中讲过,Inode中存放的是Inode号、时间、权限、位置,并没有存放文件名,文件本身的block块也没有存放文件名。文件名是存放在上一级目录的block块中,按照这样的存放规则,根目录的Inode号是固定的(Inode==2),因为不固定的话是找不到源头的,并且根目录的文件名也是存放在自己的block块中。 

用一个例子来说明硬链接原理和过程,放一张自己画的丑图:

Linux的软链接跟Windows快捷方式一样?

    左边是主目录,中间是源文件,右边是目标文件。正常情况下是找到A目录的Ionde号进入A,在A中找到123这个文件的Inode号进入,就可以看到文件的内容。当源文件和目标文件建立硬连接后,目标文件就获得了原文件的Inode号,这个时候就可以获取到源文件的内容。

    如果把Inode号比喻成教室的前后门。无论你把哪一个门给堵了,还是有一个门可以进来。这就是为什么删除任意一个文件,另一个文件都能使用。目录下可能会存在许多子目录和文件,如果给目录创建硬链接,那就要给所有文件创建硬链接,对系统负荷太大,linux就干脆禁止了


软链接特征:

  • 软链接和源文件使用不同的 Inode 和 Block

  • 两个文件修改任意一个,另一个都改变

  • 删除软链接,源文件不受影响;删除源文件,软链接不能使用

  • 软链接没有实际数据,只保存源文件的 Inode,不论源文件多大,软链接大小不变

  • 软链接的权限是最大权限 lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文件权限

  • 软链接可以链接目录

  • 软链接可以跨分区

  • 软链接特征明显,建议使用软连接

特征分析:

    

    软链接完全可以把它理解为windows系统的快捷方式,删除快捷方式,源文件还能用,但是删除了源文件,快捷方式就不能用了。

Linux的软链接跟Windows快捷方式一样?

由于使用了不同的Inode号和block块,没办法直接获取源文件的内容,所以这时就在软链接的block中存放源文件的Inode号,软链接就相当于起了中转的作用(指示牌),告诉源文件的方向在哪里。

软链接中不存放数据,只存放Inode号,源文件增大了,软链接的大小不会变,就像windows的快捷方式也不会变大。

实验图:

Linux的软链接跟Windows快捷方式一样?


Linux的软链接跟Windows快捷方式一样?

好了,今天就分享到这里,如果你喜欢这篇文章的话,请转发出去。如果你不喜欢这篇文章的话,请你先喜欢上这篇文章再转发出去,然后顺手点一个赞。谢谢!

Linux的软链接跟Windows快捷方式一样?

  【文末福利】

如今是资源泛滥的互联网的时代,如果你不想花时间去收集和整理你需要的一些资料,那就进来我的知识星球吧,星球中已经收录了很多csdn下载的资料、****、源代码、工程文件、资料手册、课程设计等等,总会有适合你哒。

承诺只需一次付费,到期后免费进入!

Linux的软链接跟Windows快捷方式一样?

往期精彩回顾

史上最强的 (佰渡芸)下载工具,没有之一!
Linux和Windows有什么区别?
免费的微信群聊机器人,不懂编程也可以用!

linux—版本分类、系统安装、系统分区、格式化、文件设备名、挂载点、IP地址配置

END

▼更多精彩推荐,请关注我们▼


生活不止眼前的苟且,
还有课本里的诗和到不了的远方