0% found this document useful (0 votes)
211 views47 pages

Unix Fundamentals: by - Sarvesh Kumar Gupta

Unix was first developed in 1965 and written in C programming language. It has a multi-user capability and is a multi-tasking operating system. The Unix file system is organized hierarchically with the root directory at the top. Core commands are used to manage and manipulate files and directories.

Uploaded by

Anuj Rawat
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
0% found this document useful (0 votes)
211 views47 pages

Unix Fundamentals: by - Sarvesh Kumar Gupta

Unix was first developed in 1965 and written in C programming language. It has a multi-user capability and is a multi-tasking operating system. The Unix file system is organized hierarchically with the root directory at the top. Core commands are used to manage and manipulate files and directories.

Uploaded by

Anuj Rawat
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1/ 47

UNIX

FUNDAMENTALS

By - Sarvesh Kumar Gupta


Agenda…

History Of Unix
Features of Unix
Unix System Organization
Unix File System
Commands
VI Editor
History Of Unix

 UNIX was first developed in1965 by Bell Telephone Labs and


GE Company

 Initially, UNIX was named MULTICS

 Dennis Ritchie and Ken Thompson of AT&T started afresh in


1969 and developed on PDP-7

 The system was named UNIX by Brian Kernighan


History Of Unix

 In 1971, UNIX was ported on PDP-11 (16 bit)

 This flavor was developed on Assembler and system dependent

 To Handle this, Ken developed ‘B’ language

 But, ‘B’ has some deficiencies


 Ritchie modified ‘B’ and developed ‘C’

 The whole UNIX was written in ‘C’ except some modules


Evolution continued…

 1975 (UCB) Berkeley developments starts


 1980 Xenix by Microsoft
 1982 HPUX was introduced

 1991 Linus Trovalds creates LINUX kernel

 1999 Red Hat Inc. release Red Hat Linux version6.0

 NOW Two major standards of UNIX are in market


SysV(AT&T) release and BSD release
Prominent Unix flavors !!!

 BSD: Berkeley, BSD


 Solaris: Sun Microsystems, Sys 5/BSD
 Ultrix: Digital Equipment Corporation, BSD
 OSF 1: Digital Equipment Corporation, BSD/sys 5
 HPUX: Hewlett-Packard, Sys 5 /BSD
 AIX: IBM, Sys 5 / BSD .
 IRIX: Silicon Graphics, Sys 5 .
 GNU/Linux: GNU, BSD/POSIX
Minimum Hardware requirements

 Minimum of 80 MB Hard disk space with 4 MB RAM

 Any 80286 and above processor

 UNIX requires about 1MB RAM space for each extra terminal
connected to it
Features of UNIX…

Multi-user Capability

 Terminals are connected to the host (main machine) through


controller card
 The controller card provides 4/8/16 ports
 UNIX supports different terminals
 Dumb Terminal
 Terminal emulation (Using Emulation Software)
 Dial-in Terminal (Using telephone to connect to host)
Features of UNIX…

Multitasking

 UNIX is capable of carrying more than one job at a time

 Do jobs in foreground and background

 Achieved through dividing the CPU time intelligently among all


processes being carried-out
Features of UNIX…

Security
 Allows sharing of data

 Three levels of security

 Login level security

 File Security through permissions

 File encryption utility


Features of UNIX…

Portability

 Can be ported to any system with bare minimum modifications

 This was achieved through C as UNIX was written in C


System Organization

Tools & Applications


Shell

Kernel
Users
Hardware
System Organization

 Manned in three levels

 Heart of UNIX is Kernel

 Kernel interacts with hardware

 Communication is carried out by the second layer, Shell. Shell is


a basic command interpreter

 Third level is the User applications


Shells

There are many shells available on Unix

 Bourne Shell (/bin/bash) or (/bin/sh)


 C Shell (/bin/csh)
 Korn Shell (/bin/ksh)
 Restricted Bourne Shell(/bin/rsh)
 Secured Bourne Shell (/bin/ssh)
Getting started

Logging to Unix
 Access to Unix is through a login and a password
 Login & password will be created by the System administrator
 Password will not be visible while typing
 After three successive failures of login, the login will be
disabled
 If login/password or both not entered correctly, it returns a
message “login incorrect”
 After Successful login, command prompt is displayed (# or $)
Behind the Logging ….

 login/password

 Checks the authenticity in /etc/passwd file

 Executes .profile file which was created at the time of account


creation

 Then, the command prompt is displayed


Logging Out !!!

This can be done by any of these three methods :

 Press Ctrl +d

 Type “exit” in the command prompt

 Type “logout” in the command prompt


Unix File System

 Unix understands everything as a file. It may be a disk or


terminal or directory or a file

 All hardware devices are accessed through files

 Files can be primarily categorized into three types :


 Ordinary Files (represented by ‘-’ while listing)
 Directory Files (represented by ‘d’ while listing)
 Device Files (present in /dev)
File System Hierarchy
Commands

Ground Rules ::

 All Unix commands should be entered in lower case letters


 Commands may have arguments
 Between command and arguments, there must be at least one
space or tab
 All command flags will be given with ‘-’ (Hyphen)
 Arguments can be clubbed into a single argument

Eg : ls –la
Commands

File manipulation commands

 File Creating - touch , vi


 File Viewing - cat, more, less, head , tail
 File Listing - ls
 File Linking - ln , ln –s
 File removing - rm
 File copying - cp
 File renaming or moving – mv
 Directory commands – cd, mkdir, rmdir
 File permissions – chmod, chgrp, chown
Commands

 touch file1 - creates an ordinary file ‘file1’


 touch –a file1 - changes only the access time of ‘file1’
 touch –m file1 - changes only the modification time
 touch file1 file2 - creates two files ‘file1’ and file2’ of zero size

 cat file1 - displays contents of ‘file1’


 cat > file1 - whatever is typed after this will go into ‘file1’

 cat >>file1 - whatever is typed after this will be appended


 cat file1 file2 - displays the contents of ‘file1’ and ‘file2’
 cat file1>file2 - ‘file2’ will be overwritten with contents of ‘file1’
 cat file1>>file2 - contents of ‘file1’ will be appended to ‘file2’
Commands
 cat file1 file2> file3 - ‘file3’ is overwritten with the contents
of ‘file1’ and ‘file2’
 cat file1 file2>>file3 - contents of ‘file1’ and ‘file2’ are
appended to ‘file3’

 more file1 - used to filter the file for CRT viewing


 less file1 - similar to ‘more’. Enables forward as well as
backward movement
 head -50 file1 - displays the first fifty lines of ‘file1’
 head file1 - displays the first ten lines of ‘file1’
Commands
 ls - list all files in current directory
 ls –a - list all files including hidden
 ls –l - long listing
 ls –r - reverse order while sorting
 ls –t - sort by modification time
 ls –R - lists subdirectories recursively
 ls –U - lists entries in directory order
 ls dirname - lists all files in the directory
 ls a* - lists all files starting with ‘a’
 ls [a-c]* - lists all files starting with ‘a’,’b’ and ‘c’
Commands

 ls –l gives something like this


total 32
-rwxr-x--x 1 usr1 group1 24 jan 06 10:13 file1
drwxr-x--x 1 usr1 group1 24 jan 06 10:13 file2
-rwxr-x--x 2 usr1 group1 24 jan 06 10:13 file3

 total 32 means current directory occupied 32 blocks

 Generally each block in UNIX is 1024

 UNIX uses file types to distinguish files


Commands

This is the first - (hyphen) place in output


- : hyphen is ordinary file
d : directory file
c : character specific file like terminals
b : block specific file like hard disk
l : symbolic link
s : Semaphore
p : named pipe
m : shared memory file
Commands

 The next 9 characters provides the information about file


permissions
 Next column gives the number of links
 Owner name
 Group name
 File size in bytes
 Date & Time of last modified
 Finally the file name
 Owner concept comes with multi-user OS
 The file creator is the owner by default
 Group is formed with same type of users
Commands

 The first 3 characters in permission field is owner permissions


 The next 3 characters tells about the group permissions
 Last 3 characters gives the other permissions
 There are three types of permissions like
r - read permission
w - write permission
x - execution permission
rwxr-x--x means
 Owner of this file has read, write and execute permissions
 Group has read and execute permissions
 Others has only execution permissions
Commands

 Permissions can be encoded numerically


 Read ( r ) - Weight 4
 Write ( w ) - Weight 2
 Execute ( x ) - Weight 1
 The weight of Read+Write+Execution (rwx) is 4 + 2 + 1 = 7
 The weight of Read+Execution (r-x) is 4 + 1 = 5
 The weight of Write+Execution(-wx) is 2+1 = 3
Commands

 Existing file permissions can be changed with the command


chmod
 To change the rwxr-x--x (751) permissions to rwxrwxrwx (777)
permissions of file1 is
$chmod 777 file1
 To give write permission to all
$chmod +w file1
 To remove write permissions to all including the owner
$chmod -w file1
 The above command is generally used to keep a file safe by
making it READ-ONLY
Commands

 Default file creation permissions will be obtained from the umask


value
 Mask of umask will give the actual permissions
 Mask is subtract value from 7
 If umask is 021, then the default file permissions are
7-0,7-2,7-1
i.e. 756 are the permissions (rwxr-xrw-)

 754 are the most widely used permissions for a directory


Commands
 To safeguard the directories from malicious intentions, sticky bit
may be added to the directory
 Disables file deletion
 Can be given by
$chmod +t dir-name
 Sticky bit will be added at the end in the permission string
 This has weight 1
 To give both 754 & Sticky bit permissions in one command
$chmod 1754 dir-name
 Only the owner & super-user can delete the files in this directory
 If the sticky bit is on to a file, the file becomes memory resident
Commands

 To know the free spaces in the UNIX, the df (disk free) command
can be used
$df
/(dev/root): 12500 blocks 27654 I-nodes
 df gives the blocks of 512 bytes size
 To know the disk usage, give:
$du
 UNIX uses a variable called ulimit which controls the maximum
file size any user can create
 This is to save the disk space misuse.
$ulimit
Commands

 Stands for Calendar


 Can print a calendar between year 1 to 9999
$cal 1960
 Prints the whole calendar of 1960
$cal 4 1960
 Prints only April month calendar of 1960
 Prints the given string in big letters
$banner <string>
 Used to know the file type like shell script, executable, etc
$file file-name
Commands

 wc - Used to know the number of characters, number of files


and number of lines in a file
$wc file1
$wc -l file1
 Displays the number of lines in file1
 grep -Acronym for ‘Globally search a Regular Expression and
Print it’
 Searches for a pattern in file(s)
$grep abc file1
 Searches for the string ‘abc’ in file1
Commands

 Link is an alias to a file.


Two types of links .
Hard and Soft.
Hard link
# ln file1 file2.
 No separate file is created.
 Cannot link directories.
 Cannot link across file-systems.
 To remove a file all links must be removed.
Commands

 Soft/symbolic Link
 # ln –s Old file New file
 Can link directories.
 Can link across file-systems.
Commands

 rm - The file removed can not be recovered like in DOS using


undelete
 Care should be taken while deleting:
$rm file1 - Removes file1
$rm -i file1- Removes file interactively. Removes after
confirmation
$rm -r dir1- Removes files from dir1 recursively
$rm -ir dir1- Removes file from dir1 recursively and
interactively
Commands
 To rename file1 as file2 by:
$mv file1 file2
 To rename directories by:
$mv old-dir new-dir
 mv actually copies old-file to new-file and removes old-file
 To copy file1 to file2 by:
$cp file1 file2
 To copy files to directory
$cp file1 file2 dir-name
 Can copy files across directories by providing absolute or relative
path:
$cp /usr1/file1 /usr2/file1
Commands

 To change the mode of access on a file :


 chmod u+x,g-x file1
 chmod o-rwx file2
 chmod 777 file3
 To change the ownership of a file :
 chown user2 file1
 To change the group ownership of a file :
 chgrp group2 file1
 To change the group of a user :
 usermod –g group2 user1
Try these Commands !!!

 tar –cvf <filename>.tar <dirname>

 tar –xvf <filename>.tar

 tar –zxvf <compressed file>

 gzip <filename>

 gunzip <filename>.z
Try these Commands !!!
 ps
 tty
 stty
 date
 whoami
 who
 bc – calculator
 id
 clear
 echo $?
 locate <filename>
Try these commands !!!

 echo “ Today is date "


 echo “ Today is `date` ”
 echo $PWD
 echo $PATH
 echo $OSTYPE
 echo $BASH
 echo $BASH_VERSION
 echo $PATH
 echo $SHELL
 echo $HOME
VI Editor
 To insert new text esc + i
 To append text esc + a
 To insert text at line start esc + I
 To append text line end esc + A
 To save file esc + : + w
 To save file with file name esc + : + w  "filename“
 To quit the vi editor esc + : + q
 To quit without saving esc + : + q!
 To save and quit vi editor esc + : + wq or x
 To search for specified word
in forward direction esc + /word
VI Editor
 To continue with search  n
 To search for specified word
in backward direction esc + ?word

 To copy the line where


cursor is located esc + yy
 To paste the text just deleted
or copied at the cursor esc + p
 To delete entire line where
cursor is located esc + dd
 To delete word from
cursor position esc + dw
VI Editor

 To move up one line k


 To move down one line j
 To move left one character h
 To move right one character l
 To move one word right w
 To move one word left b
 To set numbers for lines esc + :set nu
 To unset numbers for lines esc + :set nonu
THANKS

You might also like