UNIX/Linux
Training
By Sanghapal Awachar
Introduction to OS
What is software ?
Software refers to a program or a set of instructions and applications used to
manage and control various functions of a computer.
Types of software
Generally software classified into the following two types:
1.Application software
2.system software
Introduction to OS
1.Application software
Perform information processing tasks for end users.
Examples : word processing, ppt sheet, database, browsers.
2.System software
Manage and supports operations of computer. it is basically two types:
1.operating system 2.system-utilities
Introduction of OS
Utilities software is used to perform basic maintenance tasks on a computers
1.Disk cleanup
Disk cleanup allows for you to scan your entire hard drives to search for extra
space(room) by deleting any unnecessary files such as temporary files from
internet and cookies.
2.Disk defragmenters
The main functions of the Disk defragmenter is to reassemble fragmented
files.designed to increase access speed by rearranging files store on a disk.
Introduction to OS
4.Disk compressor and Archives
Disk compression is a type of functions that allows for a program to search your
hard drive and compress files particularly old and used files. This improves your
computer's functionality and performance because it does not have to keep track
of so many files at once.
5. System restore
System restore is great for fixing problem that a virus has caused after you use
antivirus software to rid your computer of the malware.
Introduction of OS
6.Registry cleaners
Registry cleaners are programs that allow for you to scan your computer for any
error in registry which collection of core computer files.
Introduction OS
Operating System
An operating system (os) is an interface between computer user and computer
hardware.
Functions of an operating system:
Memory management, Processor management, device management, file
management, security, job scheduling etc.
Introduction to OS
Types of Operating Systems :
1.Single user and single tasking os
There is simple operating system designed to manage one task at a time. For use
by a single user for standalone single computer for performing a task.
For example: If the user is editing a document a document can not be printed on
the printer simultaneously. MS-DoS
Introduction to Unix
2.Single user and Multitasking OS
The user can listen to music on the computer while writing an article using a word
processor software.
3.Multi Users OS
These os allow same data and applications to be access by multiple users at the
same time. The users can also communicate with each others.
Examples : Unix, Linux And windows.
What is Unix and History of Unix?
Unix is command user interface operating system. It can be able to work on any
type of computers. Minicomputers, microcomputers supercomputers, mainframe
computers on any device.
.
History of Unix
MULTICS
Started in 1969 by AT &T, GE and MIT (M-2 users)
UNICS Created by Ken thompson and dennis Ritchie in 1971
1972 launch “C” language father dennis Ritchie
UNIX Written in 100% c Language and released in 1973
Flavors of Unix
Vendor Operating System
AT&T Bell Lab ( American Telephone and Telegraph) SYSIII-SYS V
SUN ( Stanford University Network ) Solaris
IBM ( International Business Machine Corporation ) AIX
SG ( Silicon Graphics ) IRIX
SCO ( Santa Cruz Operation ) SCO-UNIX
BSD ( Berkeley Software Distribution ) Free BSD
HP ( Hewlett-Packard) HPUX
What is Linux?
Linux
Linux is a Kernel command line interface operating system. In 1991
Linus Torvalds a graduate student from University of Helsinki
designed a UNIX like kernel on 386 Intel machine and gave this to
OSF(open source foundation) .
The kernel
A kernel is interface between hardware and operating system. It is
communicate with hardware. Or a program that allocates and controls
hardware resources in a system.
Kernel responsible for :
Process management, Device management, Memory management, Interrupt
handling, I/o file communication, File system etc...
The Linux kernel
The Linux kernel is currently maintained by Linus Torvalds and a few
hundred other developers
Releases are numbered in a very ordered fashion.
Major.minor.patchlevel
Odd minor numbers are development kernels
Thus
2.4.20 latest stable kernel
2.5.67 latest development kernel
Will become the 2.6 kernel
Design
The Linux kernel has a monolithic design
The other approach is the micro kernel design
Both have their upsides and downsides
Monolithic kernels
Easier to build and design
Generally faster
More recompiles
Less object oriented
Micro kernels
Considered safer
Easier to develop drivers for
Only recompile for upgrades
Generally slower
Much harder to build and design
The Shell
The shell is the command interpretor in an operating system such
as Unix or GNU/Linux, it is a program that executes other
programs. It provides a computer user an interface to the
Unix/GNU Linux system so that the user can run different
commands or utilities/tools with some input data.
When the shell has finished executing a program, it sends an
output to the user on the screen, which is the standard output
device. For this reason, it is referred to as the “command
interpretor”.
Top most used open source shells on Unix/GNU
Linux.
Bash Shell
Bash stands for Bourne Again Shell and it is the default shell on many Linux distributions
today. It is also a sh-compatible shell and offers practical improvements over sh for
programming and interactive use which includes:
Command line editing
Job Control
Unlimited size command history
Shell Functions and Aliases
Top most used open source shells on Unix/GNU
Linux.
Tcsh/Csh Shell
Tcsh has the following features:
C like syntax
Command-line editor
Programmable word and filename completion
Spelling correction
Top most used open source shells on Unix/GNU
Linux.
Ksh Shell
Ksh stands for Korn shell and was designed and developed by
David G. Korn. It is a complete, powerful, high-level
programming language and also an interactive command
language just like many other Unix/GNU Linux shells.
Top most used open source shells on Unix/GNU
Linux.
Zsh Shell
Zsh is designed to be interactive and it incorporates many features of other Unix/GNU Linux shells such as bash,
tcsh and ksh.
It is also a powerful scripting language just like the other shells available. Though it has some unique features that
include:
Filename generation
Startup files
Login/Logout watching
Closing comments
The Linux GUI System
The graphical user interface (GUI ) is a form of user interface
that allows users to interact with your system through
graphical icons and visual indicators such as secondary
notation, instead of text-based user interfaces, typed
command labels or text navigation.
XWindows
Linux Graphical Environment
Invoked via the startx command
Two major environments
KDE
Gnome
The difference is primarily in philosophy
Redhat trys to erase the differences with Bluecurve
Does everything Windows does and more
What is Open source and Enterprise
Open Source Enterprise Edition
Fedora (19to22) Red Hat (RHEL 7)
Open SUSE SUSE
CentOS
Linux Distributions
Linux distributions are mainly divided into two packaging formats:
rpm and deb.
Distributions like Red Hat Enterprise Linux, SUSE Enterprise
Linux, openSUSE, Fedora and CentOS are based on rpm.
While the Debian family, including Ubuntu, Linux Mint are based
on .deb.
Features of Linux
● Open Source
- Free software along with the source code and documentation.
● Multitasking
- Capable of running multiple application and process at the same time.
● Multi-user
- Allow multiple users to login and use the resources at the same time.
● Portability
- Can be installed on all hardware architecture.
Features of Linux
● Scalability
- Same operating system can be used on a desktop to a super computer.
● Reliability
- Large servers have been successfully being running without a single second
of down time.
● Security
- File permission, Selinux and firewall.
Isn't a GNU an Animal?
GNU stands for GNU Not Unix
The goal of GNU
Create a free and complete UNIX-like operating system
This has been in development since 1984Towards this goal the GNU project
has released:
GCC, GNU Emacs, Bash, to name a few
For more information see the GNU Manifesto
http://www.gnu.org
What is the GNU GPL?
The GNU General Public License
Ensures that GNU software stays free
This is done through Copy Lifting.
Any modification to GPL software is required to be released to the public
Linux is released under the GPL
Due to its restrictive nature the GPL has recently come under fire
http://www.linux.org.uk/GPL.html
Does the GPL Matter?
Depends on your point of view
Not as important for users
Very important for developers
Any GPL code that is incorporated into a program makes the
entire program GPL
No closed source software can use any GPL software
Linux architecture
Installation of Linux Hardware Requirement
Minimum
Processor Dual Core
Ram CLI 512 MB
GUI 1 GB
Hard Disk Space CLI 10 GB
GUI 15 GB
Installation Steps
Boot your system through any Bootable device Like:cd/dvd,pd,nic.
Regions (time Zone}
Language selection
Installation source
Installation destination (partitioning)
Keyboard Language selection
Software selection
Host name and network configurations.
Setup root password and create normal user account
Complete Installation.
File system Hierarchy of Unix and Linux
Basic command
pwd ls touch cat mkdir cd cp
mv vi man history date cal bc
less more head tail grep find cut
sort wc find pinfo info help uname
Basic command
pwd ls touch cat mkdir cd cp
mv vi man history date cal bc
less more head tail grep find cut
sort wc find pinfo info help uname
useradd usermod userdel passwd shadow
diff chmod crontab Cron.deny Cron.allow
chown chgrp Umask g+s stikybit
setfacl getfacl at Uname rpm