Microsoft recently posted on its developer blog about “Windows command lineThe series of articles, from the initial history and basic principles, to the evolutionary history, to the study of technology itself. Microsoft said in the article that it is hoped that by reviewing the evolution of the Windows command line, let everyone know that the command line is still a key component of Microsoft's strategy, platform and ecosystem. Below is an excerpt from the key content.
1. Simple start —— MS-DOS
In the early days of the PC industry, most computers were operated entirely by entering commands on the command line. Machines based on Unix, CP / M, DR-DOS compete for status and market share. Ultimately, MS-DOS became the standard operating system on IBM personal computers, especially in the enterprise:
Like most mainstream operating systems at the time, Microsoft MS-DOS's "command-line interpreter" or "shell" provided a simple, peculiar but relatively practicalCommand set, and command script syntax and files for writing batch (.bat) commands.
You may see little or no batch or command line scripts running, because many operations are performed in the background, such as logging into a working PC. Hundreds of billions of command line scripts and commands are executed every day on Windows alone.
2, GUI popular
Later, inspired by Xerox Alto, a large number of GUIs appeared in Apple Lisa, Macintosh, Commodore Amiga, Atari ST, Acorn Archimedes, Sun Workstation, X11 / X Windows, and many other corporate products, including Microsoft Windows.
Windows 1.0, introduced in 1985, can basically be thought of as an MS-DOS application that provides a simple tiled window GUI environment, allowing users to run multiple applications side by side:
Subsequent Windows 2.x, 3.x, 95, and 98 all run on MS-DOS.
During this period, it also appeared:
At the same time as MS-DOS, Microsoft is also busy porting Xenix to a variety of processor and machine architectures, including the Z8000, 8086/80286, and 68000. In 1984, Xenix became the most popular Unix variant in the world.
Later, due to the disintegration of Bell Labs by the US government, which led to the spin-off of AT&T, the company began selling Unix System V to computer manufacturers and end users. Microsoft believes that without their own operating system, their ability to achieve future goals will be affected. This led Microsoft to decide to transition from Xenix, and in 1987 Microsoft transferred ownership of Xenix to its partner, The Santa Cruz Operation (SCO).
In 1985, Microsoft began working with IBM to develop a new operating system called OS/2. The original design is now "more powerful DOS". However, for various reasons, in 1990, Microsoft and IBM ended their cooperation, and IBM continued to develop and support OS/2 alone until the end of 2006.
3, Microsoft's gamble - Windows NT
In 1988, Microsoft hired a legendary programmer —— Dave Cutler. Cutler's goal is to create a new, modern, platform-independent operating system that Microsoft will fully own and control and will bet on its future.
This new operating system is Windows NT, and later Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, and Windows 10 and all versions of Windows Server, Windows Phone 7 +,XboxwithHololensFoundation.
Windows NT provides a command line interface through its "Windows Console" terminal application and “command prompt>(cmd.exe). Cmd is designed to be as compatible as possible with MS-DOS batch scripts to help simplify the adoption of the new platform.
4, PowerShell power
Although cmd remains in Windows (and may continue for decades), it is rarely improved, even for minor bug fixes, because its primary role is to be as backward compatible as possible.
In the early 2000s, the cmd shell no longer met the more powerful and flexible command-line experience that Microsoft and its customers needed. This demand drove the birth of PowerShell.
PowerShell is an object-oriented shell that handles object streams without processing text streams, allowing PowerShell script writers to directly access and manipulate object properties without having to write and maintain many scripts to parse and process text.
The PowerShell language and syntax built on the .NET Framework and Common Language Runtime (CLR) is designed to combine the richness of the .NET ecosystem with the most common and useful features of various other shell scripting languages, focusing on ensuring script height Consistent. PowerShell has been adopted by many Microsoft platform technologies and partners, including Windows, Exchange Server, SQL Server, Azure, and more.
PowerShell CoreIs an open source version of PowerShell for Windows and various Linux, BSD, and macOS.
5, POSIX on NT
When designing NT, Cutler and his team designed the NT kernel and system to support multiple subsystems. When Windows NT 3.1 debuted in 1993, it supported several subsystems: MS-DOS, Windows, OS/2 v1.3, and POSIX v1.2. These subsystems allow NT to run applications for multiple operating system platforms on the same machine and underlying system without the need for an installation or simulator.
Although the original POSIX implementation of Windows NT is acceptable, it requires significant improvements to make it truly usable. As a result, Microsoft acquired Softway Systems and its POSIX-compatible < Interix" NT subsystem. Interix was originally offered as a separate extension and was later released as "Unix for Services" (SFU) in Windows Server 2003 R2 and Windows Vista. However, SFU has stopped developing after Windows 8 because there are not many users interested.
6, Windows 10 — — next-generation Windows command line
In the early stages of development of Windows 10, Microsoft launched a survey asking the community about what features they needed in various areas of the operating system. The results are as follows:
Improve the Windows console
Enable users to run Linux tools on Windows
Based on these feedbacks, Microsoft formed two new teams. The Windows console and command line team manages and maintains the Windows console and command line infrastructure; another team is responsible for making a tool that allows unmodified Linux binaries to run directly on Windows 10, Windows Subsystem for Linux (WSL).
WSL was first announced on Build 2016 and will soon appear in Windows 10 Insider. WSL's functionality, compatibility, and stability have been improved in several subsequent Insider builds and in each major release since the fall 2016 release. With the help of the community, WSL quickly gained many new features to run increasingly complex Linux binaries and workloads.
At the end of 2014, as WSL's development work began, and because of the user's renewed interest in the command line, the Windows console urgently needed to add more features to meet the demand. In particular, the console lacks many of the features required for modern * NIX-compatible systems, such as parsing and rendering * ANSI / VT sequences widely used in the NIX world to render rich text and text-based UI.
The following is an example of the console when rendered in Windows 7 and Windows 10: