The windows terminal (the user-interface around text-applications like cmd.exe) really sucks.
There is so much that the Unix-style terminals do that the windows terminal
I use JTerm desktop console on Windows. It has Java implementations of all major Linux / Unix commands, such us ls, grep, find, cd, cp, mv etc. It has some limitations, but overall it works will.
I have not tried KDE on WIndows, but it is allegedly now available in the latest release at writing.
There are two things you can change independently—your terminal emulator and your shell.
This will allow you to select text normally (instead of stupid rectangles). I favour Console2, which is fast, lightweight and reliable http://sourceforge.net/projects/console/
There's also ConEmu https://code.google.com/p/conemu-maximus5/.
There's also Mintty https://code.google.com/p/mintty/ (same terminal emulator that Putty uses). Mintty can't run interactive apps like nano
or vi
. Mintty can't run cmd
either, only Bash.
Whatever you choose, it's useful to add 'open console here' items to Windows Explorer context menu. Instructions at https://stackoverflow.com/a/17663556/284795
Clink improves cmd
, adding session history, and Bash-style autocomplete. https://code.google.com/p/clink/
The most reliable distribution of Bash for Windows is with MSysGit. It's very easy to install, and you get a free Git https://code.google.com/p/msysgit/
It's worthwhile at this point to explain the difference between MSys and Cygwin. MSys is a collection of apps painstakingly ported to the native win32 API, whereas Cygwin is an emulation layer that can run arbitrary Linux apps.
In my experience MSys is more comfortable, it interoperates better with Windows (in particular how it handles paths). Though Cygwin has more apps, and more recent.
I personally use Console2 with the Bash shipped with MYSYS-Git.
You can also use PuTTY and SSH to a real linux box ;-)
I think your looking for Powershell which I can argue is stronger then the linux bash or atleast has the same amount of power.
I found iPython in its -s mode to be as close as I can get. It also doubles as a python interactive shell.