Não permitindo espaço em branco na nomenclatura do sistema de arquivos

0

As versões mais recentes da maioria das distribuições Linux permitem espaço em branco na nomeação de arquivos e diretórios. Eu queria saber se há uma maneira de desabilitar isso e voltar para o antigo padrão UNIX sem espaços na nomenclatura do sistema de arquivos e exemplos de como isso é feito em algumas distros comuns, como Ubuntu , RHEL , Fedora etc.

    
por amphibient 26.09.2014 / 17:51

2 respostas

1

Isso não é possível. Por favor, explique também o que você quer dizer com "Versões mais recentes da maioria das distribuições Linux": até onde eu sei, os espaços são suportados desde a primeira versão do sistema de arquivos UNIX System V feita em 1974.

    
por 26.09.2014 / 18:59
1

O Linux sempre permitiu qualquer byte diferente de / e null em nomes de arquivos, como a maioria das outras variantes do Unix (incluindo o original).

Para mudar isso, você precisaria modificar o código do sistema de arquivos no kernel. Não tenho conhecimento de nenhum patch existente para fazer isso. Não há nem mesmo um código de erro padrão para tentativas de criar um nome de arquivo que não seja suportado, apenas ENAMETOOLONG, que é especificamente para casos em que o tamanho do nome do arquivo ou caminho é muito grande. O EINVAL seria uma escolha razoável; é o que o driver FAT do Linux usa, entre outros.

O POSIX define um conjunto de caracteres de nome de arquivo portátil que consiste em letras, dígitos e caracteres ASCII os três caracteres de pontuação .-_ . No entanto, muitos aplicativos unix esperam que outros caracteres funcionem: vários programas têm um nome contendo + (ex. c++ ), X11 e Perl querem : , CVS quer , , Emacs quer # , Gnome quer % (para gconf), muitos programas querem ~ para arquivos de backup, alguns programas querem % para codificação de URL, alguns programas querem = e + para Base64, etc.

    
por 27.09.2014 / 05:34