Tất cả bắt đầu với lệnh CP / M cũPIP
- lệnh này, được sử dụng để sao chép tệp, cho phép bạn chỉ định tên thiết bị đặc biệt thay vì tệp.
Gary Kildall, người đã phát triển CP / M, dựa trên phần lớn thiết kế cấu trúc tệp và bộ xử lý lệnh của nó trên các hệ điều hành từ Thiết bị kỹ thuật số, như RSTS / E cho PDP-11. Bên cạnh việc truy cập các tệp trên đĩa mềm, lệnh PIP trong CP / M cũng có thể truyền dữ liệu đến và từ các "tệp đặc biệt" sau:
CON: — console (input and output)
AUX: — an auxiliary device. In CP/M 1 and 2, PIP used PUN: (paper tape punch) and RDR: (paper tape reader) instead of AUX:
LST: — list output device, usually the printer
PRN: — as LST:, but lines were numbered, tabs expanded and form feeds added every 60 lines
NUL: — null device, akin to /dev/null
EOF: — input device that produced end-of-file characters, ASCII 0x1A
INP: — custom input device, by default the same as EOF:
OUT: — custom output device, by default the same as NUL:
Tuy nhiên, đây không phải là các tệp thiết bị thực sự, vì việc xử lý của chúng bị giới hạn ở PIP.
Sau đó, DOS xuất hiện vào đầu những năm 80, một bản sao 8086 CP / M có nghĩa là hoạt động trên PC IBM mới. DOS mở rộng khái niệm này thêm một chút - ở trên là "các tệp đặc biệt" và có thể được chỉ định ở bất cứ nơi nào một tệp được mong đợi trong các lệnh DOS. Vì vậy, copy
lệnh DOS tích hợp có thể được sử dụng để in tài liệu bằng cách thực thi copy myfile.txt prn:
. (Các phiên bản sau của CP / M có thể đã có thể làm điều này nhưng tôi nghi ngờ về điều đó.)
Chuyển sang Windows 95. Bản thân nó được xây dựng trên nền tảng DOS, mã xử lý các tên tệp đặc biệt này vẫn còn, nhưng rõ ràng là không được tích hợp quá tốt trong phần GUI của Windows 95. Nó gây ra một số vấn đề như lỗi CON \ CON - và điều này cũng được biết là gây ra vấn đề với IE.
Có khả năng do hoang tưởng về các lỗi ẩn sâu hơn (mặc dù không tồn tại trong các phiên bản Windows dựa trên NT) Microsoft quyết định đặt nó ở nơi Explorer luôn từ chối mọi nỗ lực tạo tệp có tên đó. Thật buồn cười là ngay cả trong hệ thống Windows 8 tôi đang sử dụng, tôi vẫn không thể tạo một thư mục có tên "con." (Windows 10 vẫn không cho phép bạn làm điều này).