Como @ sergiy-kolodyazhnyy disse, o tamanho máximo do nome do arquivo dependerá do sistema de arquivos e a grande maioria limita o tamanho do arquivo a 255 bytes.
Uma omissão notável de seu gráfico é a mídia ótica. Embora as extensões UDF e Rock Ridge tenham o mesmo limite de 255 caracteres para nomes de arquivos, a ISO9660 sem Rock Ridge e Joliet possuem limites muito mais rígidos com os quais você pode se deparar se estiver fazendo algo como fazer backup de youtube-dl
downloads.
Os nomes de arquivos Joliet são limitados a 64 pontos de código UTF-16 ou 103 deles, se o programa de masterização de discos tiver a opção de interromper as especificações de maneiras que, aparentemente, não causem danos na prática.
Da mesma forma, os níveis 2 e 3 da ISO 9660, sem as extensões Rock Ridge, são limitados a nomes de arquivos com 31 ou 37 caracteres, se você estiver jogando rápido e livre com as especificações.
A ISO 9660: 1999, que é suportada pela imagem genérica, mas não por front-ends como o K3b, tem um limite de 207 bytes (sem Rock Ridge) ou 197 bytes (com Rock Ridge).
(Fonte: A página de genisoimage
manual)
Quanto ao tamanho máximo do caminho , esse é um grande equívoco. Não existe um para a maioria dos sistemas de arquivos Linux.
Há uma constante chamada PATH_MAX
, mas é apenas o máximo para certas APIs POSIX , que você pode trabalhar em torno .
As únicas exceções consequentes a esta convenção "sem limite no comprimento do caminho" são FAT32 e exFAT (32.760 caracteres Unicode), NTFS e ReFS (32.767 caracteres Unicode), UDF (1.023 bytes) e ISO 9660 (claro, mas já vi indicado como 180, 207, 212 ou 222 bytes).
Isso pode ser facilmente demonstrado executando este pequeno programa Python e depois explorando os diretórios resultantes.
import os
for X in range(20):
os.mkdir('x' * 255)
os.chdir('x' * 255)
Meu bash
, que exibe todo o caminho no prompt, terá problemas com ele. No entanto zsh
, meu , que exibe apenas a pasta atual no prompt, não terá problemas e ainda possui um pwd
built-in que pode exibir todo o caminho de 5000 + bytes sem problemas.