Case Sensitivity

4

A diferenciação de maiúsculas e minúsculas é um padrão específico do sistema operacional ou é baseada no sistema de arquivos?

Eu sei que no Windows você não pode ter dois arquivos com o mesmo nome, mas no Linux você pode se o caso em um personagem é diferente.

    
por Jason 17.10.2013 / 19:14

3 respostas

3

Na verdade, pode ser ambos.

No Windows, o sistema de arquivos principal (NTFS) na verdade suporta a diferenciação de maiúsculas e minúsculas. Mas o shell (explorador) não permite isso.

Você ainda pode interagir com o sistema de arquivos de acordo com as regras POSIX (onde o acesso diferencia maiúsculas de minúsculas) passando o bandeirinha apropriada ao chamar CreateFile . Embora isso seja desencorajado e provavelmente não deve ser feito em um sistema baseado no Windows.

De Nomeando arquivos, caminhos e namespaces :

Do not assume case sensitivity. For example, consider the names OSCAR, Oscar, and oscar to be the same, even though some file systems (such as a POSIX-compliant file system) may consider them as different. Note that NTFS supports POSIX semantics for case sensitivity but this is not the default behavior.

    
por 17.10.2013 / 19:40
1

Parece que a Wikipedia tem algumas informações sólidas que podem ajudar a responder sua pergunta:

In Unix filesystems, filenames are usually case-sensitive. Old Windows filesystems (VFAT, FAT32) are not case-sensitive (there cannot be a readme.txt and a Readme.txt in the same directory) but are case-preserving, i.e. remembering the case of the letters. The original FAT12 filesystem was case-insensitive. Current Windows file systems, like NTFS, are case-sensitive; that is a readme.txt and a Readme.txt can exist in the same directory. Windows disallows the user to create a second file differing only in case due to compatibility issues with older software not designed for such operation

Fonte: Wikipedia

O motivo pelo qual o Windows diferencia maiúsculas de minúsculas também pode ser respondido pelo artigo de suporte :

As part of the requirements for POSIX compliance, the Windows NT File System (NTFS) provides a case-sensitive file and directory naming convention. Even though NTFS and the POSIX subsystem each handle case-sensitivity well, 16-bit Windows-based, MS-DOS-based, OS/2-based, and Win32-based applications do not.

A Wikipedia cobre essa conformidade aqui: POSIX . Embora o Windows não esteja listado como totalmente compatível com POSIX.

    
por 17.10.2013 / 19:44
0

A diferenciação entre maiúsculas e minúsculas baseia-se no sistema de arquivos. No mundo do Windows, FAT, VFAT e FAT32 são insensíveis a maiúsculas e minúsculas, o que significa que foo.txt e Foo.txt não podem existir como arquivos separados no mesmo diretório. O NTFS faz distinção entre maiúsculas e minúsculas, assim como a maioria dos sistemas de arquivos modernos usados no mundo Linux / UNIX (EXT2 / 3/4 , ReiserFS, ZFS, etc.). Foo.txt podem coexistir com foo.txt , FOO.TXT e outros.

    
por 17.10.2013 / 19:42