ファイル名の大文字小文字について、ファイルシステムの扱いがおおよそ3パタンあります:
1. 違いが認識・保存されるが、厳格ではない (case preserved && case insensitive)
例: NTFS, HFS (デフォルト), APFS (デフォルト)
- ファイル名
aで保存すると、aとして保存される - ファイル
aとAが同時に存在できない - ファイル名
aで、ファイルAをアクセスできる
2. 違いが認識・保存される、かつ厳格 (case preserved && case sensitive)
例: HFS (オプショナル), APFS (オプショナル), ext, XFS, btrfs, zfs (デフォルト) // (Linuxのほぼ全部ファイルシステム)
- ファイル名
aで保存すると、aとして保存される。 - ファイル
aとAが同時に存在できる - ファイル名
aで、ファイルAをアクセスできない
3. 違いが認識・保存されない (case not preserved)
例: FAT
- ファイル名
aで保存すると、大文字化されAとして保存される - ファイルシステム上
aがあり得ないため、"同時に存在する"問題自体がない - ↑の同原因で、ファイル名
aで、ファイルAをアクセスできる