FILE NAME(filename)文件名的理解

文件名(FILE NAME

 

1.文件名发展历史

1962年 为了兼容时分系统,便引入了文件的概念,与此同时,作为区分文件拓展名的点(dot),也几乎同时出现。

传统的文件系统中,文件名只允许数字和字母,但是随着时间,允许加入的符号也变多了,这就影响了文件从一个系统到另一个系统的兼容性问题。

1985年RFC 官方就指定,为了识别某个文件,必须将路径名定义成字符串加到文件系统当中。

1995年前,因8.3FILENAME (SFN,Short File Name)只提供8位短型文件名,因此在1995年提出了一种LongFile Name 文件系统(VFAT, Virtual File Allocate Table)

 

2.文件名的引用

文件的引用包括:绝对引用,以及相对的引用。

绝对的引用:涵盖系统所有目录。

相对引用则只会引用当前的工作路径中的文件,这种相对引用的优点使得不同的程序可以引用不同的文件。

这种相对与绝对的路径构成了一系列的文件名。

 

3.同一文件的文件名个数

在类Unix文件系统中,允许一个文件包含多个文件名。但在传统的unix系统中,文件名跟文件的inod或者先关程序是硬连接的(理解为一对一的连接过程)。

多文件名(可理解为原文件名的别名)应用举例,以VFAT为基础的LFNs允许文件的多个文件名

如将"long file name.???"改写成"longfi~1.???",以此缩短了文件名长度从而使文件可以兼容到早些年8.3filename(SFN,Short File Name)的文件系统中的应用程序当中。

 

4.文件名字符长度

不同的文件系统支持不同长度的文件名。而受限的文件名长度,主要是跟文件系统分配的文件名存储空间大小有关,因此并不是越大的存储空间越好,因为在增加存储空间的同时,会引起兼容性问题以及意味着更多的空间将被占用。

 

5.文件名的扩展名

文件名被分为文件基础名跟文件的扩展名。文件的扩展名用于应用程序的识别,而同一个应用程序生成的多个文件,其扩展名是相同的。

 

6.文件名编码的通用性

因为文件在系统中的存储、应用程序中的调用、网络中的传输、数据的压缩存档、文件的配置等等都会根据文件名来进行操作,因此文件名的编码通用性极其重要。

 

传统的文件名,允许在文件系统安全的情况下可以起任意的文件名,但是当这本地文件出现在其他的系统中时,由于系统差异(编码方式的差异),这可能就将出现一些互操作性问题。

 

为了解决文件名编码通用性的问题目前提出的解决办法有:

1. 引入了Unicode的概念(统一了编码方式,目前最普遍)

2. 使得文件名的代码转换透明化

3. 存储非标准的文件名

4. 给予文件名不同的权重,以此避免相同权重文件名的文件出现在相同的目录当中。

 

7.独一性

同一个目录下,每个文件的文件名必须是独一无二的。不同路径下,可能有相同文件名的文件存在。

 

8.字母大小写问题

在不同的文件系统当中,对文件名字母的大小写处理可能也存在差异。

如FAT文件系统,不区分字母格式大小写,Unix系统则区别文件名字母的大小写。

 

9.保留的字符和保留的文件名.

不同的文件系统对应保留的文件名都不同。

在Unicode成为行业标准前,有的文件系统只支持其应用场景下的字符文件名,而另一部分文件系统,除了支持Unicode所规定的字符,还支持其他一些额外的符号文件名。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值