Linux系统链接文件介绍

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

转载声明:转载请注明出处,本技术博客是本人原创文章

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> Linux系统链接文件介绍

Linux系统链接文件介绍

之前介绍了Linux系统的文件类型,当中提到过以l开头的文件类型——链接文件

Linux系统链接文件介绍

linux系统中的链接文件与WIN系统的快捷方式基本差不多,linux中链接文件又分为硬链接与软链接

硬链接:是指通过索引节点来进行链接,在系统中多个文件各指向同一个索引节点,是可以的正常允许的,这种情况下的文件被称之为硬链接。实际生产环境中用户可以通过硬链接的方式来防止误删重要数据

Linux系统链接文件介绍 **软链接**:也称符号链接(快捷方式),实际上它是一个文本文件,它存储着指向源文件链接的位置信息 Linux系统链接文件介绍

链接文件的创建方法

ln  源文件名   链接文件名             创建硬链接文件

ln -s  源文件名   链接文件名         创建软链接文件

Linux系统链接文件介绍 Linux系统链接文件介绍

硬链接与软链接的区别

我们直接向linajie这个文件里添加内容“ni hao hello world”

Linux系统链接文件介绍 由上图可知,当源文件删除后,用户通过软链接文件是无法查看源文件内容的,但是通过硬链接文件是可以正常读取源文件内容的,因此,硬链接文件实际上是为源文件创建了一个别名的文件(也可认为是同一文件);而软链接文件是为源文件创建了一个访问的链接指向而已。 Linux系统链接文件介绍 由上图看出,源文件与硬链接文件的Inode号一致同为1703962,但软链接文件与源文件Inode号不相同

那么问题来了,目录有硬链接与软文件吗?

真想如何请看图说话(无图无真相啊)

Linux系统链接文件介绍 可以看出目录是不可以创建硬链接文件的,但可创建软链接文件 Linux系统链接文件介绍 那么问题又来了,既然不可以创建硬链接,那为什么目录ceshi的链接数量为什么是2呢??????这是为什么呢?

那是因为目录的链接数默认就是2,是因为 “**.**” 与当前目录是互为链接文件的

Linux系统链接文件介绍 它们具有相同的**Inode号1703971**,“**.. **”  为上一级目录,所以它与当前目录的上一级目录Inode号相同 Linux系统链接文件介绍

总结:

文件与链接文件

1、删除源文件时,硬链接文件正常使用,软链接文件就失效了

Linux系统链接文件介绍 2、删除硬链接时,对源文件与软链接无影响

3、删除软链接时,对源文件与硬链接无任何影响

4、删除源文件、硬链接文件后,整个文件就会被删除

目录与链接文件

1、目录是不可创建硬链接文件,可以创建软链接文件

2、目录的软链接是生产环境中非常实用的

3、所有目录都有一个硬链接“.”,目录硬链接是不可跨越文件系统的

Linux系统链接文件介绍 长按二维码关注微信公众号——友侃有笑
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

转载声明:转载请注明出处,本技术博客是本人原创文章

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> Linux系统链接文件介绍


 上一篇
Linux文件系统 Linux文件系统
Linux文件系统 在Linux系统中所有的设备都统称为文件,所以同样必须要去学习下linux文件系统到底是何物??? 进入系统后我们使用命令ls -ll 就可以查看根目录下所有文件的信息 **d**r-xr-xr-x.   2 root
2021-04-05
下一篇 
Linux系统文件属性之用户、组、权限 Linux系统文件属性之用户、组、权限
Linux系统文件属性之用户、组、权限 Linux系统中的用户是分角色的,用户的角色是由UID和GID来识别的(也就是说系统是识别的是用户的UID、GID,而非用户用户名),一个UID是唯一(系统中唯一如同身份证一样)用来标识系统的用户账号
2021-04-05