文件的软硬连接

目录

1.软连接

2.硬链接 


 1:代表该文件的inode编号。

 2:第一个字母代表文件的类型,例如d就代表direcotry(目录),“-”代表普通文件。

       剩余的9个字母,分别代表所属用户、所属用户组、其他用户对该文件读写的权限。

       ‘r’ 代表可读 ,‘w’ 代表可写 ,‘x’代表可执行,‘-’则表示不具备相应权限。 

 3.  这是什么,请移步下文观看。

 4.  代表所属用户。

 5.  代表所属用户组。 

 6.  代表文件的大小,以字节为单位。

 7.   代表文件的mtime(Modified time)。

1.软连接

        它是一个文件,有独属于自己inode。类似于Window中的快捷访问,给所链接的文件创建一个快速访问链接。

例如:

         我在一个很深的路径下,创建一个可执行文件

        但是我想在它所属的前几个路径下执行,每次都要输入一遍路径,很麻烦

         这时软连接就可以体现它的作用

         这时目录下就会有这个文件

         我们运行它

         软连接就行Linux下的快捷方式。

         既然,软连接是一个独立的文件,有自己的inode编号,那么它的文件内容里装的是什么?

         它的文件内容就是 软链接指向的文件的所在路径。

         删除就是unlink 指定文件

2.硬链接 

         一个文件对应一个inode编号,但是一个inode编号可以对应的多个文件。这种方式叫做硬链接。单纯在Linux指定的目录下,给指定的文件新增文件名和inode编号的映射关系。


         建立硬链接

         诶?大家有没有发现test.txt所属用户前面的数字,在建立了硬链接之后,数字加了1,这是因为这个数字就是表示该文件的硬链接数。

        这个硬链接数是什么?这好像智能指针中的引用计数,没错这就是对该inode编号的引用计数。标识有几个文件指向了该文件。

问题:

        为什么新创建的目录的硬链接数是2,而新创建的文件硬链接数是1呢?

         为什么是1呢?因为普通文件的文件名本事就和自己的inode编号具有映射关系。

         为什么是2呢?我们进入这个目录。 

        嗯?这个‘.’  ".."怎么会有inode编号,证明他们也是文件。

        返回Goo的上一层目录,查看Goo的inode。

        这个Goo目录下的 ‘.’ 的inode编号和Goo的inode编号一模一样,证明这个‘.’ 是Goo的硬连接。

        我们经常运行当前目录下的exe时,总是要 "./xxx.exe",这个‘.’就是当前目录。

        ".."呢?

        ".."的inode编号是790848,我们当前在Goo目录下,我们返回上上一层的目录去查看Goo目录的上一层目录(Go)的inode编号。

        我们会发现Go的inode编号是790848,所以 ".."就是当前目录的上一层目录的硬链接。

        返回上一层目录,则为"cd .."。

 画图会理解更深:

         感谢观看,我们下篇再见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值