É provavelmente devido a diferentes sistemas de arquivos usados. Por exemplo, o Ubuntu usa o ext4 por padrão, enquanto as unidades USB geralmente usam o FAT32 e o Windows usa o NTFS.
O ext4 tem alguns charcters não permitidos: NUL (
), /
.
e os nomes de arquivos especiais ..
e /
( Wikipedia ).
O motivo /
é não permitido é porque é usado para diretórios, e o ext4 provavelmente ficaria confuso entre um nome de pasta e um diretório totalmente diferente se myfo/lder
fosse permitido em nomes de pastas. Por exemplo, se você tivesse um diretório chamado myfo
, o ext4 poderia ver isso como um diretório chamado myfo
e dentro de lder
outro diretório chamado ?
. Espero que isso faça sentido.
O NTFS também possui caracteres não permitidos, como *
, |
, %code% e muito mais. A lista completa pode ser encontrada aqui .