23 Comments

Chris Said,
April 1st, 2008 @10:21 pm  
No grep?
mygif
Adam Kane Said,
April 1st, 2008 @10:33 pm  
Chris,

grep is definitely also a must know. Can’t believe I left that out. I’ll have to update the list. Thanks!

mygif
Rakesh Said,
April 2nd, 2008 @3:25 pm  
Good list, but one of the most important things in linux world is to learn AWK for parsing text.

Happy LAMPing ….

mygif
bender Said,
April 2nd, 2008 @5:44 pm  
A linux job? This looks more like the resume of a 2 bit script kiddie web ‘designer’. Surely for a real linux job you would need to know how to compile the kernel, customizing the startup, how to setup parallel processing, how to install something other than mysql (there are other *ahem* better database systems out there). What about knowing a real programming language such as C or Java, one would think that if your applying for a ‘linux job’ its because you know more than php (php does work on other platforms you know).

I resent that someone stumbled this site and that i came across it. Shame on all the like minded script kiddies that think that this is a useful post. Perhaps your next post can be the applications you *must* be familiar with for a windows job (notepad, filling in the search dialog, using advanced features like clicking the start button…)

mygif
Adam Kane Said,
April 2nd, 2008 @6:20 pm  
@Bender,

While I appreciate your comment on the article, I question if you’ve ever looked on any popular job sites at qualifications and required skills necessary for a Linux job? I have. Let me present you with a few links I randomly found on Monster. Lets take a look at the average skill sets required for a *typical* (ie. administration, networking) Linux job.

http://tinyurl.com/2ajqqc - Here is a Sr. Linux Network Administrator position. Skills required? Linux Network Administration, Nagios, Cacti, SNMP Monitoring, Debian/GNU, 50+ Linux Machine Environments, Scripting Language (PERL/BASH/TCL/etc), Debian Packages, Large-Scale Linux Deployments, People Management.
…I see a few of my examples on this list, yet none of yours.

http://tinyurl.com/2ofhw5 - Here is a Sr. Linux Systems Administrator position. Skills required? Strong scripting/programming skills with experience in Perl, Python, Bash or other scripting languages. PostgreSQL, mysql, Oracle.
.. Again.

http://tinyurl.com/3786bs - Here is a Linux Systems Administrator position. Skills required? Experience with UNIX services (DNS, NFS, Samba, SSH, etc) Web/HTML experience, including Apache preferred. Firewall and router experience a plus.
.. Again.

I never stated that everything on this list is concrete and that you can forget anything *not* listed. As a matter of fact, if you read the opening paragraph, you’ll see I use the words “if you plan to make Linux a part of your career, why not learn everything you can?”.

Further, if you read the closing sentence, I stated “Do you have any other applications you feel should be on this list? Let us know by leaving a comment below.”. I thank you for doing so and letting the other readers know what you feel should be known, but I despise your ignorance in thinking that you need to ignore LAMP and basic programming knowledge like Perl and Bash to land a “real Linux job” as you so eloquently put it.

Thanks for the idea on the Windows post!

Cheers!

mygif
xxx Said,
April 5th, 2008 @10:49 pm  
nice post
mygif
Mayank Said,
April 5th, 2008 @11:02 pm  
Thanks!!!
That was helpful
mygif
mark Said,
April 6th, 2008 @5:00 pm  
nmap
mygif
na Said,
April 7th, 2008 @11:24 am  
I only question the part about apt-get. Redhat (which you mention as being common) uses YUM by default.
mygif
gunki Said,
April 8th, 2008 @12:08 pm  
Yeah, good list. Grep HAS to be on it, though, and with it comes the syntax of regular expressions, of course, which will be useful in many many other situations, too. For networking purposes, tcpdump/wireshark and nmap are also essential, and if you go wireless, consider the aircrack-ng suite.
Kernel compilation, software compilation in general, or knowledge of a fully-fledged programming language can be helpful, but are not killer skills for administrators.
mygif
krisk Said,
April 9th, 2008 @2:25 pm  
Typing skills anyone??
;-)
mygif
Houser Said,
April 9th, 2008 @9:31 pm  
I agree on most of the items. Anyway… why not SQLite? Or python? Many linux apps depend on them.

Regards,
Houser
USA, TX
http://www.ip-monitor.com.ar

mygif
ghoti Said,
April 14th, 2008 @12:46 am  
You should be booted for not including the single most important command every admin should know:

man

a couple of real? comments:
awk?? awk??? just go sloppy with cut (seriously you should probably be able to use both)

I found a good general question for entry level linux admins at my old job was:

How would you get an error message flagged with “ERROR” from /var/log on server[01-40].production servers for user “me” with keys pushed?

heck, if you can answer that smoothly without writing it down thats a level two admin most times
bonus points if you can tell me how to separate out the Xth field and sort it by occurrences.

after all you can’t fix the problem without knowing what it is…anything else is pretty much site knowledge anyway.

as for Bender…totally right (if I were an elitist prick who didn’t know what I was talking about. seriously know kernel development/databases/programming??? one might think that they have ohhh database teams, programmers, and systems engineering or development teams at most companies, but obviously not necessary for Benders company, and did he cast a vote for Java, I hate Java, as I am sure does any linux admin *)

oh yeah and Python sucks I don’t care what xkcd.com says…reading xkcd.com is also a requirement of a linux admin

I actually do recommend Perl over Python for the following reasons
Its thread safe
It has better documentation
It is the duct tape of the linux universe
Above all the mighty power of reg ex!!!! (when the python documentation says “now provides perl style regex” that pretty much says it all”)
and last but not least flexibility (my junk 17 liners are just as convenient to create as my production scripts are to document)

*fine it is occasionally useful

mygif
ripperzane Said,
April 18th, 2008 @7:18 pm  
Good list. Gives something to shoot for. I am a nooblet in the IT field in that I “aspire” yet have not achieved a *nix job as of yet. Nothing wrong with MS (in my book) I just preffer the Unix/Linux type os for my hopeful deeper future in IT.
I appreciate the info as it at minimum gives me an idea of what to begin to shoot for *not a noob in IT, just the deeper meat and potatoes of administration).

Anyway, my point is: GJ and thnx.
RZ

mygif
harry Said,
April 20th, 2008 @6:46 am  
thank u very much for this insightful knowledge for beginner Linux users!
mygif
Paul Dorman Said,
April 22nd, 2008 @1:49 am  
I never understand these. I don’t think the world works like this at all. You can’t cherry-pick utility applications out of the air and declare them as the secret sauce in the Linux job market. Employers aren’t really concerned by your understanding of a limited pallet of “standard” applications. They are interested in how you use the utilities you are familiar with to solve problems. Of course there are certain applications that carry favor, but these tend to differ between one employer and the next and according to whatever happens to be in fashion. Everyone who’s worked in more than one environment has learned that things are very different from one place to the next.

The best way to get a “Linux” job in my opinion is to use a logical selection of utilities and approaches to actually accomplish something like putting together some kind of Linux server intended for a very specific purpose. Concentrate on those things a business might care about, like economy, scalability, RoI (in terms of hardware and time), quality of design and architecture documentation, etc. No-one cares what you use in general, as long as you can justify your choices and make a convincing case for your design decisions.

You don’t need to do something perfect, but you do need to show how you got from the requirements to the implementation so you can provide a real demonstration of what kind of technical problem-solver you are. Don’t waste your time and effort trying to become competent on someone’s favorite list of utilities. It’s like concentrating on the ‘top ten’ keywords in order to land a programming job.

mygif
prc Said,
April 23rd, 2008 @4:34 pm  
Gosh. 20 years ago we just had vi and grep ( and a smattering of SQL). You kids have it easy with all the helper apps. ;)
mygif
jack Said,
April 28th, 2008 @10:37 am  
I’m afraid I agree with Bender and Paul Dorman. While I think there are somethings that are crucial and every linux user/worker ought to know about, they don’t include things like MySQL and vsftpd (I’ve never used/heard of the last one). They do include things like find, xargs, grep, using pipes, redirection, etc. This is more of a list of some linux tools, some commonly run services/programing languages and some important programs. Not really what I was expecting is all I guess.
mygif
Master Pimp Said,
April 28th, 2008 @8:32 pm  
php and perl? what is it 1980? these to languages have seen better days and since they don’t evolve soon enough they will be forgoten :)
More Python to the word! Python is must, not only for Linux, but for every advance user!
mygif
NaySayer Said,
April 29th, 2008 @9:50 am  
None of these have much to do with Linux, except SAMBA which needs Linux help.
Linux is the kernel and drivers - a Linux job is working with Linux, surely. You need to know toolchains, bootloaders and root file systems, how libraries work etc… You need to understand hardware.

You are thinking of Un*x OS admin jobs.

mygif
Leslie Satenstein Said,
April 30th, 2008 @5:29 pm  
I’ve read the blog, and agree that grep should have been in the list. Second to grep should be awk.

From the job description of system support, I believe that for the other mentioed tools, let me say that if that tool is in wide use, then continue with it. And when you are in a shop with mysql, then you need to know how to support mysql operationally.

As to one programming language over the other. When the only tool you have is a hammer, every think looks like an nail. One should acquire several skills, be it python, pearl, etc.

And one should also cultivate friends with some of the skills that you require. A friend with certain skills could provide a solution in minutes, instead of your two day research.

And never stop learning…

mygif
ismgr Said,
May 7th, 2008 @2:44 pm  
I think the article is generally helpful. First, it’s at least a general introduction to the tools we often use (or used to) in working in a Linux environment. It also could function as an “am I there yet?” gut check for someone thinking that they’re pretty Linux savvy; however, there are Linux jobs that require much more and there are Linux jobs that don’t even require all of what’s on this list. I think, though, that if we apply for a job that says “familiarity with Linux a plus” or “Linux required”–that the skills in the article, whether they are native to Linux itself or common to Linux because of its heritage, are a good starting point as a measure. That said, one doesn’t learn how to make a bluebird box by studying the tools found in the toolbox. You learn about the tools by making the box. While you do, you try the different tools finding some to be no help at all while others are quite handy. It’s not the list of tools that matter so much as the experience gained in becoming familiar with them. So I wouldn’t run out and try to learn about each of these tools thinking that’s the way to be a Linux star. Go work on a snazzy http://www.bluebirdbox-linux.org site with lots of bells and whistles and host it on a Linux server. Disclaimer: Chain saws are an exception. Read the printed material first.
mygif
Pingback & Trackback

Random Post

Leave Your Comments Below

Please Note: All comments will be hand modified by our authors so any unsuitable comments will be removed and you comments will be appreared after approved