Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

It is seen on many Job Qualification Requirements about being familiar with Linux(*nix, as the way its posted). With so many variants of Linux, which one should one focus on. From what I know, the Big Organizations use their own Hacked version of Linux, so one could not be familiar with the exact System used at the Industry by different organizations.

Should someone just select one of the Variants and work with it, trying to acquire deep knowledge about it and should be able to adapt with a different variants with little effort.

share|improve this question

3 Answers 3

up vote 3 down vote accepted

What they mean is you should be familar with a Linux system - All Linux distributions follow POSIX so they have similar underlying systems. So if you know one distro well, you'll find it relatively simple to work around other distros. Plus if you use Linux long enough, you will see that you will experiment with different distributions and thus know the ins and outs of different type of distributions.

Two main types of distributions are

  1. RPM Based - Redhat, Fedora, OpenSuse
  2. DEB Based - Debian, Ubuntu, Linux Mint

So if you know have worked on one DEB based distribution and one RPM based distribution, all others will feel similar.

Also its important to know some bash scripting, know how the system works.

The below tutorial is a good starting point.

http://tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html

share|improve this answer
1  
I'll also add that they'll likely expect you to be familiar with how your programming tech stack/deployment tech stack works on the *nix platform. For example, Java does not follow the packaging standards for DEB or RPM (it will in Java 8) and so knowing how to install multiple versions of Java and dealing with the JVM and web/app servers on a *nix platform is a necessary skill. –  Martijn Verburg May 22 '11 at 8:31
    
Also add rolling-release and source-based distributions (naturally there is some overlap but the RPM/APT distros tend not to roll releases). –  alternative May 22 '11 at 11:04

TL;DR: Use Ubuntu. Least amount of pains for a Windows user to initially get set up and running, while giving you the ability to delve into it as deep as you want to as your comfort level increases.

Detailed:

Once you're familiar with one distro of Linux, you'll be more or less familiar with most of them. Some use different package managers, but otherwise are very similar, especially when running from shell.

The easiest distro to get up and running with (and one, if not the most popular) is Ubuntu. It's pretty much Linux for the Windows user. I suggest it as your introduction to *nix using this path should be relatively painless and you can start digging into the operating system more as your comfort level increases.

If you're able to hold your own building apps from source and using a shell rather than navigating through its file system explorers (trust me, it's faster once you really get it down) and can grep/awk your way through a source tree, and you find yourself not being able to live without Cygwin on your Windows machine and would rather use Vim/Emacs to VisualStudio (at least when you're writing code), you're well on your way to being comfortable enough to use it in a work capacity :)

Edit:

Not that I've seen many (if any) job posts about it, but do be aware that being familiar with a Linux distro helps, but doesn't mean that you're familiar enough with *BSD to use it effectively in a job capacity. Not only do the file systems differ, but the kernels are quite a bit different too.

share|improve this answer
    
Thanks for the reply. I have seen this on some Engineering Job Posting on Facebook and another said, "You must know Linux commands as good as you know Britny Lyrics". –  Shamim Hafiz May 22 '11 at 6:42
    
One thing, what is *BSD? –  Shamim Hafiz May 22 '11 at 6:42
    
FreeBSD, NetBSD, etc –  Demian Brecht May 22 '11 at 6:46

Whichever doesn't really matter imho. When you see this on a job offer, it almost always is short for:

Someone who knows his way around a unix-based system enough to use a package manager or a compiler to install a piece of software on it, and who can write a non-trivial shell script when necessary.

share|improve this answer

Your Answer

 
discard

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.