Quanto tempo os nomes dos arquivos podem ter?

17

Por quanto tempo podem existir nomes de arquivos e pastas no Ubuntu Linux e quais caracteres são permitidos no nome do arquivo e na pasta no Ubuntu Linux?

Gaurav Agarwal
fonte

Respostas:

21

Os nomes de arquivo no Linux tinham 14 bytes na versão anterior do Unix. Mas o sistema Linux moderno possui 255 bytes para nomes de arquivos.

Como um caractere requer 1 byte, o comprimento se torna 255 caracteres. Além disso, as pastas são tratadas como arquivos no sistema Linux

Veja este link para mais informações

Anwar
fonte
2
Os nomes dos arquivos são utf-8, portanto, comprimento variável: um byte para qualquer caractere ascii. 2 ou mais para qualquer outro personagem por exemplo £, ★, ≠, ☺, ¡, ¿, á, ..., etc
ctrl-alt-Delor
1
Se o nome do arquivo estiver na codificação UTF, a quantidade de caracteres diminuirá com o número mais alto de codificação UTF. Veja serverfault.com/a/542452/363611 e o comentário abaixo que responde
Sergiy Kolodyazhnyy 2/16/16 /
4

Não sei ao certo qual pode ser o tamanho máximo do nome do arquivo (para ext4), mas é mais dependente do sistema de arquivos do que o próprio Linux. No FAT32, acho que são 255 caracteres. Você provavelmente nunca realmente precisa de um nome de arquivo por tanto tempo.

Quanto aos caracteres permitidos, qualquer valor de byte é permitido no sistema de arquivos ext4, exceto o byte NULL (e /, como esse é o separador de diretório 1 ). No entanto, você deve limitar os nomes dos arquivos ao conjunto de caracteres UTF-8, para obter a maior variedade de compatibilidade entre aplicativos e dispositivos.

1. Conforme declarado no manual glibc , "qualquer caractere, exceto o nulo, é permitido em uma sequência de nomes de arquivos", mas um /na sequência de nomes de arquivos separa o nome de um arquivo ou pasta do nome de seu pai.

dobey
fonte
Eu diria limite para az, AZ e números. Adicionar números não alfanuméricos está implorando para encontrar erros de análise de URL
RobotHumans
@ aking1012 Desejo usar '.' e '@' não é aconselhável.
Gaurav Agarwal
'.' é claro que está bem. Eu não vi @ ir lanoso, mas acho que poderia em algum caso de canto. As coisas que os analisadores usam como delimitadores e não escapam adequadamente é mais do que eu estava me referindo - exemplos: espaço, /, ", ', etc
RobotHumans
1
O período .é amplamente utilizado no próprio sistema, portanto não é um problema. Também @deve estar bem, vejo servidores de email (por exemplo exim) com um diretório por conta que contém @e não tem nenhum problema.
Marios Zindilis
1
usando um @ está bom. 2 observações: se você usa algo especial, sempre pode escapar do char. Perceba também que, às vezes, um caractere é usado como um divisor: por exemplo, o ssh o usa para separar usuário e sistema: exemplo isto: user@system:/dir/dir@dir/pode ser duvidoso e não entendido).
Rinzwind