Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
What exactly do you want to learn? Desktop skills? Terminal skills? Running services? Development? – Andrioid Jul 11 '09 at 10:18
Um . . . yes? I want to know the things that it would be typical for programmers to know. I can't specify these things, because I don't know them. – Eric Wilson Jul 11 '09 at 10:38
I would imagine as a Math guy the things that may be important would be, laTex compilation, any sort of mathematical tools, and programming with a dynamic language like python. At least if staying in the academic world those are the first things that come to mind. – sparks Jul 11 '09 at 12:09
Yes you WOULD know what things to specify since you already know them from Windows! :) So specify those and let others translate it to linux... – Sniek NL Sep 24 '09 at 11:49
Like I said, I'm somewhat new to programming. It didn't take long to learn how to do the things I knew how to do in Windows, but many give the impression that the Linux shell is much more powerful than the Windows command-line. I'm interested in learning the things that can't easily be done in Windows. (Maybe it's a myth, though, and I'm just pointing to my lack of Windows knowledge . . . – Eric Wilson Sep 24 '09 at 13:08
up vote 5 down vote accepted

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...

share|improve this answer

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.

share|improve this answer

Many of the resources mentioned in this question are beginner-friendly.

share|improve this answer

Some have found Unix for the Beginning Mage to be helpful in this regard.

share|improve this answer

I'll add that the <distribution name> Unleashed series from SAMS Publishing take a good overview-to-depth appraoch.

It where I started with Linux many moons ago, and still much of what was covered in the '96 edition is still valid. A bunch has changed/improved/etc, but those book have been a valuable resource to me many times.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.