Linux and Unix Fundamentals


Synopsis

This course is a practical introduction to Unix and Linux, taught through their most popular incarnation: GNU/Linux.

The course covers the basics of Linux administration topics which are relevant in the jobs these days. It can be used as a basis for the preparation for many certifications in Linux Administration.

This course focuses on the underlying principles of Unix and Linux in a system-independent way, ensuring that delegates learn the core concepts, which apply throughout Unix and are present in all versions of Linux, no matter who the vendor may be (e.g. MX Linux, CentOS, Manjaro, Mandriva, PC Linux OS, Slackware, UnitedLinux, Red Hat, SuSE, Debian Linux, Mandrake, Sun Solaris and Linux, BSD Unix, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, Tru64 Unix, etc.)

At the end of the course delegates will be well-positioned to become serious users, software developers and administrators of any Linux system and will fully understand the application of Linux in serious commercial and other environments.

Suitable for

Experienced computer users who are relatively new to Unix or Linux and need to master a Unix/Linux system quickly and effectively. e.g. former MacOS or Microsoft Windows users.

Linux and Unix users or administrators who want to become Linux certified.

Linux and Unix users who need to consolidate and advance basic knowledge that they have picked up in an ad hoc fashion.

Linux and Unix users taking their first steps into professional Unix/Linux system administration, Unix/Linux network administration or Unix/Linux programming.


Reasons to learn Linux

Versatile

Linux is everywhere! Almost 99% of the largest organizations in the world like Fortune 500 companies use Linux based applications. It is the preferred OS for supercomputers all over the world. All of the top 500 super computers in the world were running Linux since November 2020. All of the internet architecture is built on Linux. The earlier architecture started on Unix. The Internet was started by ARPA/DARPA which is a part of the defence department. The defence department and many government departments mandate POSIX as their standard. Linux was defined to be POSIX from the time it was created. So if it is not POSIX compliant, then it cannot be Linux. And the best part is this: it can run over a wide range of devices seamlessly. You don’t need to invest on different platforms for each type of device you use – there’s a one-for-all solution to benefit from.

Also, according to its creator and most other IT professionals who have used the platform, it is the fastest OS ever. It beats Sun/Solaris, Unix, MacOS, and Windows in a number of ways and is the most powerful IT platform available. Getting the Linux Fundamentals certification can actually open quite a few doors for you.

Linux is also the most deployed OS in the containers and virtual machines in Azure which is the Cloud computing offering by Microsoft.

Open Source

Linux (and Unix for that matter) is an open source platform. This means that the source code is freely available for modifications and study. In this situation, there’s a wide window of opportunity in terms of what the Linux professionals can achieve using this software.

In today’s world, open source software have immense value for the possibilities they have. Likewise, Linux offers immense freedom when it comes to creating and/or manipulating applications.


Secure

As compared to Windows, primarily because the OS is open source, there are fewer security threats. There is less chance for hacking attacks and/or virus multiplication. It is regarded as one of the safest Operating Systems for which all processes are inherently protected. Some non technical and unaware people shall attempt to fool the public by making statements like being opensource means more bugs.

What happens in reality is that more bugs are found and fixed faster if they exist. This is what makes the systems more reliable and secure. Bugs have a low chance of staying hidden in an open environment where anyone can check the code.


Can integrate with and any the oldest technology

With Windows, you’ll need to upgrade your hardware to be able to use the software. The reason is that to support more things, you need a lot more people and resources. Linux, however, integrates well with all pieces of technology, even that ragged old personal computer you once received on your birthday roughly two decades ago! When it comes to putting technology in use, Linux is the way to go. As long as some hardware is in front of some hackers and they feel like keeping it in use, you can be sure that they are going to spend some time in making it and keeping it compatible with the newest version of Linux. Growing Enterprises, for one thing, do not have that kind of budget to keep upgrading their systems all the time. Linux ensures they won’t need to upgrade their systems or compromise on performance. Even if you want to keep some old system running and no hacker is interested in supporting your hardware choice and making sure the hardware works with the newest versions of Linux, then you have the choice of paying some programmer to make sure this is done. This process has a specific term. It is called back porting. You get a programmer to take the latest software and drivers and code in the newest Linux version and back port into an older Linux version so that you whole system can keep running on the old version for any technical reason you may have.

There is no compulsion to upgrade if you do not want to. The new code can be made to come to the old system without upgrading the whole system.



Ideal for Programmers

It doesn’t matter which language you’re targeting – Linux supports all of them. For programmers, Linux offers customizable computing heaven. And it’s not just about supporting languages, it is also about the availability of tools such as native libraries and programming functions, etc.

Especially if you’re a developer hoping to turn around an organization’s ITIL/ITSM, DevOps, and Agile/Scrum process, Linux Fundamentals will definitely be a huge stepping stone towards success.

More Frequent Software Updates

One thing that Linux is most popular for its frequent software updates. Unlike Windows for which patches appear over a period of months, Linux is quick to solve problems and deliver these to their customers. Linux is the fastest to be patched of all the systems available.

Project Zero looked at fixed bugs that had been reported between January 2019 and December 2021. The researchers found that open-source programmers fixed Linux issues in an average of only 25 days. In addition, Linux's developers have been improving their speed in patching security holes from 32 days in 2019 to just 15 in 2021.

Its competition didn't do nearly as well. For instance, Apple, 69 days; Google, 44 days; and Mozilla, 46 days. Coming in at the bottom was Microsoft, 83 days, and Oracle, albeit with only a handful of security problems, with 109 days. By Project Zero's count, others, which included primarily open-source organizations and companies such as Apache, Canonical, Github, and Kubernetes, came in with a respectable 44 days.


Personalization

This might not be a huge advantage, but Linux offers far greater opportunity when it comes to personalization. Ranging from complete desktops to themes to icons and wallpapers, Linux users can find something to better suit their tastes and tweak them even further to match exactly what they need.

This, admittedly, doesn’t determine the functional superiority of Linux over other Operating Systems but it does offer that personal touch, allowing users to extend their ownership over the system.


This is not windows 10. It is linux with a desktop which makes it look like Win 10.


This is not a Mac. It is linux with a desktop which makes it look like a Mac.


Inexpensive

It’s free! There’s no better way to put it. It’s an open source OS which is available to all. The company shared the ownership of these tools long back, and it has since become one of the greatest discoveries in the world of Information Technology. By being free, you do not have to pay for upgrades or licensing of softwares. You only need to pay for the support you need and training. Since you save on yearly costs, you can get a lot more from the training and support. If you are the type who learns on their own by their own experience, then you only have to pay for hardware. And you can afford the best because you are saving on software licensing, upgrades, training and support. One recommendation. Linux does perform better than others on almost all hardware, but one difference is that it performs way better if you give it more RAM. Some other operating systems perform a little better with a better CPU. However it is better to increase the RAM on Linux systems over CPU power to get a large boost in performance. We can go into the technical details of these kinds of suggestions and tips and tricks in the course.

Community Support

There’s ample community support available for Linux users. No matter the kind of query you have, rest assured you’ll be able to find someone who’s been through the same and solved the issues. They’ll even share exactly what they did and how. Linux is more about making life easier for yourself!

Reliable

The Linux OS in its entirety is much more stable and reliable than all other OSes available in the market. It doesn’t get slow over time. It doesn’t crash. It doesn’t face most of those issues that other popular consumer-oriented Operating Systems do. Linux is something you choose once and benefit from for the rest of your time.


Privacy

Linux appreciates privacy like none other. Most other Operating Systems will collect consumer data and send them back to the company for big data analysis. Turning off the system’s ability to collect and share this information is a maze – the setting needs to be turned off in a million places to completely shut off the feature. In Linux the distributors are not the owners of the software so they cannot put restrictions on use and request information or anything in exchange for the rights to use.

More often than not, people settle for privacy invasion simply because hoping to keep it in place is too much effort.











Prerequisites

Advanced computer literacy


Basic understanding of TCP/IP networking concepts


A minimum of three months’ practical experience using Linux or Unix


A willingness to learn and use command line applications


A commitment to further practice and exam preparation if LPI certification

is your goal


Delivery

The course is available via classroom, online, and distance learning formats.

The assessments are available in a physical lab, online and via distance learning.

Certificates are available online. Printed certificates can be mailed to the customer.



Topics


Introduction

What Linux is, Unix philosophy

Logging in, typing commands, logging out

Files, directories and paths

Creating files with a text editor

Viewing files (cat, less)

Managing files (cp, mv, rm)

Magic dot files and hidden files

Managing directories (mkdir, rmdir)

Documentation for commands (man)

Useful shell features (command-line editing, command line completion, history)

The Unix and Linux command line

Unix shells (bash)

Command line syntax (options, arguments)

Shell variables and environment variables

Command substitution

Using pipes to connect programs

Useful text filters (wc, sort, uniq, expand, head, tail, nl, tac)

Spitting files across disks (split)

Using redirection to connect programs to files

Redirect into files with append (>>)


Regular expression searches

Searching files with regular expressions (grep)

The concept of ‘pattern matching’ with regular expressions

Anchor the pattern to the start of end of the line (^, $)

Match repeated patterns (*, \+, ?)

Escaping special characters in regexps (\)

Matching any character (.)

Matching alternative patterns (\|)

Simple use of sed to ‘search and replace’

Documentation

The unfortunate diversity of Linux documentation

Using man(1)

How manpages are divided among ‘sections’

Searching for man pages (apropos, man -k)

Printing man pages (man -t)

Documentation for shell builtins (help)

Using GNU info documentation (info)

Documentation under /usr/share/doc

Text editing with Vi

Unix is all about text

Vi: the standard Unix editor

The concept of ‘modes’ in a modal editor

Vi clones, extensions to vi

Other powerful Unix text editors

Practical work learning Vi and Vim


Processes and jobs

What processes are

The properties of a process

Parent processes and child processes

Job control (fg, bg, jobs)

Suspending processes (Ctrl+Z)

Running programs in the background (&)

Long-lived processes (nohup)

Monitoring processes (ps, pstree, top)

Killing processes and sending signals a process (kill, killall, xkill)

Process niceness/priority (nice, renice)

Filesystem concepts and use

The unified Unix filesystem

Special file types

Symbolic links (ln -s)

Inodes and directory entries

Hard links

Preserving links while copying and archiving

Where to put things: the FHS


Filesystem security

Users and groups

The ‘root’ user, or superuser

Changing file ownership (chown)

Changing file group ownership (chgrp)

More complex ways of changing ownership (recursively, changing owner and group simultaneously)

Permissions on files

Permissions on directories

How permissions are applied

Changing permissions (chmod)

The special ‘sticky bit’ mode on directories

Setgid and setuid permissions, their effect on files and directories

Default permissions for new files (umask)

Filesystem design and maintenance

Disks, partitions, individual filesystems and filesystem types

Naming of disk and partition devices (/dev/hda, etc)

Creating and deleting partitions (fdisk)

Mounting and unmounting filesystems (mount, umount)

Checking available free space and space used by files (df, du)

Checking and correcting the integrity of filesystems (fsck)

Journaling filesystems, converting from ext2 to ext3

Booting and runlevels

The boot process: from BIOS to kernel to userspace

Setting kernel parameters

Configuring a boot loader: LILO and Grub

Runlevels and init scripts

Configuring services to run at boot

Securing single-user mode (sulogin)

Shutting down and rebooting the system


Managing user accounts and configuration files

Configuration files

Environment variables for configuration (PATH, PS1, DISPLAY, http_proxy)

Setting and examining shell aliases

Configuring the readline library (inputrc files)

User database files (/etc/passwd, /etc/group, etc)

Changing passwords (passwd)

Adding users (useradd, adduser)

Deleting and modifying user accounts (userdel, usermod)

Locking and unlocking user accounts

Scheduling, logging and backup

Running commands at particular times (at, atq, atrm)

Scheduling commands to run repeatedly (cron)

Different ways of configuring cron (/etc/crontab, etc)

User crontabs (crontab command)

Configuring logging (syslog, /etc/syslog.conf)

Examining logs (less, grep, tail -f)

Log rotation (logrotate)

Backup strategy and media

Using tar to make, examine and extract archives

7zip for password based backups

ATRC quantum proof encryption.

DVD Writing for backups


Installing software

Managing software installation (advantages of package management)

Debian package management:

Red Hat package management:

Compiling and installing software from source code (./configure, make, etc)

Managing shared libraries (ldd, ldconfig)

The Linux kernel

What the kernel is and does

Kernel modules (lsmod, modprobe, rmmod)

Module dependencies (depmod)

Examining modules (modinfo)

Configuring kernel modules (/etc/modules.conf)

Recompiling the kernel

Configuring, compiling and installing the kernel and modules (make menuconfig, make xconfig, etc)

Loading and unloading kernel modules (lsmod, modprobe, rmmod)

The X window system

What X is

The role of window managers and desktop environments

Startup and session scripts

Terminal emulators (xterm, etc)


Advanced shell usage

Quoting (single quotes, double quotes, backslashes)

Combining quoting mechanisms

Globbing patterns (*, ?, [])

Generating filenames and other text with {} braces

Shell scripting and configuration

The point of shell programming

The ‘she-bang line’ (#!/bin/sh)

Outputting text with (echo)

Reading input (read)

Writing simple shell functions

Sourcing files

Command substitution again

Conditional execution (||, &&, if, else)

Looping (for, while, seq)

Infinite loops (while true)

Testing for the existence and type of files (-f, -d, etc)

Sending email from scripts (mail)

TCP/IP networking configuration

Overview of modern TCP/IP networking, rôles of IP, TCP, UDP and ICMP

Domain names and IP addresses (host, dig)

Port numbers (/etc/services)

Network interfaces (ifconfig, ifup, ifdown)

Kernel routing tables (route)

Finding and setting the hostname (hostname, /etc/hostname)

DHCP client hosts

Network diagnostics (ping, traceroute, netstat)


Linux network services

Overview of network services under Linux, operating daemons

Sending signals to daemons

The advantages and disadvantages of using Inetd and Xinetd, basic configuration of both

DNS and email services

Configuring the resolver libraries

Structure of domain names, registering names (whois)

Running a DNS server (BIND), setting up a caching-only name server

Running an MTA (email server)

Email clients (MUAs)

Basic configuration of Exim

Routing mail with MX (mail exchanger) DNS records

Basic configuration of Apache

Running a webserver (Apache)

Configuration files for Apache

Named virtual hosts

Options available for dynamic pages

Logging in Apache

Networked filesystems

Configuring NFS (/etc/exports, /etc/fstab)

Basic Samba configuration (smb.conf)



Trainer :

Khawar Nehal
Mr. Khawar has been using and teaching Linux administration for almost three decades since 1993 and Unix since 1991. Started using computers 42 years ago in 1980. Has been in the field of computers actively for the past 38 years since 1984. Has trained over 10,000 students in subjects related to ICT, Energy and Management.

Terms and conditions

Assessment and certification : PKR 10,000 per hour.

One on one online teacher support : PKR 4,000 per hour.

Group classroom online teacher support : PKR 10,000 per hour.

Support via email, whatsapp, telegram and signal : Rs 1,000 per query.

Access to resources : PKR 2,000 for 6 months.

100% money back guarantee.

Financial Aid available for deserving participants.


Special introductory offer :

Register before 7 May 2022 and get the following services for only Rs 5,000

Online teacher support : 10 Hours ( Worth PKR 40,000 )

Access to resources : For 6 months ( Worth PKR 2,000 )

Support via email, whatsapp, telegram and signal : 30 Queries ( Worth PKR 30,000 )

PKR 72,000 package for only PKR 5000.



Money back guarantee for your complete satisfaction.

We are completely committed to offering an excellent course at an excellent price which provides extreme value. If for any reason you feel that our products and services did not live up to your expectations or you think that somehow our service did not meet your standards of excellence, we offer a no-hassle 100% money back guarantee for 15 days. In other words, you can get your money back for any purchase made within the past 15 days. Money transfer and bank transfer charges are to be paid by the customer.


Contact : +92 343 270 2932

Email : linux-course@atrc.net.pk

Web : http://atrc.net.pk