Linux文件基本类型及建立软链接和硬链接

一、文件属性

1.基本类型: 

              d开头: 表示该文件为目录。

         -开头: 表示该文件为普通文件。

         l 开头:表示该文件为链接文件。

         b开头:表示该文件为块设备。

           c开头:表示该文件为串行端口设备文件。

         s开头:表示该文件为串行端口设备文件。

 

            

          这里的 lrwxrwxrwx   前面的 l 就代表该文件是链接文件。

 

2.文件名后缀:

        .sh代表它是一个shell脚本。

         .gz代表它是一个压缩包。

         .cnf代表它是一个配置文件。

         .zip代表它是一个压缩文件。

3.软链接和硬链接:

        硬链接:当系统要读取一个文件时,会先读inode信息,然后再根据inode中的信息到块区域将数据取出来。

               硬链接有两个限制:(1)不能跨文件系统,因为不同的文件系统有不同的inode table;(2)不能链接目录。

         软链接:与硬链接不同,软链接是一个独立的文件,当读取这个链接文件时,它会把读取的行为转发到该文件所链接的文件上。

4.建立软链接和硬链接:

        link:格式为ln 【-s】【目的文件】,-s表示建立软链接。

         du -sk :计算文件或者目录的大小,-k表示以KB为单位,在这里 l l 等于ls -l 。

                             这里我们建立一个硬链接(软链接只需加个【-s】,其余都一样):

         

 

           这里f1-1就为f1的硬链接,这里我们可以看到建立硬链接前和建立硬链接后,文件大小是没有变化的,这就说明硬链接文件并不会复制数据块,额外占用磁盘空间。

 

                             

 

           这里我们可以看到硬链接的另一个限制,就是不允许下目录做硬链接。

 

           比较: 安全性:硬链接比软链接更安全些,因为删除一个硬链接文件,还会有其他文件指向inode,既然inode存在,那文件的数据也就存在。

             用途:由于硬链接无法做目录的链接,所以用途就比较受限,而软链接的使用方向就较广。

5.简述软链接和硬链接的区别:

         1.硬链接源文件/链接文件公用一个inode号,说明它们是一个文件,而软链接源文件/链接文件拥有不同的inode号,表明它们是两个不同的文件。

         2.在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和源文件是完全平等关系。

         3.链接数目是不一样的,软链接的链接数目不会增加。

         4.文件大小是不一样的,硬链接显示的大小是跟源文件是一样的。而这里软链接显示的大小与源文件就不同了。

         5.软链接没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。

 

posted @ 2020-10-23 09:15  小小程序~猿~  阅读(1265)  评论(0编辑  收藏  举报