If you are regular users or system administrators of Linux, you are probably accustomed to using the terminal and know a good number of commands by heart (and if not, you should).
However, no matter how big fans of Linux you are, you have to accept that sooner or later, either in your work or personal life, you will have to deal with a Windows system. And it must be said that in Windows, just like in Linux, the most efficient way to perform certain actions is still using the command console.
If you are very used to Linux commands and use the Windows one occasionally, you will find the change an annoying process. On one hand, you will tend to mix commands, and on the other, you will miss some console editing functionalities or Unix utilities that have no equivalent in Windows.
In this post, we will see various methods to customize the Windows command console so that its usage is more similar to Unix, making its occasional use more pleasant (while maintaining access to all the power of our system).
Define Aliases for Commands
The first option we have to customize the Windows console is to set Aliases for the commands we use most so we can call them by the same name as their Linux counterparts.
Below is a list of command aliases. To install them, simply open a new console in Windows and paste the following text.
echo dir %1 > %systemroot%\system32\ls.bat echo notepad %1 > %systemroot%\system32\nano.bat echo del %1 > %systemroot%\system32\rm.bat echo move %1 > %systemroot%\system32\mv.bat echo copy %1 > %systemroot%\system32\cp.bat echo cls %1 > %systemroot%\system32\clear.bat
You can define your own command aliases, both to make them similar to Linux and to quickly access the ones you use most frequently. If you want to remove an alias, simply delete the corresponding .bat file from the System32 folder.
Use PowerShell
Another option to make our experience in Windows more similar to Linux is to use PowerShell. PowerShell is an object-oriented interpreter that aims to emulate the functionalities of the Perl language. It is the successor to the command console and, as such, is much more powerful than the traditional command console.
PowerShell is integrated by default in Windows Vista, 7, and 8, so no additional software needs to be downloaded or installed. It is also available for Windows XP, but it is not integrated, so it must be downloaded for free from Microsoft’s own website.
Third-Party Solutions
The last option we propose is to use third-party applications that try to make the command console experience in Windows more similar to Linux.
There are many similar developments, but from here we propose the following.
Clink
Clink adds some of the Linux terminal’s editing features to the Windows command console. Among them, it adds line editing improvements, intelligent command completion, command aliases, better clipboard usage, undo (Control+Z), and many other features.
It is available at this link.
Cygwin
Cygwin is more than a simple terminal replacement; it is an attempt to integrate Windows and Unix applications. Its installation is really simple and, as a basic functionality, it provides a terminal almost identical to Unix, with the same commands and editing capabilities.
It is available at this link.
GNU Utilities For Win32
Finally, if all we want is to have the same commands and utilities as in Unix, but without worrying about editing improvements, we can install the GNU Utilities for Windows. These utilities are a collection of common Unix commands ported to Windows. Unlike Cygwin, which runs on an emulation layer, these utilities are executables programmed for Win32 and designed to have the same functionalities as their Unix equivalents.
It is available at this link.
Conclusion
Although it is less known than in Linux, the truth is that if you want to get the most out of a Windows system, you will still have to use the command console.
If you are accustomed to the Linux terminal, we have presented various options to customize the console and make it more similar to a Unix terminal. Other third-party applications (like Console2, ConEmu) have been left out, but their possibilities are similar to those presented.
Personally, my favorite option and my advice is to always use PowerShell, which has far superior functionality to the other consoles, while the command names are similar to Unix. Furthermore, we can always define aliases for the remaining commands or for those we use regularly.
With these two tools (PowerShell and custom aliases), you will have a powerful, customized, and fast-to-use tool that will allow you to become true expert users or Windows system administrators.

