Avoid Cygwin. You will quickly run into frustrating and annoying limitations. Use a real linux distro. If you can't install linux on your computer, consider using VirtualBox and running it in a virtual machine (www.virtualbox.org). You need a running Linux distro to play with. Figure out how to get one.
I've used Linux for ten years, and I very rarely use "regular expressions". Yes, they can come in handy, but you can get along without them quite nicely. C/C++ is nice if you have some training in algorithms and data structures and oop and a lot of math, etc., but you won't get far with it without a decent computer science background. You can work with linux for years and never write a single line of c/c++ code.
Do something basic. Install Apache. Don't use what comes with your distribution - any monkey can do that. Remove what comes with your distro and go to the apache web site and download, compile, and install apache from scratch. Same with mysql. Same with PHP. Presto, you have a LAMP platform! In the process of doing just this you will learn a lot. It's a good place to start.
Learn to use the Midnight Commander. Learn what ssh is and how to use it. Learn how to use private/public rsa keys to ssh into a box without using a password. I would never hire a linux admin that could not do the above with ease.
Learn a gui. KDE is nice, but it is bloated and has a lot of eye candy. Xfce is lean and mean and gets the job done. I do everything with xfce, from playing games to developing software.
Oh oh oh, download and compile and install wine. Learn how to get Windows apps working in Linux.