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.
As 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:
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.
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
This command is used to start, restart or stop a service without needing to reboot the whole system.
sudo service apache2 start
There are many Linux skills focused on configuring and managing networking in your system:
Send an ICMP request to network hosts.
Trace the route taken by data requests on their journey to a specified network host.
Display network connections, routing tables, open ports and interface statistics.
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
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 is a simple command used to display the current running process and when using various optional arguments, process details.
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.
The dmesg command gives details about hardware drivers. It shows us loaded drivers and devices detected by the kernel.
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.