文件名可以多长时间?


17

Ubuntu Linux中的文件名和文件夹名可以有多长时间?Ubuntu Linux中的文件名和文件夹名中可以包含哪些字符?

Answers:


21

在Linux的早期版本中,文件名长14个字节。但是现代Linux系统具有255个字节的文件名。

由于一个字符需要1个字节,因此长度变为255个字符。文件夹也被视为Linux系统中的文件

有关更多信息,请参见此链接


2
文件名是utf-8,所以长度可变:任何ascii字符一个字节。2个或更多其他字符,例如£,★,≠,☺,¡,¿,á,...等
ctrl-alt-delor

1
如果filename是UTF编码的,则字符数会随着UTF编码数量的增加而减少。请参阅serverfault.com/a/542452/363611和该答案下方的评论
Sergiy Kolodyazhnyy

4

我不确定最大文件名长度可以是多少(对于ext4),但是它比Linux本身更依赖于文件系统。在FAT32上,我认为它是255个字符。您可能实际上并不需要那么长时间的文件名。

对于允许的字符,除NULL字节(和/,这是目录分隔符1)之外,ext4文件系统上允许使用任何字节值。但是,您应该将文件名限制为UTF-8字符集,以实现跨应用程序和设备的最大兼容性。

1.glibc手册中所述,“文件名字符串中允许使用除空字符之外的任何其他字符”,但/文件名字符串中的a将一个文件或文件夹的名称与其父文件名分开。


我会说a,AZ和数字的限制。要求添加非字母数字查找URL解析错误
RobotHumans 2012年

@ aking1012我希望使用“。” 不建议使用“ @”。
Gaurav Agarwal

'。' 当然可以。我还没有看到@毛茸茸的,但我想在某些情况下可以。解析器用作分隔符且不能正确转义的东西更多是我指的是-示例:空格,/,“,”等
RobotHumans 2012年

1
周期.在系统本身中被广泛使用,因此这不是问题。该@也应该没事,我看到电子邮件服务器(例如exim),每包含帐户一个目录@,并无论如何也不会有问题。
Marios Zindilis 2012年

1
使用@可以。2条评论:如果您使用特殊的东西,您总是可以逃脱字符。还要意识到有时会将char用作分隔符:例如ssh使用它来分隔用户和系统:例如:这user@system:/dir/dir@dir/可能很困难,并且无法理解。
Rinzwind
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.