Tại sao trường hợp NTFS nhạy cảm?


24

Cá nhân tôi nghĩ rằng NTFS không phân biệt chữ hoa chữ thường, vì bạn có thể gõ cmd, CMD, cMd hoặc thậm chí CmD và vẫn nhận được dấu nhắc lệnh. Tuy nhiên, tại sao trong một CHKDSK x: /f /r, đôi khi nó sửa lỗi viết hoa trong một số tệp? Nếu nó không quan tâm đến vụ án, thì điều đó không quan trọng, và CHKDSK không nên kiểm tra xem đó thực sự là CMD hay cmd. Tôi có đúng không Trường hợp thực sự quan trọng trong hệ thống tập tin?


25
Lưu ý rằng "phân biệt chữ hoa chữ thường" và "bảo quản chữ hoa" là hai thứ riêng biệt. NTFS là trường hợp bảo tồn trường hợp nhưng không phân biệt chữ hoa chữ thường trong không gian tên Win32, nhưng có thể phân biệt chữ hoa chữ thường trong không gian tên POSIX.
grawity

Câu trả lời:


34

Độ nhạy trường hợp của một hệ thống tệp là một vấn đề riêng biệt với hệ điều hành. Các bản phát hành Windows mới nhất dựa trên nhân NT, kế thừa rất nhiều thuộc tính của Windows 95 không phải NT và thậm chí MS-DOS. Cùng với hạt nhân NT, hệ thống tệp, NTFS, được thiết kế để phân biệt chữ hoa chữ thường - tuân thủ POSIX .

Mặc dù hệ thống con Win32 không hỗ trợ tên tệp chỉ khác nhau theo độ nhạy trường hợp, nhưng có thể tạo các tệp đó bằng các cuộc gọi hệ thống cấp thấp hơn.


1
Tôi không biết một cách dễ dàng để tạo các tệp như vậy trong Windows. Tuy nhiên, việc gọi API CreatFile () bằng bit FILE_FLAG_POSIX_SEMANTICS sẽ thực hiện công việc theo chương trình.
Frank

2
@Luke: Win32 không hỗ trợ các tệp phân biệt chữ hoa chữ thường. YOu sẽ phải thực hiện các cuộc gọi API vào hệ thống con OS. osronline.com/article.cfm?id=91
Surfasb

2
@Luke: Một cách dễ dàng là gắn ổ đĩa NTFS từ hệ thống Linux và tạo các tệp bạn muốn ở đó :)
Hippo

1
Chỉ cần đảm bảo rằng bạn có phiên bản Windows NT phù hợp và cài đặt Hệ thống con cho các tiện ích Ứng dụng dựa trên UNIX, mọi người.
JdeBP

1
@Luke: Như thường lệ, Wikipedia đến giải cứu. :-)
afrazier

7

Nó thực sự không phải là NTFS mà bạn đang tìm hiểu.

NTFS là hệ thống tập tin. Câu hỏi của bạn thực sự là về độ nhạy trường hợp của shell lệnh Windows. Chúng hoàn toàn khác nhau. Windows Explorer là một vỏ lệnh đồ họa. Bằng cách nhập cmd(ví dụ: trong Start | Run), bạn đang nói với shell lệnh Windows để thực thi lệnh cmd(bản thân nó thực sự là một shell lệnh khác, nhưng dựa trên dòng lệnh thay vì đồ họa).

Tương tự, CHKDSK không thực hiện bất kỳ loại kiểm tra nào về việc bạn đã sử dụng CMD hay cmd. Tất cả CHKDSK biết là các tham số bạn truyền cho nó, trong trường hợp này là x:, / f và / r.

Đối với CHKDSK "sửa lỗi viết hoa", tôi không thực sự chắc chắn ý của bạn là gì ở đó.


4
NTFS là trường hợp nhạy cảm. Theo bài viết MS KB 100625: Trong NTFS, bạn có thể tạo tên tệp duy nhất, được lưu trữ trong cùng một thư mục, chỉ khác nhau trong trường hợp. Ví dụ: các tên tệp sau có thể cùng tồn tại trong một thư mục trên ổ đĩa NTFS: CASE.TXT case.txt case.TXT Tuy nhiên, nếu bạn cố mở một trong các tệp này trong ứng dụng Win32, chẳng hạn như Notepad, bạn sẽ chỉ có quyền truy cập đến một trong các tệp, bất kể trường hợp tên tệp bạn nhập trong hộp thoại Mở tệp.
Frank

Đó là sự thật, cảm ơn bạn đã làm rõ điều đó. Tôi đã rút ra câu trả lời đó vì nó không thực sự là câu hỏi gì ở đây.
squillman

> Tuy nhiên, nếu bạn cố mở một trong các tệp này trong ứng dụng Win32, chẳng hạn như Notepad, bạn sẽ chỉ có quyền truy cập vào một trong các tệp, bất kể trường hợp tên tệp bạn nhập trong hộp thoại Mở tệp nào?
Synetech

4
@Synetech: Cái đầu tiên, có lẽ? Phụ thuộc vào thứ tự tập tin trong thư mục, và có thể là giai đoạn mặt trăng.
grawity

5

Tôi nghi ngờ người hỏi câu hỏi cho rằng chkdsk.exe là "sửa lỗi viết hoa trong một số tệp" thực sự được nhắc bởi thông báo từ CHKDSK xảy ra trong một số trường hợp:

sửa lỗi trong tập tin chữ hoa

Về cơ bản, kết quả này từ phiên bản Windows XP của chkdsk.exe chạy với ổ NTFS đã được định dạng trong phiên bản Windows mới hơn, như được mô tả trong thông báo Lỗi khi bạn chạy Chkdsk.exe trên Windows XP hoặc trên Windows Máy tính dựa trên máy chủ 2003: Khắc phục lỗi trong tệp chữ hoa . Kết quả cuối cùng là đây thực sự không phải là một lỗi và không liên quan gì đến độ nhạy trường hợp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.