windows中,文件名最长可达多少个字符?是255还是256?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows中,文件名最长可达多少个字符?是255还是256?相关的知识,希望对你有一定的参考价值。
今天晚上4点半之前就要答案!
Windows 中的文件名可以使用汉字和空格,最长可达256个字符。
流可以分为两种类型:文本流和二进制流。
文本流是解释性的,最长可达255个字符,其中回车/换行将被转换为换行符“\\n”(如果以"文本"方式打开一个文件,那么在读字符的时候,系统会把所有的"\\r\\n"序列转成"\\n",在写入时把"\\n"转成"\\r\\n" )。
二进制流是非解释性的,一次处理一个字符,并且不转换字符。
扩展资料
\\n一般会操作系统被翻译成"行的结束",即LF(Line-Feed)
\\r会被翻译成"回车",即CR(Cariage-Return)
对于文本文件的新行,在UNIX上,一般用\\n(LF)来表示,Mac上用\\r(CR)来表示,Windows上是用\\n\\r(CR-LF)来表示。
参考技术A windows系统支持256位的文件命名。可以由下划线数字字母等组成,不能有特殊字符.windows文件名理想情况下可以达到256个,但用户最多只能用255个字符来取名,因为磁盘分区要占一个位子.
为什么是256个字符呢? 这与编写windows语言之一的汇编语言有关系.是由寻址寄存器决定的(0-255),所以是256个 参考技术B windows系统下文件名长度为:255个英文字符(DOS下8.3格式),包括文件名和扩展名在内,或者是255/2=127个中文字符+1个英文字符 参考技术C 255,绝对正确 参考技术D 今天晚上4点半之前就要答案!
linux 知识点拾遗
文件名称
在 Linux 底下,每个档案或文件夹的文件名称最长能够到达 255 的字符,加上完整路径时,最长可达 4096 个字符;
因为 Linux 在文字接口下的一些指令操作关系,一般来说,您在设定 Linux 底下的文件名时, 最好能够避免一些特殊字符比較好!比如底下这些:
* ?
> < ; & ! [ ] | \ ‘ " ` ( ) { }
由于这些符号在文字接口下,是有特殊意义的!另外,文件名的开头为小数点『.』时, 代表这个档案为『隐藏档』喔!同一时候,由于指令下达其中,经常会使用到 -option 之类的參数, 所以您最好也避免将档案档名的开头以 - 或 + 来命名啊!
这个 FHS ( http://www.pathname.com/fhs/ ) 其实仅是规范出在根文件夹 ( / ) 底下各个基本的文件夹应该是要放置什么样的档案而已。
FHS 定义出两层规范出来,第一层是 / 底下的各个文件夹应该要放置什么样内容的档案数据,比如 /etc 应该要放置设定档, /bin 与 /sbin 则应该要放置可运行档等等。
第二层则是针对 /usr 及 /var 这两个文件夹的次文件夹来定义的。 比如 /var/log 放置系统登录文件、 /usr/share放置共享数据等等。
磁盘切割
主要开机扇区( Master Boot Recorder, MBR ) 有什么限制呢?他最大的限制来自于他的大小不够大到储存全部切割与开机管理程序的信息,因此,MBR 仅提供最多四个 partition 的记忆,这就是所谓的 Primary (P)与 Extended (E) 的 partition最多仅仅能有四个的原因了。
逻辑区块是在 partition 进行filesystem 的格式化时, 所指定的『最小储存单位』,这个最小储存单位当然是架构在 sector 的大小
上面( 由于 sector 为硬盘的最小物理储存单位啊! ),所以啦, Block 的大小为 sector 的 2 的次方倍数。
Block 单位的规划并非越大越好喔!怎么说呢?由于一个 Block 最多仅能容纳一个档案 (这里指Linux 的 ext2 档案系统)!这有什么问题呢?举例来说好了,假如您的 Block 规划为 4 KBytes ,而您有一个档案大小为 0.1 KBytes ,这个小档案将占用掉一个 Block 的空间。
Superblock:如同前面说的,当我们在进行磁盘切割( partition )时,每一个磁盘切割槽( partition )就是一个档案系统( filesystem ), 而每一个档案系统開始的位置的那个 block 就称为 superblock ,superblock 的作用是储存像是档案系统的大小、空的和填满的区块,以及他各自的总数和其他诸如此类的信息等等, 这也就是说,当您要使用这一个磁盘切割槽( 或者说是档案系统 )来进行数据存取的时候,第
一个要经过的就是 superblock 这个区块了。
ext2文件系统
在标准的 ext2 档案系统其中,我们将每一个档案的内容分为两个部分来储存,一个是档案的属性,还有一个则是档案的内容。为了应付这两个不同的咚咚,所以 ext2 规划出 inode 与 Block 来分别储存档案的属性( 放在 inode 其中 )与档案的内容( 放置在 Block area 其中 )。
当我们要将一个 partition 格式化( format )为 ext2时,就必需要指定 inode 与 Block 的大小才行,也就是说,当 partition 被格式化为 ext2 的档案系统时,他一定会有 inode table 与 block area 这两个区域。
inode 记录的信息(当然不止这些):
? 该档案的拥有者与群组(owner/group);
? 该档案的存取模式(read/write/excute);
? 该档案的类型(type);
? 该档案建立或状态改变的时间(ctime)、近期一次的读取时间(atime)、近期改动的时间(mtime);
? 该档案的容量;
? 定义档案特性的旗标(flag),如 SetUID...;
? 该档案真正内容的指向 (pointer);
參考《鸟哥的私房菜》