Is there a way to get iTerm + Bash usability on Microsoft Windows?

I had the exact same question. For a while I used Console and it was OK.

However I found out about Git Bash. If you install Git for Windows, you get this app called Git Bash that provides a console window running bash. It's awesome. I've been using it for months.

It may seem counterintuitive to install Git (a version control system) in order to get a decent console but it works.


I personally prefer Cmder which is a combination of all the previous answers.

Cmder homescreen

Cmder is a software package created out of pure frustration over the absence of nice console emulators on Windows. It is based on amazing software, and spiced up with the Monokai color scheme and a custom prompt layout, looking sexy from the start.

With help of the best

Cmder settings are conemu

Think about cmder more as a software package than a separate app. All the magic is happening through Conemu. With enhancements from Clink.

Total portability

Carry it with you on a USB stick or in the Cloud, so your settings, aliases and history can go anywhere you go. You will not see that ugly Windows prompt ever again.

Git and others

Oooh yes! If you decide to use the slightly bigger git-for-windows version, you will have all Unix commands ready in PATH so that you can git init or cat instantly on every machine.

Aliases

There is simple support for aliases. They can be created by using the alias command like this: alias ls=ls --color $*. They are pretty much just doskeys in /config/aliases.

It comes with useful bash and git aliases that I stick with to this day:

# Beautiful git log graph shortcut (shown in the top image)
gl=git log --oneline --all --graph --decorate  $*
gs=git status
# adds default option to a simple command
ls=ls --show-control-chars -F --color $*
# common alias that often comes default with some distros
ll=ls -alF --color=auto
pwd=cd
clear=cls
history=cat %CMDER_ROOT%\config\.history
unalias=alias /d $1

Copy/Paste support with CTRL+c and CTRL+v with an intuitive mouse selection behavior (top to bottom for line by line selection and bottom to top for block selection).

It supports tabs and configurable split panes that enables you to use Powershell, Git bash, etc. all in the same instance.

Cmder configurable split panes

It can be configured to have a context menu action to open a console tab in the current directory.

Cmder context menu action


Windows PowerShell (Original Server 2003 Link) is probably worth a look, I'm not sure if it has all the features you want but it's certainly a step up. Otherwise, Console is something I've seen my Windows brethren using that has a fair amount of the features you've asked for.