jump to navigation

Linux Applications You Must Be Familiar With If You Plan on Landing a Linux Job November 5, 2010

Posted by tournasdimitrios1 in Linux.
trackback

Landing a Linux job really doesn’t have much to do with your school qualifications or what your resume says. With Linux, it’s all about experience. What you actually know will determine how far you get with a Linux job. Now, I’m not declaring that you must know everything listed in this article, but it’s important to be well versed in all aspects of Linux. Besides, if you plan to make Linux a part of your career, why not learn everything you can? In this document I will present you with Linux applications and what you should know about them at the very least. I then will present you with some outside links for further reading so that you can indulge and become more familiar with each Linux application listed.

If you’re looking to land a Linux job you must be familiar with these Linux applications or daemons.

Apache

Apache is the Apache HyperText Transfer Protocol (HTTP) server program. A large portion of the Internet web sites you visit run Apache on the server the site is hosted on to serve your web pages. If you don’t know apache I suggest you learn the basics. Most Linux jobs will require you to at least dip your feet in some sort of apache administration.

At the Least, You Should Know:

How to install Apache.

How to configure Apache.

How to view Apache logs.

Must reads for Apache:

Official Apache HTTP Server Documentation

apt-get

apt-get is the command-line tool for handling packages, and may be considered the user’s “back-end” to other tools using the APT library. apt-get is used mainly on Debian and Ubuntu but is cross-platform and the actual APT library has many different front-ends built for it. Apt-get is a pretty simple tool to use, so theres not much to learn here, but you should still be familiar with how it works.

At the Least, You Should Know:

How to install a package.

How to remove a package.

Must reads for apt-get:

Apt-get Man Page

How to use apt-get

Bash – GNU Bourne-Again SHell

Bash is an sh-compatible command language interpreter that executes commands read from the standard input or from a file. Bash also incorporates useful features from the Korn and C shells (ksh and csh).

It’s important to know how to program in Bash. There are a million ways to save time and energy if you can whip up a little bash script that automates something on the command line for you.

At the Least, You Should Know:

How to write a basic Bash script.

How to configure Bash to execute jobs during login or logout.

Must reads for Bash:

Bash Man Page

Bash Guide for Beginners

Advanced Bash Scripting

Bash by Example

Bash Tutorial

chmod

chmod changes the permissions of each given file according to mode, which can be either a symbolic representation of changes to make, or an octal number representing the bit pattern for the new permissions.

Chmod is vital to any Linux user. If you don’t understand how to change permissions on files then you really shouldn’t be using Linux.

At the Least, You Should Know:

How to set file and folder permissions with chmod.

Must reads for chmod:

Chmod Man Page

Linux File Permissions

Crontab

crontab is the program used to install, deinstall or list the tables used to drive the cron(8) daemon in Vixie Cron. Each user can have their own crontab, and though these are files in /var/spool/cron/crontabs, they are not intended to be edited directly.

Crontab is important to know if you want to execute a sort of “scheduled task” command that cron manages.

At the Least, You Should Know:

How to schedule tasks with crontab.

How to edit each users crontab.

How to allow and disallow users to use crontab.

Crontab format.

Must reads for Crontab:

Crontab Man Page

Understanding Cron Jobs in 5 Minutes

Crontab: Scheduling Tasks

Find

GNU find searches the directory tree rooted at each given file name by evaluating the given expression from left to right, according to the rules of precedence (see section OPERATORS), until the outcome is known (the left hand side is false for and operations, true for or), at which point find moves on to the next file name.

Using find is crucial to saving time and energy on the Linux command line. You’ll find that the more you know about the awesome capabilities of find, the better off you are.

At the Least, You Should Know:

How to find files throughout the whole system.

How to find only directories.

How to find files owned by a certain user.

Must reads for Find:

Study of Find

CLI Magic: Searching with Find

10 Useful uses of the find command

Iptables

Iptables is used to set up, maintain, and inspect the tables of IP packet filter rules in the Linux kernel. Several different tables may be defined. Each table contains a number of built-in chains and may also contain user-defined chains.

With iptables you have the ability to create firewall rules on your Linux computer to allow or restrict access in and out through each network interface.

At the Least, You Should Know:

How to list iptables rules.

How to filter an IP from hitting your interface.

How to remove rules.

Must reads for iptables:

Iptables Man Page

Linux Firewalls using iptables

Designing a firewall using Iptables for the home user

Using iptables

MySQL

mysql is a simple SQL shell (with GNU readline capabilities). It supports interactive and non-interactive use. When used interactively, query results are presented in an ASCII-table format. When used non-interactively (for example, as a filter), the result is presented in tab-separated format. The output format can be changed using command options.

As a Linux user looking to land a Linux job, there is a strong possibility that you will be working in an environment that uses Linux-Apache-MySQL-PHP (LAMP). You should be familiar with administrating a mysql server.

At the Least, You Should Know:

How to install MySQL.

How to configure MySQL.

How to view MySQL error logs.

How To Add and Remove MySQL users.

Must reads for MySQL:

MySQL Man Page

Official MySQL Documentation

OpenSSH and SSH

Ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine. You’ll probably find yourself using SSH on a daily basis if you land a Linux job.

At the Least, You Should Know:

How to connect to a server with SSH.

How to set up key based authentication for SSH.

Perl

Perl is a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It’s also a good language for many system management tasks. The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal).

You’ll find administration tasks that you can create Perl scripts for will save you a ton of work in the long run if you know Perl.

At the Least, You Should Know:

How to execute a perl script.

How to troubleshoot perl errors.

Must reads for Perl:

Perl Man Page

Official Perl Documentation

Simple Perl Scripts

Postfix

Postfix is a mail transfer agent (MTA) used on Linux as an alternative to Qmail and Sendmail. It handles the routing and delivery of email. Chances are you’ll run into some sort of postfix work in your Linux career, so why not learn what you can?

At the Least, You Should Know:

How to configure the postfix main.cf and master.cf files.

How to troubleshoot postfix errors and issues.

Must reads for Postfix:

Postfix Man Page

Official Postfix Documentation

Postfix Wiki

Postfix config How To

PHP

PHP (recursive acronym for “PHP: Hypertext Preprocessor”) is a widely-used Open Source general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. Learning a bit about PHP as well as Apache and MySQL is essential to your Linux career and landing that Linux job.

At the Least, You Should Know:

How to install and configure PHP on Linux.

How to debug and troubleshoot a PHP error.

Must reads for PHP:

Official PHP Documentation

How To Write PHP Scripts

Qmail

Qmail is a secure, reliable, efficient, simple message transfer agent. If your Linux job isn’t running Postfix or Sendmail, you’re probably going to need to know Qmail.

At the Least, You Should Know:

How to Install and Configure Qmail.

How to find and interpret the Qmail log files.

How to debug and troubleshoot Qmail errors.

Must reads for Qmail:

Qmail Man Page

The Qmail Documentation Project

Qmail HowTo

Life With Qmail

RPM

rpm is a powerful Package Manager, which can be used to build, install, query, verify, update, and erase individual software packages. If you’re trying to land a Linux job with a large corporation, theres a good chance they run Red Hat, which uses RPM as it’s default package manager.

At the Least, You Should Know:

How to install RPM packages.

How to remove RPM packages.

How to check for RPM dependencies.

Must reads for RPM:

RPM Man Page

Official RPM Documentation

rsync

rsync uses the rsync remote-update protocol to greatly speed up file transfers when the destination file is being updated. Rsync basically only copies the diffs of files that have been changed.

Rsync is great for backing up files to another Linux host. If you plan on landing a Linux job you’ll definitely need to know rsync.

At the Least, You Should Know:

The syntax of using rsync to copy files to another host machine.

Must reads for rsync:

rsync Documentation

rsync Tips and Tricks

Using rsync and SSH

Samba

The Samba software suite is a collection of programs that implements the Server Message Block (commonly abbreviated as SMB) protocol for UNIX systems. This protocol is sometimes also referred to as the Common Internet File System (CIFS). For a more thorough description, see http://www.ubiqx.org/cifs/. Samba also implements the NetBIOS protocol in nmbd.

Most large companies that run a Linux and Windows environment use Samba to share files across the network. You should be familiar with Samba as much as possible.

At the Least, You Should Know:

How to install and configure Samba.

How to set up Samba users.

How to set up Samba shares.

Must reads for Samba:

Samba Man Page

Official Samba Documentation

Samba Setup Guide for Linux

SCP

scp copies files between hosts on a network. It uses ssh for data transfer, and uses the same authentication and provides the same security as ssh. scp will ask for passwords or passphrases if they are needed for authentication.

SCP is important to know if you need to copy files between Linux hosts over a public or private network with security in mind.

At the Least, You Should Know:

The syntax for copying a file from one host to another host.

Must reads for SCP:

SCP Man Page

SCP Tricks

Sendmail

Sendmail is another Mail Transfer Agent, similar to Qmail and Postfix, that sends a message to one or more recipients, routing the message over whatever networks are necessary. Sendmail does internetwork forwarding as necessary to deliver the message to the correct place. A majoriy of servers run Sendmail as their MTA so it’s important to know.

At the Least, You Should Know:

How to Install Sendmail.

How to configure Sendmail to send and receive Email.

How to view Sendmail logs.

Must reads for Sendmail:

Sendmail Man Page

Official Sendmail Documentation

Tar

Tar is an archiving program designed to store and extract files from an archive file known as a tarfile. You most defenitley need to know tar if you plan on landing any Linux job.

At the Least, You Should Know:

How to extract a tarball and tar/gzip file.

How to create a tar file.

Must reads for Tar:

Tar Man Page

GNU tar Documentation

VI/Vim

Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.

It’s important to know vim because it is the one text editor that is almost always available by default on most Linux distributions. You can’t say the same for the simpler editors like pico and nano. Learn vim!

At the Least, You Should Know:

How to open a file and make a change.

How to save a file.

How to exit vim.

Must reads for Vim:

Vi/Vim Man Page

Official Vim Documentation

The Vim Commands Cheat Sheet

Vim Graphical Cheat Sheet based Tutorial

vsftpd

vsftpd is the Very Secure File Transfer Protocol Daemon. Most Linux servers that run an FTP daemon use vsftpd.

At the Least, You Should Know:

How to install vsftpd.

How to configure vsftpd.

How to view vsftpd logs and troubleshoot issues.

Must Reads for vsftpd:

Vsftpd.conf Man Page

A vsftpd Guide

I’ve covered all the applications I believe you should be familiar with if you’re trying to land a Linux job.  You may not use all of them in an everyday Linux job, but these applications are the most widely used with Linux administration and Linux engineering jobs.

About these ads

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 88 other followers