Is there a better, more UNIX-like command line shell for Windows?

Solution 1:

Windows Powershell has been Microsoft's shell of choice since the release of Windows server 2008 & Vista. Ports are available for XP as well. V2 is the current standard and v3 is in development. Most major mgmt tools are either currently running Powershell under the covers or have a PoSH interface.

If you've not attempted to use PoSH for some bulk management task, you owe yourself the treat. Working with objects instead of text representations of objects is really powerful. If you run AD, start doing your AD user mgmt with PoSh.

Solution 2:

You can try cygwin and its terminal variant mintty using the bash shell. Cygwin basically consists of some libraries with linux syscalls mapped to the windows kernel. So you can actually run linux programms inside it (not everything, but a lot of stuff; if you know how to compile software yourself, even more).

zsh is available as a package in cygwin, too.

Because windows uses the same name for some programs the behavior of them might not be expected, (eg find or sort) you have to play around with PATH to fix some errors.