ファイルシステム
case-sensitive

ファイルシステムと大文字小文字

ファイル名の大文字小文字について、ファイルシステムの扱いがおおよそ3パタンあります:

1. 違いが認識・保存されるが、厳格ではない (case preserved && case insensitive)

例: NTFS, HFS (デフォルト)

  • ファイル名 a で保存すると、 a として保存される
  • ファイル aA が同時に存在できない
  • ファイル名 a で、ファイル A をアクセスできる

2. 違いが認識・保存される、かつ厳格 (case preserved && case sensitive)

例: HFS (オプショナル), ext, XFS, btrfs, zfs (Linuxのほぼ全部ファイルシステム)

  • ファイル名 a で保存すると、 a として保存される。
  • ファイル aA が同時に存在できる
  • ファイル名 a で、ファイル A をアクセスできない

3. 違いが認識・保存されない (case not preserved)

例: FAT

  • ファイル名 a で保存すると、大文字化され A として保存される
  • ファイルシステム上 a があり得ないため、"同時に存在する"問題自体がない
  • ↑の同原因で、ファイル名 a で、ファイル A をアクセスできる