Author: Chet West
You would like to learn Linux and Shell scripting, but you do not want to buy a new machine or install a new operating system onto your existing one. Maybe you are also a hands-on leaner, like me. Thus, reading a book is not enough, you need to actually do it. Well, I have got some alternatives for you that in most cases are free of charge. In the information that follows, you should be able to identify some ways that you can progress through your learning of Linux and shell scripting with little to no cost.
Option 1 – UnxUtils
This is a set of utility commands I found several years ago on SourceForge. Each command is a separate program that can execute in a windows command prompt. These are not pass through commands to Windows commands. These are actually native compiled utilities that execute at the command prompt. All you need to do is install the files into a local directory and add the ..\usr\local\wbin directory to your environment path. This is an easy way you can start learning the most common Linux and Unix commands. I would recommend this just to “get you started” due to a few drawbacks. First, there are still only a limited number of commands that come with this set of utilities. Second, you are still in a DOS/Windows command prompt. So you are still limited to just the commands. Things like environment variables and even the direction of the slash in directory names are still Windows/DOS based and not Unix/Linux.
Where to get it? http://unxutils.sourceforge.net/
Option 2 – CYGWIN
The CYGWIN emulator has been around for a number of years, actually since around 1995. It works as a Linux emulator on your Windows machine. It was eventually purchased by Red Hat and is now supported by their engineers. This tool is about a close to the real thing as you can get without an actual installation. You can easily navigate to and access drives, folders and files on your machine in addition to any other resources, like the network connection. It also now comes in both 32 and 64 bit versions. I personally would highly recommend this for anyone starting out. It continues to be free under the GNU licensing. But you can actually purchase a license from Red Hat if you need to distribute it with a product you’ve developed.
Where to get it? Two places actually, just depends on which way you want to go.
CYGWIN site http://cygwin.com/
Red Hat site http://www.redhat.com/services/custom/cygwin/
Option 3 – Oracle VirtualBox
This option is a bit more advanced. The Oracle VirtualBox is actually a utility that allows you to stand up a Virtual Machine on your local machine. This would be very similar to VMWare, Hyper-V or any of the cloud based solutions out there. You will not only have a command line to work within, but a true environment in which you can define the hardware capabilities too. Here, you can actually perform tasks as a Unix/Linux system administrator in a controlled and confined environment. You can even go a step further and install software built for the environment. As an example, using VirtualBox (on my laptop), I have actually setup an Oracle Linux VM, running an Oracle database and the Oracle E-Business Suite. Granted, my machine ran like a dog due to the hardware specifications required for the VM to run. This gives you an idea of the power you have here. VirtualBox can import files that use the Open Virtualization Format (OVF) format, which is used by many virtualization platforms. Furthermore, if you are not ready to actually take on the actual installation process and want a pre-configured environment, Oracle also provides some sample virtual machines to use. You can then stand up environments like: Oracle Linux server, Oracle Database on Oracle Linux, Oracle Solaris, etc. But you are not limited to these. This is a real VM environment. So, you can host a number of guest OSes, from Microsoft Windows 95 to Mac OS X Server to a number of flavors of Linux (Oracle, Red Hat, Suse, Debian, Fedora, etc.) But just to be clear, if you don’t have installation software, you are limited to the few free preconfigured VMs out there.
Where to get it? https://www.virtualbox.org/
The site also includes links to some of the pre-built VMs too.
Option 4 – The Cloud
We just talked about a virtual machine environment on your local machine, but what if you just don’t have the hardware resources to host a VM, and that is where you need to go next to advance your training. Here is where the cloud can help you. A number of the cloud providers offer some form of free trial. And if you are good about shutting things down when not working, you can save some money if you choose the paid route. Basically, what you are doing here is standing up a virtual machine. You’ll get an IP assigned to you. Most of the large cloud vendors even provide you with some preconfigured virtual machine environments that you can spin up in a matter of minutes. Be aware that you may incur licensing fees, depending on what options you select. So read the fine print first!
Microsoft Azure: https://azure.microsoft.com/
Amazon Web Services: https://aws.amazon.com/free/
About the author