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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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!
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.
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.
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
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.
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)
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 (>>
)
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’
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
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
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
)
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
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
)
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
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
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
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
Managing software installation (advantages of package management)
Debian package management:
Package naming and version numbering
Searching for packages
(apt-cache
)
Using Apt to get and
install packages (apt-get
)
Low-level package
management (dpkg
)
Red Hat package management:
Installing and
upgrading RPM packages (rpm
)
Which packages are installed, which package a file came from
Examining RPM package files
Verifying integrity of the installation
Compiling
and installing software from source code (./configure
,
make
,
etc)
Managing
shared libraries (ldd
,
ldconfig
)
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
)
What X is
The role of window managers and desktop environments
Startup and session scripts
Terminal
emulators (xterm
,
etc)
Quoting (single quotes, double quotes, backslashes)
Combining quoting mechanisms
Globbing
patterns (*
,
?
,
[]
)
Generating
filenames and other text with {}
braces
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
)
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
)
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
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
Running a webserver (Apache)
Configuration files for Apache
Named virtual hosts
Options available for dynamic pages
Logging in Apache
Configuring
NFS (/etc/exports
,
/etc/fstab
)
Basic
Samba configuration (smb.conf)
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.
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.
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