Ekstensi file case sensitif pada Windows dan Linux


10

Di linux Anda dapat memiliki file example.JPGdan example.jpgdirektori yang sama.

Di Windows Anda memiliki ekstensi case sensitif, tetapi Anda tidak bisa meletakkan kedua file ini di direktori yang sama. Kenapa tidak?


1
kemungkinan rangkap dua Apakah semua versi dari case Windows tidak peka? (mungkin ada pertanyaan yang lebih baik dari itu)
Cole Johnson

FAT memegang ekstensi terpisah dari nama dasar, dan OS menambahkan .untuk input dan keperluan tampilan. (Saya percaya aman untuk mengatakan bahwa praktis tidak ada yang menggunakan FAT untuk apa pun kecuali interoperabilitas akhir-akhir ini.) Saya tidak tahu persis bagaimana NTFS melakukannya, tapi saya kira itu mirip dengan setiap sistem file Linux utama, yang hanya memperlakukan nama file sebagai serangkaian karakter. Tidak ada yang istimewa di sana tentang ekstensi file: itu hanya dengan konvensi, dan diperlakukan oleh sistem file sebagai bagian dari nama file.
CVn

Cari ObCaseInsensitivedan superuser.com/q/266110/59271
user541686

@ kegembiraan bukankah itu hanya kasus tomayto, tomahto?
wvdz

Jawaban:


32

Di Windows Anda memiliki ekstensi case sensitif, tetapi Anda tidak bisa meletakkan kedua file ini di direktori yang sama. Kenapa tidak?

Jika drive diformat sebagai NTFS Anda dapat memiliki keduanya example.JPGdan example.jpg.

Namun, jika Anda mencoba untuk membuka salah satu file ini di aplikasi Win32 , seperti Notepad, Anda hanya akan memiliki akses ke salah satu file , terlepas dari kasus nama file yang Anda ketik di kotak dialog Open File.


Nama file adalah Huruf Besar-Kecil pada Volume NTFS

Sebagai bagian dari persyaratan untuk kepatuhan POSIX, Sistem File Windows NT (NTFS) menyediakan konvensi penamaan file dan direktori case-sensitive. Meskipun NTFS dan subsistem POSIX masing-masing menangani sensitivitas huruf dengan baik, 16-bit berbasis Windows, berbasis MS-DOS, berbasis OS / 2, dan aplikasi berbasis Win32 tidak .

Di NTFS, Anda dapat membuat nama file unik, disimpan di direktori yang sama, yang hanya berbeda dalam kasus. Sebagai contoh, nama file berikut dapat hidup berdampingan dalam satu direktori pada volume NTFS:

CASE.TXT
case.txt
case.TXT

Namun, jika Anda mencoba untuk membuka salah satu file ini di aplikasi Win32 , seperti Notepad, Anda hanya akan memiliki akses ke salah satu file , terlepas dari kasus nama file yang Anda ketik di kotak dialog Open File.

...

NTFS mendukung dua mode operasi yang sedikit berbeda yang dapat dipilih oleh subsistem aplikasi yang berinteraksi dengan NTFS. Yang pertama sepenuhnya case-sensitive dan menuntut agar nama file yang disediakan oleh aplikasi sesuai dengan nama yang disimpan pada disk termasuk case jika file pada disk harus dipilih. Mode operasi kedua adalah mempertahankan case tetapi tidak case sensitive. Ini berarti bahwa aplikasi dapat memilih file pada disk bahkan jika nama yang diberikan berbeda dalam kasus dari nama yang disimpan pada disk. Perhatikan bahwa kedua mode menyimpan case yang digunakan untuk membuat file. Perbedaan perilaku yang dicatat di sini hanya berlaku ketika aplikasi perlu menemukan file yang ada. POSIX mengambil keuntungan dari mode sensitif penuh, sedangkan MS-DOS, WOW, danSubsistem Win32 menggunakan mode case sensitif .

Nama File Sumber adalah Huruf Besar-Kecil pada Volume NTFS :


Dalam praktiknya, saya tidak dapat mencapai ini

Untuk mendapatkan dua file dalam direktori yang sama hanya berbeda jika Anda perlu mengaktifkan subsistem Posix .

POSIX mengambil keuntungan dari mode sensitif case penuh, sementara subsistem MS-DOS, WOW, dan Win32 menggunakan mode case sensitif.

Untuk mengaktifkan Posix, lihat:


Ini berita baru buat saya. Saya harus mengundurkan diri untuk sementara waktu karena meskipun Anda memiliki kutipan, pada praktiknya, saya tidak dapat mencapai ini . Maukah Anda memberikan instruksi tentang bagaimana hal ini dapat dicapai dalam praktik?
MDMoore313

7
@BigHomie Itu adalah shell Windows, yang mencegah Anda. NTFS dapat menyimpan a.JPG dan a.jpg di direktori yang sama. Jika Anda mengaktifkan Unix Subsystem (usang), nama file juga akan peka terhadap huruf besar di Windows Explorer Shell. technet.microsoft.com/en-us/library/cc771470.aspx
Furkan Omay

1
@FurkanOmay saya melihat, subsistem unix tua yang baik, terima kasih untuk itu.
MDMoore313

1
@FurkanOmay Saya tahu apa yang Anda maksud;)
MDMoore313

@BigHomie Jawaban diperbarui untuk menjelaskan cara mengaktifkan
posix

6

NTFS adalah Huruf Besar-Kecil (& tergantung pada bagaimana Anda melihat kaca, itu mungkin hal yang baik atau buruk). Pada kenyataannya, mencapai Insensitivitas Kasus merupakan tantangan di awal-awal karena Anda TIDAK harus membedakan antara nilai ASCII untuk az & AZ.

Tidak ada cara untuk membuat Windows (OS) case sensitif meskipun NTFS (File System) yang digunakan oleh OS Windows hari ini dapat mendukung untuk mematuhi POSIX.

Menurut Microsoft, Anda dapat memiliki example.JPG dan example.jpg di direktori yang sama pada NTFS ( klik di sini ), tetapi OS (Semua Versi Windows) tidak mendukungnya yang membuat Sistem File tidak ada gunanya :)

Sebagai bagian dari persyaratan untuk kepatuhan POSIX, Sistem File Windows NT (NTFS) menyediakan konvensi penamaan file dan direktori case-sensitive . Meskipun NTFS dan subsistem POSIX masing-masing menangani sensitivitas huruf dengan baik, 16-bit berbasis Windows, berbasis MS-DOS, berbasis OS / 2, dan aplikasi berbasis Win32 tidak.


1
Ketidakpekaan case tidak terlalu sulit, terutama dalam pengkodean seperti ASCII. DOS melakukannya, CP / M melakukannya. Ketidaksensitifan kasus bersama dengan pengawetan kasus adalah kacang yang lebih sulit untuk dipecahkan. Tentu saja tidak sulit untuk dilakukan, tetapi lebih sulit untuk dilakukan secara konsisten ketika Anda mungkin beruntung memiliki 16-32 KB RAM untuk dimainkan dan yang perlu memegang aplikasi melakukan hal-hal yang benar-benar berguna juga.
CVn
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.