Linux Skills for Cloud Computing

IBM’s 1981 release of its first Intel 8088 microprocessor-based computer sparked the PC revolution. Ever since, there’s been a steady torrent of change, accompanied by near-constant upheavals in the tech job market – with nothing shaking up the business like virtualization and Cloud Computing. The one element that seems to have remained reliably at the center of it all has been Linux. And Linux skills would be among the most important in your professional tool kit.

Linux penguin iconAs technology moves to open source and open cloud platforms, everyone’s after the geekiest of the best Linux geeks. According to Dice.com and the Linux Foundation, 97% of hiring managers expect to hire Linux Professionals in 2015. In this blog post, we will cover some critical Linux skills you should work on as you build your career as a Linux Professional.

Linux skills and cloud computing

If you are a Linux professional, now is the time to shift your focus to Cloud Computing. As you can see from a quick review of modern, cloud-based web applications and e-commerce sites, Linux is the dominant player in both the data center and cloud. Many of the same Linux skills you’ve been using on-premise are equally useful when you are managing Linux on the cloud. But you should be familiar with cloud terminology.

To build your skills – and to prepare for the LPIC Linux certification, you might want to explore Cloud Academy’s LPIC-1 Linux Server Professional certification learning path.

Key job-related Linux skills:

SED and AWK

SED and AWK are considered Linux/Unix power commands, and their learning curve can be a bit high. Using sed, you can perform complex editing tasks on streams of text. It is most often used for simple, one-line tasks rather than long scripts, and is perfect for automatically applying a series of edits to a large number of files.

Awk – named after its developers Aho, Weinberger, and Kernighan – is a programming language for handling common data manipulation tasks with only a few lines of code. It has built-in arithmetic and string functions. Awk process fields while uses only process lines.

General command line Linux skills

If you want to master command line skills, never, ever copy and paste commands. Type everything in manually. This will help you to more quickly learn and internalize commands, but it can also protect you from some nasty tricks that some people insist on inserting into online guides.
Here are some commands you should know:

Man

The most important help command in Linux. Man gives you access to the built-in manual documentation that’s maintained for nearly every Linux command. Just type man, followed by a command name.

man top

grep

Grep is a super-powerful program used to find text patterns within files. Let’s say we wanted to find all the files in your home directory with the word “zip” in its name. We could do this:

ls /Users/nitheesh/ | sort | uniq | grep zip

chmod  and chown

To change the permissions of a file or directory (meaning, to change who can access the resource), use chmod. Chown manages resource ownership.

sudo chmod 644 filename
sudo chmod root:root directoryname

service

This command is used to start, restart or stop a service without needing to reboot the whole system.

sudo service apache2 start

Networking commands

There are many Linux skills focused on configuring and managing networking in your system:

ping

Send an ICMP request to network hosts.

ping 192.168.0.110

traceroute

Trace the route taken by data requests on their journey to a specified network host.

traceroute 8.8.8.8

Netstat

Display network connections, routing tables, open ports and interface statistics.

Iptables

IP tables configure packet filter rules that control both incoming and outgoing network traffic. The function of IP tables can be filled by system level firewalls. On AWS, for instance, such tasks are handled by Security Groups and by Access Control Lists.

Monitoring and Debugging tools

Top

The Top program displays dynamically updated system processes listed in order of resource use. The display consists of two parts: a system summary and a table of processes sorted by CPU activity.

PS

ps is a simple command used to display the current running process and when using various optional arguments, process details.

ps aux

SAR

The sar tool will monitor real-time system performance (CPU, Memory, I/O) in the background to collect performance data and analysis on historical data to identify bottlenecks.

dmesg

The dmesg command gives details about hardware drivers. It shows us loaded drivers and devices detected by the kernel.

Software Management

Linux distributions, like Fedora, Red Hat, an CentOS, use RPM to install software packages. You can automatically install, update and remove software on your system. RPM is a command line package management system which is used for installing, uninstalling, querying, verifying, and updating software packages installed on Linux systems.

Debian distributions such as Ubuntu use “apt” management packages. Apt will automatically resolve dependencies, installing any other needed packages instead of simply reporting their absence.

If you want to get a jump start on Linux, check out Cloud Academy’s Linux training library

Cloud Academy