日期:2014-05-16  浏览次数:20553 次

linux中系统是如何识别文件类型的
这种问题可以类推到windows中,难道仅仅是通过用户名吗

------解决方案--------------------
linux不识别文件后缀, 文件类型只有区区几个:

S_IFSOCK 0140000 socket
S_IFLNK 0120000 symbolic link
S_IFREG 0100000 regular file
S_IFBLK 0060000 block device
S_IFDIR 0040000 directory
S_IFCHR 0020000 character device
S_IFIFO 0010000 FIFO

利用stat函数/命令获取。


------解决方案--------------------
linux中的文件不同于windows,文件后面的后缀没有作用。要了解linux如何获取文件类型,可以根据相关获取类型命令进入源码探知一二。
------解决方案--------------------
是读取文件头来做的,常见的复杂文件格式都有特定的文件头,可认为是一个“Magic Number”,Linux的file命令通过读取这个头部可以判断。
------解决方案--------------------
探讨

linux不识别文件后缀, 文件类型只有区区几个:

S_IFSOCK 0140000 socket
S_IFLNK 0120000 symbolic link
S_IFREG 0100000 regular file
S_IFBLK 0060000 block……

------解决方案--------------------
探讨

linux中的文件不同于windows,文件后面的后缀没有作用。要了解linux如何获取文件类型,可以根据相关获取类型命令进入源码探知一二。

------解决方案--------------------
探讨

是读取文件头来做的,常见的复杂文件格式都有特定的文件头,可认为是一个“Magic Number”,Linux的file命令通过读取这个头部可以判断。