在linux上,常见的文件类型有普通文件,目录文件,套接字文件,管道文件,链接文件与设备文件

     链接文件分为硬链接

                        软连接(符号链接)

    在文件系统层面的不同:硬链接直接指向原文件对应的inode

                                       软连接如同创建一个新文件,占据磁盘块和inode,只不过磁盘块中存储的是原文件的路径(因此软连接文件大小等于原文件字符个数)

   创建:硬链接 ln [-v] source dest

            软连接 ln -s [-v] source dest

   注意点:硬链接只能对文件创建,不能对目录创建


设备文件

   在使用ls -l /dev 的时候,会看到很多的设备文件,一般分为块设备文件和字符设备文件

        文件系统层面:设备文件不占据磁盘块,但是占据inode,在inode中会存储对应文件的主设备号和次设备号

          因此,设备文件没有大小,主要就是设备号,内核是根据设备号访问对应的设备的

   主设备号:某一类设备

   次设备号:某一类设备中的某一个设备

创建设备文件:mknod [options] NAME TYPE [MAJOR MINOR]

         NAME:一般应该遵循命名规则

         TYPE:b(块设备,按块读取,可以实现随机访问)

             c(字符设备,按字符一个一个线性读取)

         MAJOR:主设备号

         MINOR:次设备号

eg:mknod /dev/mydev c 66 66

        从设备文件读取写入就是在设备上进行类似的操作:

   eg:echo world > /dev/pts0  就会在pts0de终端看到相应内容