Since limitations of cygwin were brought up, perhaps some clarification from me. I realize that cygwin is not a perfect simulator - it is not a unix environment, but a program that allows a user to execute many unix commands like ls, tr, cut, grep, paste, and so on.
For someone learning about commands and syntax and options, I believe ti to be a reasonable 'free' download for PC environments. I use the cygwin to solve many of my real-world problems, and also to simulate (and solve) issues brought up here for support.
So, the choice is yours - cygwin is free, and you can play with commands, or you can go out and download or buy other options. MKS software I used before, and felt it to more closely match 'true' unix - but you must buy the MKS software.
For me, I like to try 'free' options out first.