Às vezes, faz sentido prático que o nome de uma pasta contenha um ponto (.). Por exemplo, você está armazenando dados para uma experiência realizada em L = 0,5. Portanto, a pasta pode ser nomeada:
experiment_L0.5
Um problema semelhante pode surgir para nomes de arquivos. Por exemplo:
file_L0.5.txt
Trabalhar no Ubuntu, isso é uma prática ruim? Que tal se você compartilhar esses diretórios com um usuário do Windows?
Obrigado!
Respostas:
Tanto quanto sei, não há problemas em nomear pastas e arquivos com um ou vários pontos.
O Ubuntu geralmente não usa o ponto e três caracteres (como .txt) para identificar o tipo de arquivo. Portanto, isso não tem significado especial no contexto do Ubuntu. Isso é útil ao compartilhar arquivos com o Windows. O Ubuntu usa o Magic Numbers nos primeiros bytes do arquivo para identificar o tipo de arquivo. No entanto, Nautilus. ignora os números mágicos se a extensão de ponto e três caracteres estiver disponível para identificar o tipo de arquivo. Esta configuração pode ser alterada. Consulte Forçar nautilus a ignorar extensões
No Ubuntu, iniciar um nome de arquivo ou pasta com um ponto, como
.experiment_L0.5
, oculta o arquivo ou a pasta. Você pode alternar a exibição de arquivos ocultos pressionando Ctrl+ Hno Nautilus. No Windows, um nome de arquivo começando com a. não está oculto. Portanto, se você transferir um arquivo oculto nomeado.experiment_L0.5
para um sistema Windows, ele estará claramente visível.No Ubuntu, um nome de arquivo pode terminar com um ponto, pois não possui um significado especial no final. No entanto, no Windows, um ponto separa o nome e a extensão do arquivo, e um nome de arquivo que termina com um ponto, mas nenhuma extensão não é permitida. Quando tentei criar esse arquivo no Windows, obtive um arquivo com apenas o nome, sem ponto, sem extensão.
Referência: Wiki em nomes de arquivos
Espero que isto ajude.
fonte
:
caractere de dois pontos , ilegal nos nomes de arquivos do Windows, o que criará problemas ( e isso ocorre ). Veja também aqui .fname.
) também não é permitido no Windows.test.
no Windows. Vou atualizar minha resposta.A resposta curta
<>:"/\|?*
( origem )e ponto
.
( origem )grep
). Um ponto inicial torna um arquivo oculto por convenção no Linux. No Windows, os pontos são usados na extensão do arquivo, que é usada para a detecção do tipo de arquivo.CON
,PRN
,AUX
,CLOCK$
,NUL
COM1
,COM2
,COM3
,COM4
,COM5
,COM6
,COM7
,COM8
,COM9
LPT1
,LPT2
,LPT3
,LPT4
,LPT5
,LPT6
,LPT7
,LPT8
, eLPT9
. ( fonte )/
nulos (o byte nulo\0
).A resposta longa
Formação técnica: Sistema de Arquivos
O Ubuntu faz uso do
ext4
sistema de arquivos. Um sistema de arquivos rastreia onde os arquivos são armazenados no armazenamento subjacente (disco ou SSD ou o que for), as permissões na forma de proprietário / grupo / outro podem ler / gravar / executar, registros de data e hora, nome.O sistema de arquivos estrutura o armazenamento disponível. O primeiro bloco é chamado de "superbloco". Este bloco é usado para montar um sistema de arquivos. Até onde eu sei, todo sistema de arquivos moderno divide seu espaço em blocos. Eu acho (e não tenho muita certeza disso) que a maioria dos sistemas de arquivos também possui um tamanho fixo de bloco, embora o tamanho do bloco possa ser configurado quando o sistema de arquivos for criado. ext4 (e também ext2 e ext3) usam os chamados "inodes" para arquivos e diretórios. Esses inodes contêm ponteiros para outros blocos (que também podem ser inodes ou "blocos de dados"). E o "primeiro" inode de um arquivo contém todas as informações que eu mencionei acima.
Uma outra informação é o "tipo" do arquivo. "Tipo" pode ser:
De fato, você também pode abrir diretórios com um editor:
Como o diretório não contém o caminho completo, mas apenas os nomes do conteúdo, não vejo uma razão pela qual os arquivos não podem conter a
/
. Eu acho que pode ser conveniente. (Alguém sabe por que/
não é permitido?)No entanto, as coisas são diferentes para outros sistemas de arquivos. O FAT16 e o FAT32 usavam a chamada "tabela de alocação de arquivos". Isso significa que há uma tabela que contém todos os arquivos armazenados no seu arquivo, em que "cluster" eles iniciam e em qual cluster eles terminam como uma lista vinculada individualmente.
O importante que eu queria lhe dizer é que caracteres não permitidos também podem depender do sistema de arquivos.
Formação técnica: Tipos de arquivo
.txt
ou.html
(ambos são arquivos de texto).Relacionado
fonte
.txt
e.html
arquivos realmente têm diferentes "valores mágicas" - tente renomear um arquivo html paratest.txt
funcionarfile test.txt
. Ele não tem muita relevância para a pergunta original, mas ainda :)file
:file
não usa apenas valores mágicos para determinar o tipo de um arquivo. Todo arquivo HTML válido é um arquivo de texto (no sentido em que contém caracteres legíveis), mas nem todo arquivo de texto válido é um arquivo HTML válido (no sentido em que é validado com os validadores do W3C). Muitos tipos de arquivos (html, xml, csv, js, php, c, h, cpp, ...) são de fato arquivos de texto. Somente arquivos binários têm bytes mágicos que estão em posições bem definidas. Todos os arquivos que eu nomeei acima podem ter um espaço em branco arbitrário antes do conteúdo.Por uma questão de completude, os nomes que consistem apenas em um
.
ou dois pontos..
são especiais:.
refere-se ao diretório atual..
refere-se ao diretório paiEssas entradas são adicionadas automaticamente e sempre existem, portanto, você não pode ter um arquivo chamado
.
or..
.fonte
Isso não importa, nem no linux nem no windows.
É uma prática comum ter uma pasta chamada "program.d" - para salvar a configuração e outras coisas de um programa (consulte o diretório / etc)
fonte
A nomeação de arquivos é muito flexível nos sistemas de arquivos Unix, Linux. O único nome de arquivo que você não pode ter é um caractere nulo ou aquele que contém um
/
em seu nome. Mas certamente seria uma boa prática evitar usar os caracteres que são proibidos / reservados em outros sistemas do ponto de vista da portabilidade de nomes; como você não deve usar nenhum dos" * : < > ? \ / |
caracteres (restrito pelo NTFS) no nome do arquivo, se quiser acessar o arquivo em um sistema Windows.E sobre o uso de um
.
(ponto final) no nome do arquivo , acho que deve ser bom, pois não parece ser um caractere "reservado" em nenhum dos sistemas (exceto OpenVMS, MS-DOS e Windows, onde seu uso em O nome do arquivo / diretório é permitido, mas a última ocorrência será interpretada como o separador de extensões no VMS, MS-DOS e Windows), conforme mencionado no link da Wikipedia a seguir:Em outros sistemas, geralmente considerados como parte do nome do arquivo, e mais de um período pode ser permitido. No Unix, um período inicial significa que o arquivo ou pasta está normalmente oculto.
fonte