What is a good introduction to Linux for a mature beginner?

I'm somewhat new to programming, and all of my programming so far has been in Windows.

I have no formal training in computers, but I'm a bright guy, and I learn reasonably quickly. (I have a Ph.D. in math.)

What would be an introduction to Linux that does not presume prior non-Windows experience, but gets to the good/useful/powerful stuff?


I asked a similar question awhile back and, after reading the responses here, decided to setup up a Ubuntu server at work with ssh access. I have been using it daily for about a month to host a couple of small websites, as a file server, and just as a project. I ssh into it from different locations several times per day and do something...anything: move files around, edit config files with vi, just whatever.

Maybe I am a geek, but I still find it totally fascinating a month later.

Here is my question, not exactly like yours, but I was Window-only adimin also...

Windows Admin looking to start out small with Linux (ubuntu) file server


It would help if your question was a little bit more specific, but I'll give it a go.

Some will point out that this is not sysadmin related, but I disagree. Setting up development environments for programmers and providing support is a part of the job for many of us.

  1. Pick a distribution and install it. You could try a live-cd, but not many development environments can be run from that.

  2. Know what you're going to program for, is it strictly a Linux program? Is it a desktop program?

  3. Select your toolkit and libraries.

  4. Check out Stack Overflow, the programming related sister-site of this web page.

  5. Starting on Linux (from my experience) can be difficult. But remember, while Linux may not have the biggest user share, almost every single user, posts his problems on an open forum. This means, you can Google (search) for pretty much any problem you can think of. In my opinion, it is easier to find help online for Linux, than it is for Windows (depending on your distribution, Ubuntu recommended for beginners).

  6. Pick an IDE (Development Environment), I for example like Geany (that comes with Gnome/Ubuntu) but numerous alternatives exist.

It's not a very specific answer, but the question wasn't very specific so I hope it will point you in the right direction. Most of us "Linux dudes" were Windows users at some point and I believe that your logical thinking and math degree will help you out.

Just think 'Matlab' if you're ever stuck in the terminal.