ntfs-3gを使用してWindowsファイルシステムの大文字と小文字の意味をエミュレートできますか?

ntfs-3gを使用してWindowsファイルシステムの大文字と小文字の意味をエミュレートできますか?

Windowsシステム上のNTFSの場合、「ABC」ディレクトリを作成してから「abc」ディレクトリを作成しようとすると、Windowsは両方のディレクトリが同じ名前を持っていると思うので拒否されます。

Linuxでは、標準のntfs-3gファイルシステムではこれは発生しません(NTFSはデフォルトで両方を許可しますが、Windowsは許可しません)。

私はこれで-t lowntfs-3g -o ignore_caseエラーが発生したことを発見しましたが、すべてを小文字に強制してそのようにしました。 mkdir ABC明らかになるabc

Windowsのアプローチに従うLinuxでNTFSを使用する方法はありますか?表示目的で大文字と小文字を保持しますが、作業中に大文字と小文字を区別しませんか?

ベストアンサー1

Windowsのアプローチに従うLinuxでNTFSを使用する方法はありますか?表示目的で大文字と小文字を保持しますが、作業中に大文字と小文字を区別しませんか?

表示目的システムに不明な場合は、ファイルシステムからディレクトリエントリを読み込みます。だから事件を守りながらも無視することは不可能です。同時に

openat()/fstat()これは、ファイルシステムの実装がls情報を読み取るか(たとえば経由で)読み取るのかわからないためですcat

-t lowntfs-3g -o ignore_caseたとえ展示する小文字の場合、元の大文字と小文字が保持されます。 2つのインストールセッションでこれを確認できます。

ファイルシステムの作成:

# dd if=/dev/zero of=/tmp/ntfs bs=1M count=100
# mkfs.ntfs -F /tmp/ntfs

これでignore_case(および小文字)を使用すると、次のようになりますAbC

# mount.lowntfs-3g -o ignore_case /tmp/ntfs /mnt
# mkdir /mnt/AbC
# ls /mnt
abc
# umount /mnt

次に、大文字と小文字を変換せずに同じファイルシステムを削除して再インストールします。

# mount.ntfs  /tmp/ntfs /mnt
# ls /mnt
AbC
# umount /mnt

しかし、達成したいことは可能です。私はビューのntfs-3g現在の実装ではありません。これを行うには、カスタムまたはファイルエクスプローラを使用できますls(最終的にWindowsで実行されます)。たとえば、プリロードreaddir()も機能できるようです。

おすすめ記事