¿Qué tienen estos nombres en particular? Bueno, es una historia que viene desde mediados de los 70.
En el año 1974 salió un sistema operativo a la venta llamado CP/M. Ese sistema heredaba de un sistema incluso más antiguo llamado Unix la capacidad de que los dispositivos se pudiesen trabajar como si fuesen archivos. ¿Qué significa esto? Por ejemplo, que si tenías una impresora conectada a un puerto LPT (Line Printer Terminal) podías copiar un archivo a "lpt1" y el sistema reaccionaría enviándoselo a la impresora. Estamos hablando de tiempos muy anteriores a tener una interfaz gráfica; todo se manejaba mediante una terminal de texto (como lo que obtienes al abrir cmd o, bajo Linux, cambiar de tty).
Ahora, ¿Cómo esto que pasó en 1974 llegó a Windows 10? Todo es parte de la historia. Cuando Microsoft sacó MS-DOS en el año 1981 éste era básicamente un clon de CP/M y copió muchas cosas de este sistema, desde los archivos con 8 letras + una extensión de 3, hasta el uso de esos nombres "reservados" para indicar operaciones hacia algún dispositivo. Dicho uso se mantuvo con el paso de los años. Cuando llegó Windows el uso de comandos de terminal para imprimir se hizo menos frecuente pero no desapareció del todo.
Windows 95 estaba construido sobre MS-DOS, por lo que la limitación de nombres de archivo se mantuvo, y se mantendría por Windows 98 y ME. Cuando llegó Windows XP, para mantener la compatibilidad con scripts antiguos, Windows mantuvo los nombres de archivos reservados..... y esa compatibilidad se mantuvo con Vista, 7, 8, 8.1 y hasta el día de hoy con Windows 10. Esa es la razón por la que un sistema operativo Windows no te va a dejar usar esos nombres de archivo.
la mayor curiosidad de todas es...
ResponderBorrar¿Sirven a día de hoy esos nombres para algo?
si haces un
echo "hola, es un string" >> lpt1
¿no te lo imprime?
:)
buen artículo xd
Técnicamente sí, todavía sirven. No todos vienen activados por defecto, pero leí que algunos se pueden activar para sistemas que tienen dichos puertos físicamente.
ResponderBorrarnul y con todavía funcionan desde la línea de comandos.