Extensions de fichiers sensibles à la casse sous Windows et Linux

10

Sous linux, vous pouvez avoir les fichiers example.JPGet example.jpgdans le même répertoire.

Sous Windows, vous avez des extensions sensibles à la casse, mais vous ne pouvez pas placer ces deux fichiers dans le même répertoire. Pourquoi pas?

wvdz
la source
1
doublon possible de Toutes les versions de Windows ne respectent-elles pas la casse? (il y a probablement une meilleure question que ça)
Cole Johnson
FAT a tenu l'extension distincte du nom de base, et le système d'exploitation a ajouté le .à des fins d'entrée et d'affichage. (Je pense qu'il est prudent de dire que pratiquement personne n'utilise FAT pour autre chose que l'interopérabilité de nos jours.) Je ne sais pas exactement comment NTFS le fait, mais je suppose qu'il est similaire à tous les principaux systèmes de fichiers Linux, qui traitent simplement le nom de fichier comme une chaîne de caractères. L'extension de fichier n'a rien de spécial: elle est simplement conventionnelle et est traitée par le système de fichiers comme faisant partie du nom de fichier.
un CVn le
Recherchez ObCaseInsensitiveet superuser.com/q/266110/59271
user541686
@grawity n'est-ce pas juste un cas de tomayto, tomahto?
wvdz

Réponses:

32

Sous Windows, vous avez des extensions sensibles à la casse, mais vous ne pouvez pas placer ces deux fichiers dans le même répertoire. Pourquoi pas?

Si un lecteur est formaté en NTFS, vous pouvez avoir les deux example.JPGet example.jpg.

Toutefois, si vous essayez d'ouvrir l'un de ces fichiers dans une application Win32 , telle que le Bloc-notes, vous n'auriez accès qu'à l'un des fichiers , quel que soit le cas du nom de fichier que vous tapez dans la boîte de dialogue Ouvrir un fichier.


Les noms de fichiers sont sensibles à la casse sur les volumes NTFS

Dans le cadre des exigences de conformité POSIX, le système de fichiers Windows NT (NTFS) fournit une convention de dénomination des fichiers et des répertoires respectant la casse. Même si NTFS et le sous-système POSIX gèrent chacun bien la casse, les applications Windows 16 bits, MS-DOS, OS / 2 et Win32 ne le font pas .

Dans NTFS, vous pouvez créer des noms de fichiers uniques, stockés dans le même répertoire, qui ne diffèrent qu'en cas. Par exemple, les noms de fichiers suivants peuvent coexister dans un répertoire sur un volume NTFS:

CASE.TXT
case.txt
case.TXT

Toutefois, si vous essayez d'ouvrir l'un de ces fichiers dans une application Win32 , telle que le Bloc-notes, vous n'auriez accès qu'à l'un des fichiers , quel que soit le cas du nom de fichier que vous tapez dans la boîte de dialogue Ouvrir un fichier.

...

NTFS prend en charge deux modes de fonctionnement légèrement différents qui peuvent être sélectionnés par le sous-système de l'application interagissant avec NTFS. Le premier est entièrement sensible à la casse et exige que les noms de fichiers fournis par l'application correspondent aux noms stockés sur le disque, y compris la casse si le fichier sur le disque doit être sélectionné. Le deuxième mode de fonctionnement est la préservation de la casse mais pas la casse. Cela signifie que les applications peuvent sélectionner des fichiers sur le disque même si le nom fourni diffère dans le cas du nom stocké sur le disque. Notez que les deux modes préservent la casse utilisée pour créer les fichiers. La différence de comportement notée ici s'applique uniquement lorsqu'une application doit localiser un fichier existant. POSIX tire parti du mode complet sensible à la casse, tandis que MS-DOS, WOW etLes sous-systèmes Win32 utilisent le mode insensible à la casse .

Les noms de fichiers source sont sensibles à la casse sur les volumes NTFS :


En pratique, je n'ai pas pu accomplir cela

Pour obtenir deux fichiers dans le même répertoire qui ne diffèrent que par les cas, vous devez activer le sous-système Posix .

POSIX tire parti du mode complet respectant la casse, tandis que les sous-systèmes MS-DOS, WOW et Win32 utilisent le mode insensible à la casse.

Pour activer Posix, voir:

DavidPostill
la source
Ce sont des nouvelles pour moi. J'ai cependant dû temporairement dévaloriser cela, car même si vous avez des citations, dans la pratique, je n'ai pas pu y arriver . Pourriez-vous donner des instructions sur la façon dont cela peut être accompli dans la pratique?
MDMoore313
7
@BigHomie C'est le shell Windows qui vous empêche. NTFS peut contenir a.JPG et a.jpg dans le même répertoire. Si vous activez le sous-système Unix (obsolète), les noms de fichiers seront également sensibles à la casse dans Windows Explorer Shell. technet.microsoft.com/en-us/library/cc771470.aspx
Furkan Omay
1
@FurkanOmay Je vois, bon vieux sous-système Unix, merci pour ça.
MDMoore313
1
@FurkanOmay Je savais ce que tu voulais dire;)
MDMoore313
@BigHomie Réponse mise à jour pour expliquer comment activer posix
DavidPostill
6

NTFS est sensible à la casse (et selon la façon dont vous voyez le verre, cela peut être une bonne ou une mauvaise chose). En réalité, atteindre l'insensibilité à la casse était un défi au début, car il ne fallait PAS faire de différence entre les valeurs ASCII pour az et AZ.

Il n'y a aucun moyen de rendre Windows (le système d'exploitation) sensible à la casse même si NTFS (le système de fichiers) utilisé par les systèmes d'exploitation Windows de nos jours peut prendre en charge afin de se conformer à POSIX.

Selon Microsoft, vous pourriez avoir example.JPG et example.jpg dans le même répertoire sur NTFS ( cliquez ici ), mais le système d'exploitation (toutes les versions de Windows) ne le prend pas en charge, ce qui rend le fait que le système de fichiers peut être inutile :)

Dans le cadre des exigences de conformité POSIX, le système de fichiers Windows NT (NTFS) fournit une convention de dénomination des fichiers et des répertoires respectant la casse . Même si NTFS et le sous-système POSIX gèrent bien tous les deux la casse, les applications Windows 16 bits, MS-DOS, OS / 2 et Win32 ne le font pas.

Dhiwakar Ravikumar
la source
1
L'insensibilité à la casse n'est pas si difficile, en particulier dans les encodages comme ASCII. DOS l'a fait, CP / M l'a fait. L'insensibilité à la casse et la préservation de la casse sont les noix les plus difficiles à casser. Certainement pas difficile à faire, mais plus difficile à faire de manière cohérente lorsque vous pourriez avoir la chance d'avoir 16 à 32 Ko de RAM pour jouer et qui doit contenir une application faisant des choses réellement utiles aussi.
un CVn le