Upload
ravikumar-nandigam
View
8
Download
0
Embed Size (px)
Citation preview
UNIX OPERATING SYSTEM- Ravi www.etraining.guru
What is an Operating System ?
Definition: An Operating system (OS) is a collection of softwares that manages computer hardware resources and provides common services for computer programs. (as per Wikipedia!)
A simple definition - An Operating System is an interface between Hardware and User.
Circular V
iew
Horizontal V
iew
Examples of Operating Systems
DOS - Disk Operating System, a product of IBM. Not very user friendly!
Windows - A product of Microsoft. User friendliness through GUI
MacOS - Macintosh, a product of Apple. User friendliness through GUI
Unix - Originally CUI, now has GUI as well
Linux - Supports both CUI & GUI
If Windows is an OS, what are Windows 95, 98, ME, NT, 2000, XP, 7, and 8?
Similarly, Unix and Linux OS’s have various flavors/versions too. Lets first look at Unix Evolution …
Unix Evolution
“MULTI”cs (MULTIplexed Information and Computing Service)
“UNI”XBy, Dennis Ritchie, Brain kernighan and Ken Thompson @AT&T Bell Laboratories in early 1970's
Unix Evolution …
• Is the name of the family of operating systems developed at Bell Laboratories around 1969.
• Was largely the creation of two programmers working at Bell Laboratories, Ken Thompson and Brain
Kernighan.
• Was initially used in academic environments and spread quickly to commercial environments also
• Has got 90% of it developed in ‘C’ language and, 10% machine specific assembly code.
• Basic UNIX system occupies around 10 MB disk space on PCs.
Unix Evolution …
Note: You can also call these Single Unix Specifications as POSIX - Portable Operating System Interface for UNIX
Unix Evolution …
Open source (vs) Closed Source (vs) Mixed source?
Unix Evolution …
Unix Evolution …
What is LINUX?
Linux is a Unix clone written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX compliance.
Below are few popular Linux distributions:
• Debian - A non-commercial distribution maintained by a volunteer developer community with a strong commitment to free s/w principles
• Ubuntu - A popular desktop and server distribution derived from Debian
• Fedora - A community distribution sponsored by American company Red Hat
• openSUSE - A community distribution mainly sponsored by American company Novell
• Mageia, Mint Linux, slackware, etc
Unix/Linux Main Features
Multitasking Capabilities
Multi-User Capabilities
Hierarchical Directory Structure
Security
Portability
UNIX Architecture
KernelShell
Tools & Applications
H/W
UNIX Architecture …
Categorized as three levels:
• Kernel - Core/Heart of the Operating System
• Shell - User interface with Operating System
•Tools and Applications - Utilities and User Programs
Note: In detail, will be covered in later sections …
Dumb Terminals / Nodes
UNIX Server < --- > Terminals
Working in Unix Environment
Few things to remember …
Working in Unix is majorly through commands
Syntax: command option(s) filename(s)You must type spaces between commands, options, and filenames
Unix is case sensitive
Unix has a lot of commands! Don’t try to byheart all of them
uname
Command Name: uname
Syntax: uname [option] …
Description: Print system information
Usage: uname -a ==> Print all informationuname -s ==> Kernal nameuname -n ==> node nameuname -r ==> Kernal releaseuname -o ==> operating systemuname -son ==> Kernal name + os + node nameuname -m ==> m/c hardware nameuname -i ==> Hardware platform
man
Command Name: man
Syntax: man [command]
Description: Online manual pages; In built google!
Usage: man uname ==> to display “uname” manual pagesman man ==> to display “man” manual pages
Note: In manual pages, q is to quit/come back to command prompt. “Space Bar” is to scroll to next page
User Related
• who – Shows who is logged on
• w – Shows who is logged on and what they are doing
• whoami – Effective userid
• who am i – details about the userid
PS: man –k who searches for word who in all man pages
Unix MISC commands
• tty – Displays the terminal id
• stty –a
Example: stty intr ^a (To use CTRL + a for interrupt)
• ifconfig – To get IP address
Example: /sbin/ifconfig | grep 'inet addr:'| grep -v
'127.0.0.1' | cut -d: -f2 | awk '{ print $1}‘
Unix MISC Commands
• cal
• banner
• clear
• alias
Date Command
• Gets/sets the date and time in the UNIX server machine
• Some Options : %D, %T, %A, %B, %H, %d
• Examples
- $ date
- $ date +%D
- $ date +%T
- $ date +%d-%m-%Y
Date command contd…
• Setting system time: (Needs root permission)
Example: $date MMDDhhmmYYYY.ss
Where, MM – month
DD – day
YYYY – year
hh – hour is based on 24 hour
mm – minutes
ss – seconds
Before we move on to next concept …
unamemanwhowwhoamiwho am ittyifconfigcalbannerstty dateclearalias
UNIX FILE SYSTEM
What is a filesystem?
A filesystem is a logical collection of files on a partition or disk. You can view filesystems using df (or) bdf commands
Unix uses a hierarchical file system structure, much like an upside-down tree, with root (/) at the base of the file system and all other directories spreading from there.
In Unix everything is a file - a stream of bytes. Unix treats documents, directories, hard-drives, CD-Roms, modems, keyboards, printers, monitors, terminals, etc as files.
For each file in the filesystem, UNIX stores administrative information in a structure known as Inode (Index node).
ls -I /etc/passwdstat /etc/passwd
•
Unix File system (tree) Structure
UNIX File System
3 types of files
• Ordinary - Under user control (Ex: Notepad/wordpad in windows)
•Directory - to hold list of files (like a folder in windows)
• Speical - For example, device drivers, raw devices, etc
File System Commands
• pwd Print Working Directory
• ls
• cd
• mkdir
• touch
ls – List directory contents
• Syntax: ls [OPTIONS] [FILE(s)]
Examples: ls –l Long Listing
ls –la to list hidden files
ls –ltr To list files based upon modified time
ls –l /home/cdctrg32/ravi/copyme (listing other user files)
Note: . is Current working directory, .. is Parent working directory
cd – Change Directory
• syntax: cd [options] [directory]
• Example: To go to root directory, cd /
• cd . (You will be in pwd)
•cd .. (One directory up)
• cd - (Changes to previous working directory)
• cd Enter (Changes to Home directory)
mkdir – create directories
• Syntax: mkdir [OPTIONS] [Directories] …
• Example: cd Enter (You will be placed in your home directory)
mkdir training (Creates a new training directory)
ls –l training (View recently created directory)
cd training (Now you will be placed in training directory)
pwd; ls (Bingo!!! No files created yet)
cp – copy files and directories
• Syntax: cp [OPTIONS] [SOURCE] [DEST] …
• Example: cd training;
cp /home/cdctrg32/ravi/copyme mycopy (file copy)
cp –R /home/cdctrg32/ravi/copy_dir . (directory copy)
mv – move/rename files
• Syntax: mv [OPTIONS] SOURCE DEST
• Example: cd training
mv mycopy mvcopy
ln – links b/w files
• Syntax: ln [OPTION] target dest
• Example: cd training
ln /home/cdctrg32/ravi/linkme linkme
• ls –l linkme
-rw-rw-r-- 2 cdctrg32 cdctrg32 49 Jul 21 22:49 linkme
Note: type “cat linkme”. The usage of cat will be covered in later
sessions
File Permissions
• ls –l filename will display as below:
-rw-rw-r-- 1 cdctrg32 cdctrg32 17 Jul 21 22:55 filename
Field 1: a set of ten permission flags.
Field 2: link count (don't worry about this)
Field 3: owner of the file
Field 4: associated group for the file
Field 5: size in bytes
Field 6-8: date of last modification (format varies, but always 3
fields)
Field 9: name of file
• Field 1: Contains 10 characters
1 - directory flag, 'd' if a directory, '-' if a normal file, something else
occasionally may appear here for special devices.
2,3,4 - read, write, execute permission for User (Owner) of file
5,6,7 - read, write, execute permission for Group
8,9,10 - read, write, execute permission for Other
• Permissions are set according to numbers. Read is 4. Write is 2. Execute is 1. The sums of these numbers give combinations of these permissions:
• 0 = no permissions whatsoever; this person cannot read, write, orexecute the file
• 1 = execute only • 2 = write only • 3 = write and execute (1+2) • 4 = read only • 5 = read and execute (4+1) • 6 = read and write (4+2) • 7 = read and write and execute (4+2+1)
• The below file has 664 permissions
-rw-rw-r-- 1 cdctrg32 cdctrg32 17 Jul 21 22:55 filename
• To give write permission to other group users,
chmod 666 filename
• To take out permission from all other users: chmod 600 filename
• Note: id command tells the default group id
• Example: Can you cat the below file to see the contents of the file
cat /home/cdctrg32/ravi/passwords
• Nope. But why?
chgrp & chown
• chgrp NewGroupName File/Directoryname
• chown Newownername File/Directoryname
touch
• creates empty file
• changes the file timestamp
• Example: touch filename
Note: touch command is mostly used in system build time. But
how?
umask
• User file creation mode mask – 4 digit octal number that unix uses
to determine the file permission for newly created files
• (666 – umask) value is the default permissions
• Exercise: Change the umask value to 000 and create a new file.
more – less – head - tail
• cp /home/cdctrg32/ravi/largefile .;
• cat largefile (Bingo!!!)
• more – Forward only
• less - forward and backward movement
• head -10 largefile /* First 10 lines of the file */
• tail -10 largefile /* Last 10 lines of the file */ **To view Log Files**
• which <command> – Displays the path of the commands
• whereis <command> - More info than which
• whatis <command> - quick introduction about the command
• ldd – prints library dependencies
Example: ldd /bin/ls
• file <filename> - displays the file type
history command
• history – displays the history of typed commands
Usage: history 20
!! Repeats the last command
!number -> reruns the command given at the given line
• passwd – To change your password