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

24

6

I'm sure this has been asked before, but I haven't found it after an hour or so of searching...

I've been using Unix and Mac OS for a while, but I'm a Windows user at heart. This #1 things that I've been loving about these *nix operating systems is the terminal and shells. I know that you can use Console to make the actual console better, but I just kind of hate the windows shell. I recently moved from bash to zsh on my Mac and I've never been faster. I can zoom around, have all sorts of colors, aliases, a cool prompt, etc. that make terminal usage just plain awesome.

Is there anything like this for Windows? How can I make my shell experience less painful? Basically, I want oh-my-zsh for Windows.

Greg Potter

Posted 2012-05-08T21:16:14.160

Reputation: 359

This is not exactly what you're asking for, but it needs to be mentioned: andlinux – rinfinity – 2015-11-13T06:05:34.820

4

You can get a number of ported tools that you can just stick in a folder and add to your path: http://gnuwin32.sourceforge.net/ (coreutils has all the basics - grep, awk, etc). As far as colors and all that go, you can do some with an alternate console. I typically like to use TCCLE (http://jpsoft.com/tccle-cmd-replacement.html) with Console2 (http://sourceforge.net/projects/console/) and a large set of those gnu utils ports. Gives me a pretty good *nix-like feel when I have to use windows.

– MaQleod – 2012-05-08T23:39:50.483

cygwin, for its modularity, has always been my favorite – mveroone – 2013-09-09T08:40:27.077

Answers

26

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.

uSlackr

Posted 2012-05-08T21:16:14.160

Reputation: 8 755

another vote for windows powershell. Even, it's slow compared to linux bash at the moment :) (some commands only) – Dzung Nguyen – 2012-05-09T14:21:22.430

1v3 is out at the time of this comment. PowerShell is not only gaining popularity as a shell, but as a scripting language. It can do everything VBScript can do - and much more. MS is making a concerted effort, and succeeding, in making PowerShell able to manage all the MS products from the command line. – Keltari – 2013-05-02T04:41:29.203

1

the module https://github.com/lzybkr/PSReadLine is a great addition which would make the user feel some of the oh-my-zsh experience has been imported..

– Jonno – 2014-03-17T03:59:20.777

20

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.

Baarn

Posted 2012-05-08T21:16:14.160

Reputation: 6 096

1there is also zsh for windows, but the project seems to be abandoned. – Baarn – 2012-05-08T21:31:43.183

There have been several *nix shell ports to Windows. There was/is a SU member who wrote her own cshell port and sells it off her website. – Keltari – 2013-05-02T06:36:59.303

11

Download Git for windows. It comes with a shell called "Git Bash" and it also includes a lot of other command line tools.

Saravana

Posted 2012-05-08T21:16:14.160

Reputation: 305

5

Absolutely loving ConEmu! It's one of the sexiest around with the ability to have transparent windows, multi-tab and many other options. It also has many shells included with it such as Bash. You will be very happy. https://conemu.github.io/

n0sleeves

Posted 2012-05-08T21:16:14.160

Reputation: 71

moved URL to https://conemu.github.io/

– vee – 2017-02-13T06:39:00.023

3

I've had several co-workers recommend GOW (Gnu on Windows), https://github.com/bmatzelle/gow as a much better solution than Cygwin. YMMV.

tvanfosson

Posted 2012-05-08T21:16:14.160

Reputation: 501

2

You can try out oh my cygwin.

Alex Popov

Posted 2012-05-08T21:16:14.160

Reputation: 953

1

Want to see a bunch of alternatives? http://alternativeto.net/software/cygwin/ and many years ago, had used 4Dos - http://alternativeto.net/software/4dos/

Leptonator

Posted 2012-05-08T21:16:14.160

Reputation: 441

1

You might like Hamilton C shell, which recreates the Unix C shell from scratch on Windows, but with a lot of improvements. There's a free demo so you can try before you buy. Full disclosure: I'm the author.

Nicole Hamilton

Posted 2012-05-08T21:16:14.160

Reputation: 8 987

0

WSL allows you to use Linux command line tools on Windows.

WSL2 which is currently in preview is even better -- it provides a complete Linux environment on Windows.

Saravana

Posted 2012-05-08T21:16:14.160

Reputation: 305

0

You can use cygwin or uwin. Also you can try FireCMD shell which installs UWIN and also provides a GUI environment for other shells like Cygwin, cmd.exe, Windows PowerShell etc.

user221458

Posted 2012-05-08T21:16:14.160

Reputation: 101

0

Yes you can :) With the below steps and Windows PowerShell.

Here your are the steps to make your experience less painful:

  1. Download ansicon
  2. Extract the zipped file to you C:\ directory
  3. Open Windows PowerShell and navigate to C:\ansicon\x64 if your machine is 64 bit based architecture, or C:\ansicon\x86 if your machine is 32 bit based architecture.
  4. Use this command ansicon -i

Now first part accomplished, wish is adding some colors to the console output from various commands.

Second part is to change the color setting of Windows PowerShell in order to feel comfortable to you:

  1. Open Windows PowerShell, by typing powershell in start menu.
  2. Right click on the windows header and choose Properties.
  3. Choose Colors tab.
  4. Apply one of the following color schema:

color schema 1
color schema 2

I hope this helped and that is what you are looking for.

Ahmed Hamdy

Posted 2012-05-08T21:16:14.160

Reputation: 141

0

Python is clear and away the easiest and most powerful way to execute all of the Unix "Pipe" and other shell commands. Heck, Python is the best way on any 'nix system to execute commands.

Roy Fileger

Posted 2012-05-08T21:16:14.160

Reputation: 1

-1

JTerm unix desktop can run on Windows since it is 100% Java. It can be used with the most basic Linux / Unix commands

Steve2

Posted 2012-05-08T21:16:14.160

Reputation: 1