Alguém que eu conheço expressou irritação hoje em relação àqueles que tendem a não usar espaços em nossos nomes de arquivos, por exemplo NamingThingsLikeThis.txt
- apesar da maioria dos sistemas operacionais modernos que suportam espaços em nomes de arquivos.
Existem razões técnicas para que ainda seja comum ver nomes de arquivos sem espaços (apropriados)? Em caso afirmativo, quais são esses motivos técnicos para evitar ou desencorajar espaços nos nomes de arquivos e em que circunstâncias eles são relevantes?
O motivo mais óbvio em que pude pensar e o motivo pelo qual geralmente o evito são as cotações extras necessárias na linha de comando ao lidar com esses arquivos. Existem outras razões técnicas significativas?
operating-systems
file-management
filenames
Chris W. Rea
fonte
fonte
Respostas:
Caracteres de espaço em branco nos nomes de arquivos podem ser um problema real no proverbial em muitos contextos na linha de comando e em scripts, nos quais você deve ter cuidado para garantir que eles sejam escapados adequadamente, para que não pareçam separadores dos comandos que você é corrida.
É mais seguro não tê-los lá, mesmo se você tiver certeza de que o arquivo / dir / o que quer que seja, nunca será usado nesse contexto.
Isso e velhos hábitos são difíceis de morrer.
fonte
'\n'
) em seus nomes. (Sistemas Unix-like realmente permitir que este, o Windows geralmente, ou pelo menos faz com que seja difícil.)Além das outras respostas sobre linha de comando e hábitos antigos, também existem muitos protocolos de rede que requerem cuidados especiais ao lidar com nomes de arquivos contendo espaços.
(Se você já tentou baixar "Product List.pdf" de um site e acabou com um arquivo chamado "Product", foi mordido por isso, porque o programador do outro lado da linha não sabia ou não podia descubra as regras de citação para o cabeçalho http Content-Disposition.)
fonte
Muitas das razões são históricas. Isso não significa que eles não fazem sentido hoje.
Problemas de portabilidade
Ao nomear um arquivo, você também deve considerar como outros sistemas (arquivos) tratam esse nome. Um caractere em um nome de arquivo pode ser bom para o seu sistema, mas pode ser um problema para outro sistema.
Portanto, contanto que houvesse a menor possibilidade de você poder acessar o arquivo facilmente de um sistema antigo, você escolheria apenas caracteres seguros . Isso pode incluir a inicialização em um sistema de recuperação antigo que você mantinha por aí ou o medo de que as versões recentes do Windows ainda sejam baseadas no MS-DOS.
comprimento
Um sistema de arquivos pode limitar o tamanho que um arquivo pode ter. Isso foi ainda mais sério nos dias em que o MS-DOS estava limitado a nomes de arquivos 8.3 . Portanto, deixar de fora os espaços permitiu inserir caracteres mais significativos no nome.
Vários outros sistemas de arquivos também definiram limites estritos no tamanho do nome do arquivo. A Wikipedia possui uma tabela no artigo sobre comparação de sistemas de arquivos para aqueles que desejam os detalhes.
Caracteres reservados
O MS-DOS também definiu o caractere de espaço como um caractere reservado. Isso se deve ao fato de que o caractere de espaço foi usado para preenchimento no FAT . Além disso, o MS-DOS não forneceu um sistema de escape no shell.
Interpretação da linha de comando
A maioria das linhas de comando que conheço usa o caractere de espaço como um delimitador de parâmetro . Ao negligenciar o escape adequado de um nome de arquivo, isso pode ter consequências terríveis, pois partes do nome do arquivo podem ser interpretadas como parâmetros para o aplicativo que você deseja chamar.
Considere a diferença entre
e
O artigo da WikiPedia vinculado acima ainda aponta a ambiguidade introduzida pela falta para escapar adequadamente de um comando:
Localizadores uniformes de recursos (URL)
Ao tentar descrever o local de um arquivo, usando uma URL, os espaços precisam ser escapados.
Fonte: RFC1738
Assim, um espaço deve ser substituído por um
%20
. Isso torna o nome do arquivo parte da URL menos legível e, portanto, faz com que as pessoas o evitem em primeiro lugar.fonte
Os espaços são codificados ou convertidos
%20
em nomes de arquivos na Web, o que pode dificultar o gerenciamento dos ativos de um site.Tendo
Image 1.png
eImage%201.png
é confuso. É mais fácil de usarImage001.png
.Isso realmente se enquadra na mesma categoria que seqüências de escape para a linha de comando.
fonte
Às vezes, os espaços podem apresentar um problema ao lidar com a linha de comando, ou ao usar sistemas operacionais mais antigos, ou ao escrever programas que serão compilados em sistemas operacionais diferentes, ou quando ... existem muitas razões que podem apresentar problemas, e eu não ' realmente sinto que é um problema escrever o arquivo como: file-without-blanks.txt ou file_without_blanks.txt . Prefiro o dask porque o sublinhado às vezes pode se tornar invisível ao lidar com, por exemplo, fonte sublinhada.
Mas, principalmente, é uma questão de hábito desde a velhice. O que acho que não há razões profissionais suficientes para abandonar.
Uma nota adicional, possivelmente não relacionada, mas mesmo assim eu a colocarei aqui. As pessoas que nomeiam seus arquivos com espaços geralmente não pensam muito nisso; aqueles que nem sempre sabem um pouco do porquê é bom evitá-los nos nomes de arquivos.
E, todos podemos concordar, não há nada pior do que um arquivo com o nome "Prezado senhor ou senhora, estou escrevendo esta carta para informá-lo de yo.doc".
Não apenas espaços - o tamanho do arquivo também conta para algo, e IMHO, não deve ser maior que, digamos, 30 caracteres. Para nomes de arquivos longos, com espaços internos também são uma bênção ao gravar CD, DVD e outros que precisam ser lidos em sistemas operacionais mais antigos e entre as plataformas Win e * nix.
fonte