Come diceva @ sergiy-kolodyazhnyy, la lunghezza massima del nome file dipenderà dal file system e la stragrande maggioranza limita la lunghezza del nome file a 255 byte.
Una notevole omissione dal suo grafico sono i supporti ottici. Mentre le estensioni di UDF e Rock Ridge hanno lo stesso limite di 255 caratteri per i nomi dei file, ISO9660 senza Rock Ridge e Joliet hanno entrambi limiti molto più severi che potresti incontrare se stai facendo qualcosa di simile al backup dei youtube-dl
download.
I nomi dei file Joliet sono limitati a 64 codici UTF-16 o 103 se il tuo programma di masterizzazione del disco ha un'opzione per discostarsi dalle specifiche in modi che sembrano non causare alcun danno nella pratica.
Allo stesso modo, i livelli ISO 9660 2 e 3, senza le estensioni di Rock Ridge, sono limitati a nomi di file di 31 caratteri o 37 se stai giocando veloce e sciolto con le specifiche.
ISO 9660: 1999, che è supportato da genisoimage ma non da frontend come K3b, ha un limite di 207 byte (senza Rock Ridge) o 197 byte (con Rock Ridge).
(Fonte: la genisoimage
manpage)
Per quanto riguarda la lunghezza massima del percorso , questo è un grande malinteso. Non ce n'è uno per la maggior parte dei filesystem Linux.
C'è una costante di nome PATH_MAX
, ma è solo il massimo per alcune API POSIX , che è possibile lavorare intorno .
Le uniche eccezioni conseguenti a questa convenzione "nessun limite sulla lunghezza del percorso" sono FAT32 ed exFAT (32.760 caratteri Unicode), NTFS e ReFS (32.767 caratteri Unicode), UDF (1.023 byte) e ISO 9660 (poco chiari, ma ho visto indicava 180, 207, 212 o 222 byte).
Ciò può essere facilmente dimostrato eseguendo questo piccolo programma Python e quindi esplorando le directory risultanti.
import os
for X in range(20):
os.mkdir('x' * 255)
os.chdir('x' * 255)
My bash
, che mostra l'intero percorso nel prompt, avrà troublr con esso. Tuttavia zsh
, my , che visualizza solo la cartella corrente nel prompt, non avrà problemi e ha anche un pwd
built-in in grado di visualizzare senza problemi l'intero percorso di oltre 5000 byte.