Bạn đã bao giờ để ý rằng Windows sử dụng dấu gạch chéo ngược?

Bạn đã bao giờ để ý rằng có một sự khác nhau nho nhỏ như sau. Cùng là đường dẫn liên kết nhưng trong Windows là C:\Windows\ trong khi trên web là https://2-tek.org/ cũng như trên Linux, OS X và Android đều sử dụng dấu gạch chéo “/”. Windows sử dụng dấu gạch chéo ngược “\” cho các đường dẫn thư mục và tệp tin, trong khi gần như mọi nền tảng khác dường như chỉ sử dụng dấu gạch chéo xuôi /, tại sao lại như vậy?



Các phần mềm hiện đại hầu hết đều có chức năng tự động sửa khi bạn nhập sai dấu gạch chéo, do đó, không quan trọng bạn thường hay sử dụng loại dấu gạch chéo nào nhưng nhận biết được sự khác nhau giữa hai loại dấu gạch chéo này trong Windows đôi khi cũng rất cần thiết.

Tại sao Windows sử dụng dấu gạch chéo ngược?

Đó là một câu chuyện lịch sử: Trong nhiều thập kỉ trước, chính xác là vào khoảng năm 1970, Unix đã giới thiệu ký tự gạch chéo về phía trước đó là ký tự “/”. Ký tự này đóng vai trò như là dấu phân tách thư mục.

Thật khó để tưởng tượng nhưng phiên bản gốc của Microsoft DOS, đó là MS-DOS 1.0 không hỗ trợ thư mục nào cả khi nó được phát hành vào năm 1981. Hầu hết các tiện ích đi kèm với DOS đều được viết bởi IBM và họ đã sử dụng ký tự “/” này làm một dạng ký tự "chuyển đổi".

Bạn vẫn có thể thấy điều này còn tồn tại cho đến tận hôm nay trong command prompt. Khi bạn gõ dir /w tức là bạn đã yêu cầu lệnh dir chạy với tùy chọn định dạng danh sách rộng, trong khi gõ dir c:\ tức là yêu cầu cho lệnh dir liệt kê các nội dung trong ổ C:\. Các loại dấu gạch chéo khác nhau được dùng ở đây cho biết bạn đang chỉ định một tùy chọn hay đường dẫn thư mục. (Trên Unix, ký tự - được sử dụng thay cho ký tự “/” để chỉ ra các chuyển đổi).


Vào thời điểm đó, mọi người không thực sự quan tâm rằng họ đang sử dụng một ký tự mà ở một hệ điều hành khác nó lại được sử dụng với mục đích khác.


MS-DOS 2.0 đã giới thiệu tính năng hỗ trợ cho các thư mục, nhưng IBM cũng muốn giữ lại khả năng tương thích với các tiện ích DOS ban đầu cũng như các chương trình khác và theo dự kiến, ký tự “/” được sử dụng như một ký tự chuyển đổi. Microsoft đã sử dụng ký tự “/” làm ký tự chuyển đổi trên MS DOS, vì vậy họ không thể tái sử dụng nó. Vậy họ phải làm gì? Họ có thể đã sử dụng "." giống như các máy DEC, nhưng ký tự "." đã được sử dụng để phân biệt giữa tệp và tiện ích mở rộng. Vì vậy, họ đã chọn ký tự "\", khá giống như ký tự “/” và tương đối trực quan.



Windows ngày nay có thể không còn được xây dựng trên DOS nữa, nhưng bạn vẫn có thể thấy di sản của DOS vẫn còn tồn tại trên Windows theo cái cách mà dấu gạch chéo ngược "\" và các tính năng khác như ký tự ổ đĩa được sử dụng cho hệ thống tệp trên Windows.

Tại sao các nền tảng khác đều sử dụng dấu gạch chéo “/”

Các trình duyệt web tuân theo quy ước Unix và sử dụng ký tự / cho các địa chỉ trang web. Người dùng Windows thường nhìn thấy dấu gạch chéo chuyển tiếp / khi họ nhập địa chỉ web và dấu gạch chéo ngược \ khi họ nhập vị trí của thư mục cục bộ, do đó điều này có thể gây nhầm lẫn. Các trang web tuân thủ theo quy ước Unix, và các giao thức khác như FTP cũng vậy. Ngay cả khi bạn đang chạy máy chủ web hoặc máy chủ FTP trên máy Windows, chúng sẽ đều sử dụng dấu gạch chéo chuyển tiếp “/” vì đó là những gì mà giao thức yêu cầu.


Các hệ điều hành khác cũng sử dụng dấu gạch chéo chuyển tiếp cho cùng một lý do - đó là quy ước Unix. Linux là một hệ điều hành giống Unix, vì vậy chúng sử dụng cùng một kiểu dấu gạch chéo. Mac OS X là một nền tảng dựa trên BSD, trong khi BSD cũng là một hệ điều hành gần giống như Unix. Các hệ điều hành khác bổ biến hiện nay như Android, Chrome OS và Steam OS cũng được phát triển dựa trên Linux, vì vậy, cũng dễ hiểu khi chúng sử dụng cùng một loại dấu gạch chéo với nhau.

Vấn đề ở đây là gì?

Câu hỏi thú vị hơn là liệu sự khác biệt này có thực sự quan trọng. Các nhà phát triển trình duyệt và hệ điều hành dường như nhận ra rằng người dùng đang bối rối về cách sử dụng 2 loại ký tự này, vì vậy họ đã thiết kế ra một tính năng tự sửa lỗi ký tự “/” và “\”. Nếu bạn nhập https:\\2-tek.org\ vào Google Chrome, Mozilla Firefox hoặc Internet Explorer, trình duyệt sẽ tự động sửa nó thành https://2-tek.org/ và tải trang web bình thường. Nếu bạn nhập C:/Users/Public vào Windows Explorer và nhấn Enter, nó sẽ tự động được sửa thành C:\Users\Public và bạn sẽ được đưa đến đúng vị trí của thư mục cần tìm.


Còn các nhà phát triển DOS đã không hài lòng với điều này ngay cả trong những ngày đầu, vì vậy họ làm cho DOS chấp nhận cả hai loại ký tự “/” và “\” cho đường dẫn. Bạn vẫn có thể nhập các lệnh như cd C:/Windows/ vào Command Prompt và bạn sẽ được đưa đến chính xác thư mục cần tìm.

Tuy nhiên, tính năng hữu ích này không hoạt động ở mọi nơi trong Windows. Nếu bạn nhập đường dẫn như C:/Users/Public vào hộp thoại Open và nhấn Enter, bạn sẽ thấy một thông báo lỗi có nội dung là tên tệp không hợp lệ. Có các ứng dụng dựa trên web khác cũng có thể hiển thị cho bạn lỗi nếu bạn cố gắng nhập đường dẫn như https:\\2-tek.org\ - nó phụ thuộc vào việc chương trình đó có hỗ trợ sửa chữa lỗi cho bạn hay không.



Đa số chúng ta thường không mấy để ý đến sự tồn tại song song của 2 ký tự gạch chéo này, nhưng đôi khi cũng không quan trọng. Sẽ thật tuyệt nếu tất cả các nền tảng đều sử dụng một dấu phân cách nhất quán cho các đường dẫn thư mục, nhưng Windows gặp phải một số vấn đề về khả năng tương thích, vậy nên tạm thời những người dùng Windows vẫn phải “sống chung với lũ” vậy.

ICT Blog's say...

Hãy tìm kiếm trước khi đặt vấn đề hỏi đáp!
Tất cả comment đều được kiểm duyệt cẩn thận!
Hãy dùng tên của bạn khi comment, không chèn keyword trong comment!

Không có nhận xét nào:

Đăng nhận xét

© ICT Blog's - TeamWork Globally™
Việt Nam
Singapore
Sydney
Westminster
London