Basic Unix
-
Upload
rajesh-kumar -
Category
Technology
-
view
7.411 -
download
1
description
Transcript of Basic Unix
![Page 1: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/1.jpg)
UNIX Basics
www.scmGalaxy.comAuthor: Rajesh Kumar
www.scmGalaxy.com, Author - Rajesh Kumar
1
![Page 2: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/2.jpg)
Contents1.Introduction to Unix 03 - 11
2. Logging In and Basic Commands 12 - 26
3File system 27 - 45
4.managing files 46 - 55
5.File Access Permissions 56 - 68
6.vi Editor 69 - 78
7.Shell Basics 79 – 94
8. Standard I/O Redirection 95 – 103
9. Filters & some utilities 104 – 123
10. Controlling Processes 124 – 132
11. Shell Programming concepts 133 - 158
12. Labs 159 - 161
www.scmGalaxy.com, Author - Rajesh Kumar2
![Page 3: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/3.jpg)
Introduction to Unix
Module 1
www.scmGalaxy.com, Author - Rajesh Kumar3
![Page 4: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/4.jpg)
Objectives
Upon completing this module you should be able to understand the following:
what is an Operating System History of unix Operating system Unix Architecture More features of unix Unix Flavors Linux Flavors
www.scmGalaxy.com, Author - Rajesh Kumar
4
![Page 5: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/5.jpg)
What Is an Operating System?
• Interface between Users and the Hardware
• take care of Storage Management
• take care of I/O device management
www.scmGalaxy.com, Author - Rajesh Kumar
5
![Page 6: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/6.jpg)
1969 AT&T Bell Labs UNICS system -designed by Ken Thompson & Dennis Ritchie
1970 UNICS finally became UNIX
1973 UNIX rewritten in C, making it portable to different hardware
Mid 1970s University of California at Berkeley (BSD) contributed many important features like vi, C shell etc.
1982 AT & T came back and started commercial production- Editions ->Systems
Late 1980s AT & T released SVR4 unification of SV3.2,BSD,SunOs & XENIX
1991 Linux from Linus Torvalds
1990s POSIX Standard, MIT introduced X-Windows
History of the UNIX Operating System
www.scmGalaxy.com, Author - Rajesh Kumar
6
![Page 7: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/7.jpg)
UNIX Architecture – Kernel & Shell
Shell Kernel HardwareUser
www.scmGalaxy.com, Author - Rajesh Kumar
7
![Page 8: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/8.jpg)
UNIX Architecture – System Calls
Though there are over a thousand commands on the system, they all use a handful of functions, called system calls, to communicate with the kernel.
All unix flavors use the same system calls and are described in the POSIX specification.
www.scmGalaxy.com, Author - Rajesh Kumar
8
![Page 9: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/9.jpg)
• Hierarchical file system• Multi tasking• Multi user• The building block approach• Pattern matching (wildcard characters)• Toolkit(Applications, RDBMSs, Languages etc..)• Programming facility• Documentation
More Features of UNIX
www.scmGalaxy.com, Author - Rajesh Kumar
9
![Page 10: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/10.jpg)
Flavors of UNIX
• Digital Unix
• IRIX
• SCO Open Server
• SCO UnixWare
• IBM -AIX
• HP - UX
• Sun - Solaris
www.scmGalaxy.com, Author - Rajesh Kumar
10
![Page 11: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/11.jpg)
Clone of UNIX (LINUX)
•Red Hat
• Calders
• SuSE
• Mandrake
• Debian
www.scmGalaxy.com, Author - Rajesh Kumar
11
![Page 12: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/12.jpg)
Logging In and Basic Commands
Module 2
www.scmGalaxy.com, Author - Rajesh Kumar
12
![Page 13: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/13.jpg)
Objectives
Upon completing this module you should be able to understand the following:
Logging In and Out Command Line Format The Secondary Prompt Online Manual Pages id Command who Command date Command cal, clear Commands passwd Command finger command
www.scmGalaxy.com, Author - Rajesh Kumar
13
![Page 14: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/14.jpg)
• Log in to identify yourself and gain access.
• Execute commands to do work.
• Log off to terminate your connection.
A Typical Terminal Session
www.scmGalaxy.com, Author - Rajesh Kumar
14
![Page 15: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/15.jpg)
Logging In and Out
telnet 192.168.10.1
User:
Password:
exit or <ctrl>+<d> will terminate the login sessionwww.scmGalaxy.com, Author - Rajesh Kumar
15
![Page 16: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/16.jpg)
Syntax:
$ command [-options] [arguments]
1. Separation : mail –f newmail not mail – f newmail
2. Order: mail –f newmail not mal newmail –f
3. Multiple options: who –m –u or who –mu not who –m u
4. Multiple arguments: mail team1 team2 not mail team1team2
Command Line Format
www.scmGalaxy.com, Author - Rajesh Kumar
16
![Page 17: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/17.jpg)
$ echo 'hi
>Good Morning‘
> is the default secondary prompt
The Secondary Prompt
www.scmGalaxy.com, Author - Rajesh Kumar
17
![Page 18: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/18.jpg)
Content of the Manual Pages
NAME WARNINGSSYNOPSIS EXAMPLESDESCRIPTION AUTHORRETURN VALUE FILESERRORS SEE ALSOBUGS etc.
www.scmGalaxy.com, Author - Rajesh Kumar
18
![Page 19: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/19.jpg)
Syntax:
man –[k|X] keyword
in which X is the number of one of the manual sections
Examples: $ man ls Display the “ls" man page. $ man -k cat Display entries with keyword "cat". $ man passwd Display the "passwd" man page-Section 1. $ man 4 passwd Display the "passwd" man page-Section 4.
The Online Manual
www.scmGalaxy.com, Author - Rajesh Kumar
19
![Page 20: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/20.jpg)
Syntax: id Displays effective user and group identification for session
Example: $id uid =303 (user3) gid=300 (class)
The id Command
www.scmGalaxy.com, Author - Rajesh Kumar
20
![Page 21: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/21.jpg)
Syntax: who Reports information about users who are
currently logged on to a systemExamples: $ who root tty1p5 Jul 01 08:01 user11 tty1p4 Jul 01 09:59 user12 tty0p3 Jul 01 10:01
$ who am i user12 tty0p3 Jul 01 10:01
$ whoami user12
The who Command
www.scmGalaxy.com, Author - Rajesh Kumar
21
![Page 22: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/22.jpg)
Syntax: date Reports the date and time
Example: $ date Fri Jul 1 11:15:55 EDT 2005
The date Command
www.scmGalaxy.com, Author - Rajesh Kumar
22
![Page 23: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/23.jpg)
Syntax: cal Reports the calendar of 2005 September(Current month)
Example: $ cal 8 2005 for Aug 2005 $ cal 2005 for the full calendar of year 2005
The cal Command
www.scmGalaxy.com, Author - Rajesh Kumar
23
![Page 24: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/24.jpg)
Syntax: passwd Assigns a login password
Example: $ passwd
Changing password for user1 Old password: New password: Re-enter new password:
The passwd Command
www.scmGalaxy.com, Author - Rajesh Kumar
24
![Page 25: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/25.jpg)
The clear Command
Syntax:
clear Clears terminal screen
www.scmGalaxy.com, Author - Rajesh Kumar
25
![Page 26: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/26.jpg)
fingerFinger: Displays information about the users currently logged on
Eg:
$ finger user1
Login name: user1 Directory: /export/home/user1 shell:/usr/bin/sh On since Sep 05 09:10:12 on tty1 No plan
www.scmGalaxy.com, Author - Rajesh Kumar
26
![Page 27: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/27.jpg)
File System
Module 3
www.scmGalaxy.com, Author - Rajesh Kumar
27
![Page 28: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/28.jpg)
Objectives
Upon completing this module you should be able to understand the following:
What Is a File System? File System structure Hard Link File Types Ordinary Files Directory Files Symbolic Links Device files The File System Hierarchy Basic Commands pwd, cd, ls, mkdir, rmdir, touch
www.scmGalaxy.com, Author - Rajesh Kumar
28
![Page 29: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/29.jpg)
What Is a File System?
collection of control structures and Data blocks that occupy the space defined by a partition and allow for the storage and management of data.
Data + Meta data
www.scmGalaxy.com, Author - Rajesh Kumar
29
![Page 30: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/30.jpg)
a
File System structure
Primary Superblock
Backup Superblock
Cylinder Group Block
Inode Table
Data Blocks
www.scmGalaxy.com, Author - Rajesh Kumar
30
![Page 31: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/31.jpg)
Hard Link
Allows a file to have more than one name and yet maintain a single copy on the disk.
All the links have the same inode number
Eg: $ ls –i f1
1113 f1
$ ln f1 f1.lnk
$ ls –i f1.lnk
1113 f1.lnk www.scmGalaxy.com, Author - Rajesh Kumar
31
![Page 32: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/32.jpg)
a
File Types
Common File Types:
Ordinary files: regular files
Directory files: table of contents, that stores a list of files/directories within that directory
Device files: For every device there is a device file used by kernel to interact with the device.
Symbolic Link: Its link to other files
www.scmGalaxy.com, Author - Rajesh Kumar
32
![Page 33: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/33.jpg)
a
Ordinary Files
A regular file simply holds data.
Regular files can hold ASCII text, binary data, image data, databases, application-related data, and more.
www.scmGalaxy.com, Author - Rajesh Kumar
33
![Page 34: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/34.jpg)
a
Directory Files
Directory Inode Table
name inum # type mode links user group date size locd1 4 4 dir 755 2 user1 group1 Sep 5 9:30 512f1 10 10 file 644 1 user1 group1 Sep 5 9:45 12
www.scmGalaxy.com, Author - Rajesh Kumar
34
![Page 35: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/35.jpg)
a
Symbolic Links
contains the path of the file to which it links
Exists even after the source file is removed and is exactly similar to Windows shortcut
Syntax: ln –s soucefile linkfile
Eg: ln -s /f1 f1.lnk
Overcomes 2 limitations of Hard Link:1. possible across filesystems2. can link to a directory
www.scmGalaxy.com, Author - Rajesh Kumar
35
![Page 36: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/36.jpg)
a
Device files
A device file provides access to a device.
# cd /devices/pci@1f,0/pci@1,1/ide@3# ls -lbrw------- 1 root sys 136, 0 Apr 3 11:11 dad@0,0:a
Two types of device files:block device filescharacter device file
www.scmGalaxy.com, Author - Rajesh Kumar
36
![Page 37: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/37.jpg)
The File System Hierarchy
/
usr etc devices dev var tmp
bin sbin
ls who
adm sadmdsk rdsk
www.scmGalaxy.com, Author - Rajesh Kumar
37
![Page 38: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/38.jpg)
a
system directories
/ :root directory, top level directory
/bin : user commands like cp, cron, cmp etc..
/usr/sbin: admin commands
/dev : logical device files of all hardware devices
/devices: physical device files
/etc : System configuration files and user database
/tmp : to store temporary files
/usr : the binaries, shared libraries, shared documentation etc.
/var: stores the log files and dynamic files www.scmGalaxy.com, Author - Rajesh Kumar
38
![Page 39: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/39.jpg)
a
File Path nameA sequence of file names, separated by slashes (/), that
describes the path, the system must follow to locate a
file in the file system
Absolute pathname (start from the /-directory):
Eg: /export/home/user1/file1
Relative pathname (start from the current directory)
./test1 (. = current directory)
../team03/.profile (.. = parent directory)www.scmGalaxy.com, Author - Rajesh Kumar
39
![Page 40: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/40.jpg)
pwd - Present Working Directory
pwd prints the Current Directory
www.scmGalaxy.com, Author - Rajesh Kumar
40
![Page 41: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/41.jpg)
6
Syntax: ls [-adlFR] [pathname(s)]
Example: $ ls f1 f2 memo $ ls -F f1 f2* memo/ $ ls -aF profile f1 f2* memo/ $ ls memo f1 f2
ls - List Contents of a Directory
www.scmGalaxy.com, Author - Rajesh Kumar
41
![Page 42: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/42.jpg)
cd Change Directory
Example:$ pwd/home/user3$ cd memo; pwd/home/user3/memo$ cd ../..; pwd/home$ cd /tmp; pwd/tmp
syntax:
cd [dir_name]
www.scmGalaxy.com, Author - Rajesh Kumar
42
![Page 43: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/43.jpg)
mkdir, rmdir – create & remove Directories
Syntax: mkdir directory
eg:
$ mkdir d1
syntax: rmdir dir
eg:
$ rmdir /export/home/user1 www.scmGalaxy.com, Author - Rajesh Kumar
43
![Page 44: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/44.jpg)
working with Multiple Directories
Create multiple directories simultaneously: $ mkdir -p dir1/dir2/dir3
Remove a directory and all its subdirectories
$ rmdir -p dir1/dir2/dir3
www.scmGalaxy.com, Author - Rajesh Kumar
44
![Page 45: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/45.jpg)
The touch CommandUpdates the atime and mtime of a file if it exists.
Else create an empty file
Example:
$ ls –l
-rw-r—r-- 1 user1 group1 100 Sep 5 09:30 test
$date
Mon, Sep 5 10:00 2005
$ touch test file1
$ ls -l
-rw-r—r-- 1 user1 group1 100 Sep 5 10:00 test
-rw-r—r-- 1 user1 group1 100 Sep 5 10:00 file1www.scmGalaxy.com, Author - Rajesh Kumar
45
![Page 46: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/46.jpg)
Managing Files
Module 4
www.scmGalaxy.com, Author - Rajesh Kumar
46
![Page 47: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/47.jpg)
Objectives
Upon completing this module you should be able to understand the following:
File Characteristics cat more tail wc cp mv rm
www.scmGalaxy.com, Author - Rajesh Kumar
47
![Page 48: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/48.jpg)
File Characteristics
FileType
Permissions
Links
Owner
Group
SizeTimestamp
Name
$ ls -l -rw-r--r-- 1 user3 class 37 Jul 24 11:06 f1-rwxr-xr-x 1 user3 class 52 Jul 24 11:08 f2drwxr-xr-x 2 user3 class 1024 Jul 24 12:03 memo
www.scmGalaxy.com, Author - Rajesh Kumar
48
![Page 49: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/49.jpg)
Syntax: cat [file...] Concatenate and display the contents of file(s)
Examples: $ cat remind Your mother's birthday is November 29. $ cat note remind The meeting is scheduled for July 29. Your mother's birthday is November 29.
$ cat abc abc 1234 1234
cat - Display the Contents of a File
CTRL + D
www.scmGalaxy.com, Author - Rajesh Kumar
49
![Page 50: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/50.jpg)
Syntax:more [filename]... Display files one screen at a time
Example: $ more funfile . . . --funfile (20%)-- Q or q Quit moreReturn One more line Space bar One more page
more - Display the Contents of a File
www.scmGalaxy.com, Author - Rajesh Kumar
50
![Page 51: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/51.jpg)
Syntax:
tail [-n] [filename]... Display the end of file(s)
Example:
$ tail -1 test soon as it is available.
tail - Display the End of a File
www.scmGalaxy.com, Author - Rajesh Kumar
51
![Page 52: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/52.jpg)
wc command
The wc command counts the number of lines, words and bytes in a named file:
syntax:
wc [-c] [-l] [-w] filename
Options:
-c counts the number of bytes
-l counts lines
-w counts words
Example:
$wc testfile
10 98 1000 testfilewww.scmGalaxy.com, Author - Rajesh Kumar
52
![Page 53: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/53.jpg)
Syntax:cp [-i] file1 new_file Copy a filecp [-i] file [file...] dest_dir Copy files to a directorycp -r [-i] dir [dir...] dest_dir Copy directories
Example: cp file1 d1 copies file1 to d1 directory cp file2 file3 create a copy of file2 as file3 in the same directory
cp - Copy Files
www.scmGalaxy.com, Author - Rajesh Kumar
53
![Page 54: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/54.jpg)
Syntax:
mv [-i] file new_file Rename a filemv [-i] file [file...] dest_dir Move files to a directorymv [-i] dir [dir...] dest_dir Rename or move directories
Example:
$ ls -F $ mv note remind memof1 f2* memo/ note remind $ ls -F$ mv f1 file1 file1 memo/$ ls -F $ls -F memofile1 f2* memo/ note remind file2* note remind$ mv f2 memo/file2 $ mv memo letters$ ls -F $ ls -F file1 memo/ note remind file1 letters/$ ls -F memo file2*
mv - Move or Rename Files
www.scmGalaxy.com, Author - Rajesh Kumar
54
![Page 55: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/55.jpg)
Syntax: rm [-if] filename [filename...] Remove files rm -r[if] dirname [filename...] Remove directories
Examples:
rm f1 removes the file f1 rm –r d1 remove the directory.
rm - Remove Files
www.scmGalaxy.com, Author - Rajesh Kumar
55
![Page 56: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/56.jpg)
File Access Permissions
Module 5
www.scmGalaxy.com, Author - Rajesh Kumar
56
![Page 57: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/57.jpg)
Objectives
Access to files is dependent on a user's identification and the permissions associated with a file. This module will show how to Understand the read, write, and execute access to a file Permissions
ls (11, ls -l) chmod umask chown chgrp su setuid, setgid, sticky bit
www.scmGalaxy.com, Author - Rajesh Kumar
57
![Page 58: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/58.jpg)
File Permissions and Access
Access to files is dependent on a user's identification and the permissions associated with a file. This module will show how to Understand the read, write, and execute access to a filePermissions
ls (11, ls -l)chmodumaskchownchgrpsu
Determine what access is granted on a fileChange the file access Change default file access Change the owner of a file Change the group of a file Switch your user identifier
www.scmGalaxy.com, Author - Rajesh Kumar
58
![Page 59: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/59.jpg)
Who can access a File?
The UNIX system incorporates a three-tier structure to define who has access to each file and directory:
user The owner of the file group A group that may have access to the file other Everyone else
• The ls -l command displays the owner and group who has access to the file.$ ls -l-rw-r--r-- 1 user3 class 37 Jul 24 11:06 f1-rwxr-xr-x 1 user3 class 37 Jul 24 11:08 f2drwxr-xr-x 2 user3 class 1024 Jul 24 12:03 memo | | owner groupwww.scmGalaxy.com, Author - Rajesh Kumar
59
![Page 60: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/60.jpg)
contents can be examined. contents can be examined.
contents can be changed. contents can be changed.
file can be used as a command.can become current working directory.
Types of Access
There are three types of access for each file and directory:
Read files: directories:
Write files: directories:
Execute files: directories:
www.scmGalaxy.com, Author - Rajesh Kumar
60
![Page 61: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/61.jpg)
Change Permissions (Symbolic Notation)
Syntax: chmod mode_list file... Change permissions of file(s)
mode_list [who[operator]permission] [ ,... ]
who user, group, other or all(u/g/a) operator + (add), - (subtract), = (set equal to) permission read, write, execute
Example:Original permissions: mode user group other rw-r--r-- rw- r-- r--
$ chmod u+x,g+x,o+x file or $ chmod +x fileFinal permissions: mode user group other rwxr-xr-x rwx r-x r-xwww.scmGalaxy.com, Author - Rajesh Kumar
61
![Page 62: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/62.jpg)
Change Permissions(Octal Notation) File and directory permissions can also be specified as an octal number:
Read Permission :4
Write Permission :2
Execute Permission:1
We can just add the numbers to specify the permission for each category
Example: 6 means read and write, 7 means read, write and execute
eg:
$ chmod 664 f1 will give read and write permissions for owner and group while only read for others
www.scmGalaxy.com, Author - Rajesh Kumar
62
![Page 63: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/63.jpg)
Default Permissions
The default protections for newly created files and directories are:
File -rw-r—r-- 644
Directory drwxr-xr-x 755
These default settings may be modified by changing the umask value.
www.scmGalaxy.com, Author - Rajesh Kumar
63
![Page 64: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/64.jpg)
umask - Permission Mask
Umask specifies what permission bits will be set on a new file or directory when created.
New Directory: 777 – 022 755 rwxr-xr-x
New File : 666 – 022 644 rw-r—r—
The default value of umask is set in /etc/profile. This can be changed for all the users or a particular user
www.scmGalaxy.com, Author - Rajesh Kumar
64
![Page 65: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/65.jpg)
chown - Change File Ownership
Syntax: chown owner [:group] filename ...
Example: $ id uid=101 (user1), gid=101 (group1) $ cp f1 /tmp/user2/f1 $ ls -l /tmp/user2/f1 -rw-r----- 1 user1 group1 3967 Jan 24 13:13 f1 $ chown user2 /tmp/user2/f1 $ ls -l /tmp/user2/f1 -rw-r----- 1 user2 class 3967 Jan 24 13:13 f1
Only the owner of a file (or root) can change the ownership of the file.
Changes owner of a file(s) and, optionally, the group ID
www.scmGalaxy.com, Author - Rajesh Kumar
65
![Page 66: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/66.jpg)
The chgrp CommandSyntax: chgrp newgroup filename ...
Example: $ id uid=303 (user3), gid=300 (class) $ ls -l f3 -rw-r----- 1 user3 class 3967 Jan 24 13:13 f3 $ chgrp class2 f3 $ ls -l f3 -rw-r----- 1 user3 class2 3967 Jan 24 13:13 f3 $ chown user2 f3 $ ls -l f3 -rw-r----- 1 user2 class2 3967 Jan 24 13:13 f3
www.scmGalaxy.com, Author - Rajesh Kumar
66
![Page 67: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/67.jpg)
su - Switch User IdSyntax: su [user_name]
Example: $ ls -l f1 -rwxr-x--- 1 user1 group1 3967 Jan 24 23:13 class_setup $ id uid=303 (user1), gid=300 (group1)
$ su – user2 Password: $ id uid=400 (user2), gid=300 (group1)
Change your effective user ID and group ID
www.scmGalaxy.com, Author - Rajesh Kumar
67
![Page 68: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/68.jpg)
Special File Permissions – setuid, setgid, sticky bit
setuid – changes the effective user id of the user to the owner of the program chmod u+s f1 or – chmod 4744 f1
setgid – changes the effective group id of the user to the group of the program chmod g+s f1 or chmod 2744 f1
sticky bit – ensures the deletion of files by only file owner in a public writable directory chmod +t f1 or Chmod 1744 f1
www.scmGalaxy.com, Author - Rajesh Kumar
68
![Page 69: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/69.jpg)
vi Editor
Module 6
www.scmGalaxy.com, Author - Rajesh Kumar
69
![Page 70: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/70.jpg)
Objectives
Upon completing this module you should be able to understand the following:
What Is vi? Starting and Ending a vi Session Cursor Control Commands Input Mode: i, a, O, o Deleting Text: x, dw, dd, dG Copying, moving and changing Text Searching for Text: /, n, N Find and Replace
www.scmGalaxy.com, Author - Rajesh Kumar
70
![Page 71: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/71.jpg)
• A screen-oriented text editor• Included with most UNIX system distributions• Command driven• Categories of commands include
– General administration– Cursor movement– Insert text– Delete text– Paste text– Modify text
What Is vi?
www.scmGalaxy.com, Author - Rajesh Kumar
71
![Page 72: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/72.jpg)
Starting and Ending a vi Session
vi [filename] Start a vi edit session of file
Example:
$ vi testfile - If the file doesn’t exist, it will be created - Otherwise vi will open the existing file
All modifications are made to the copy of the file brought into memory.
:wq or :x or <shift-zz> write and quit
:w write
:q quit
:q! Quit without savingwww.scmGalaxy.com, Author - Rajesh Kumar
72
![Page 73: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/73.jpg)
Cursor Control Commands
$w,Wl<right-arrow>
<down-arrow>
j
L
<ctrl-f>
G
1G
<ctrl-b>
H
k
<up-arrow>
0 b,B h <left-arrow>
www.scmGalaxy.com, Author - Rajesh Kumar
73
![Page 74: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/74.jpg)
Input Mode: i, a, O, o
i will insert character at the present cursor positionI will insert character at the beginning of the linea will append character at the present cursor position A will append character at the end of the line
o will insert a blank line belowO will insert a blank line above
www.scmGalaxy.com, Author - Rajesh Kumar
74
![Page 75: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/75.jpg)
Deleting Text: x, dw, dd, dG
x deletes the current character
dw deletes the current word
dd deletes the current line
dG delete all lines to end of file, including current line.
With any of these you can prefix a number
Example: 3dd will delete 3 lines
d$ to delete to the end of the line
d0 to delete to the start of the linewww.scmGalaxy.com, Author - Rajesh Kumar
75
![Page 76: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/76.jpg)
Copying, moving and changing Text
yy copy the line
yw copy the word p will paste the yanked lines below
dw cut the word P will paste the yanked lines above
dd cut the line
r will overwrite the current character
R will replace all text on the right of the cursor position
cw will replace only the current wordwww.scmGalaxy.com, Author - Rajesh Kumar
76
![Page 77: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/77.jpg)
Searching for Text: /, n, N
/director will locate for the first occurrence of the pattern ‘director’
n to locate the next occurrence
N to locate the previous occurence
www.scmGalaxy.com, Author - Rajesh Kumar
77
![Page 78: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/78.jpg)
Find and Replace
To find and replace the word director with member :
:1,$s/director/member/g
1,$ represents all lines in the file
g makes it truly global. g will ensure that all occuences in each line is replaced. Without g only the first occurrence of each line will be replaced.
www.scmGalaxy.com, Author - Rajesh Kumar
78
![Page 79: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/79.jpg)
Shell Features
Module 7
www.scmGalaxy.com, Author - Rajesh Kumar
79
![Page 80: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/80.jpg)
Objectives
Upon completing this module you should be able to understand the following:
Shell functionalities Commonly Used Shells BASH Shell Features Aliasing, Command History Re-entering Commands The User Environment Setting Shell Variables Variable Substitution Command Substitution Transferring Local Variables to the Environment Functions of a Shell before Command execution.
www.scmGalaxy.com, Author - Rajesh Kumar
80
![Page 81: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/81.jpg)
Shell functionalities
command execution environment settings variable assignment variable substitution command substitution filename generation I/O redirection Interpretive programming language
www.scmGalaxy.com, Author - Rajesh Kumar
81
![Page 82: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/82.jpg)
/bin/bash/bin/ksh/bin/sh/bin/csh/bin/rksh/bin/rsh/bin/tcsh/bin/zsh
Bash shellKorn shellBourne shellC ShellRestricted Korn shellRestricted Bourne shellAn amended version of the C shellThe Z shell
Commonly Used Shells
www.scmGalaxy.com, Author - Rajesh Kumar
82
![Page 83: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/83.jpg)
• A shell user interface with some advanced features:
– Command aliasing– File name completion– Command history mechanism– Command line recall and editing– Job control– Enhanced cd capabilities– Advanced programming capabilities
BASH Shell Features
www.scmGalaxy.com, Author - Rajesh Kumar
83
![Page 84: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/84.jpg)
Syntax: alias [name[=string]]
Examples: $ alias dir=ls $ alias mroe=more $ alias mstat=/home/tricia/projects/micron/status $ alias laser="lp -dlaser" $ laser fileX request id is laser-234 (1 file) $ alias displays aliases currently defined $ alias mroe displays value of alias mroe mroe=more
Aliasing
www.scmGalaxy.com, Author - Rajesh Kumar
84
![Page 85: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/85.jpg)
• The shell keeps a history file of commands that you enter.• The history command displays the last 16 commands.• You can recall, edit, and re-enter commands previously entered.
Syntax: history [-n| a z] Display the command history.Example: $ history -2 list the last two commands
15 cd 16 more .profile
$ history 3 5 list command numbers 3 through 5
3 date 4 pwd 5 ls
Command History
www.scmGalaxy.com, Author - Rajesh Kumar
85
![Page 86: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/86.jpg)
Example: $ history 3 5 list command numbers 3 through 5 3 date 4 pwd 5 ls $ r 4 run command number 4 pwd /home/kelley
Re-entering Commands
• You type r c to re-enter command number c.
www.scmGalaxy.com, Author - Rajesh Kumar
86
![Page 87: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/87.jpg)
Syntax: envExample: $ env HOME=/home/gerry PWD=/home/gerry/develop/basics ... PATH=/usr/bin:/usr/contrib/bin:/usr/local/bin:\ /home/gerry/bin
The User Environment
• Your environment describes your session to the programs you run.
www.scmGalaxy.com, Author - Rajesh Kumar
87
![Page 88: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/88.jpg)
The PATH variable– A list of directories where the shell will search for the
commands you type The TERM variable
– Describes your terminal type and screen size to the programs you run
$ env ... PATH=/usr/bin:/usr/contrib/bin:/usr/local/bin $ TERM=70092
Two Important Variables
www.scmGalaxy.com, Author - Rajesh Kumar
88
![Page 89: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/89.jpg)
.
Setting Shell Variables
.
.
.
Syntax: name=value
Example:
color=blue PATH=$PATH:/usr/ucb
www.scmGalaxy.com, Author - Rajesh Kumar
89
![Page 90: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/90.jpg)
$ echo $PATH/usr/bin:/usr/contrib/bin:/usr/local/bin$ PATH=$PATH:$HOME:.$ echo $PATH/usr/bin:/usr/contrib/bin:/usr/local/bin:/home/user3:.$ echo $HOME/home/user3$ file_name=$HOME/file1$ more $file_name<contents of /home/user3/file1>
Variable Substitution
www.scmGalaxy.com, Author - Rajesh Kumar
90
![Page 91: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/91.jpg)
Syntax: $(command)
Example:
$ dt=date This will store the string date in the variable dt not the value
$ dt=$(date) This will do command substitution and store the result of date command in the variable dt
note: instead of $(date) we can also use `date`
Command Substitution
www.scmGalaxy.com, Author - Rajesh Kumar
91
![Page 92: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/92.jpg)
.
$ echo $HOME/home/user3
$ envHOME=/home/user3….SHELL=/usr/bin/sh
$ setHOME=/home/user3PATH=/usr/bin:/usr/contrib/bin:/usr/local/bin….color=lavendercount=3dir_name=/home/user3/tree
$ unset dir_name
Displaying Variable Values
www.scmGalaxy.com, Author - Rajesh Kumar
92
![Page 93: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/93.jpg)
Transferring Local Variables to the Environment
Syntax: export variable Transfer variable to environment
www.scmGalaxy.com, Author - Rajesh Kumar
93
![Page 94: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/94.jpg)
Functions of a Shell before Command execution.
Searches for a command Substitutes Shell variable values. Command substitution, I/O redirection Interpreted programming interface
www.scmGalaxy.com, Author - Rajesh Kumar
94
![Page 95: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/95.jpg)
Standard I/O Redirection
Module 8
www.scmGalaxy.com, Author - Rajesh Kumar
95
![Page 96: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/96.jpg)
Objectives
Upon completing this module you should be able to understand the following:
The Standard Files Input Redirection Output Redirection Creating a file with cat Error Redirection Combined Redirection Split Outputs
www.scmGalaxy.com, Author - Rajesh Kumar
96
![Page 97: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/97.jpg)
The Standard Files
Standard Input File (0) Keyboard
Standard Output File (1) Monitor
Standard Error File (2) Monitor
operators:
standard input redirection 0< or <
standard output redirection 1> or >
standard Error redirection 2>
www.scmGalaxy.com, Author - Rajesh Kumar
97
![Page 98: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/98.jpg)
Input Redirection
Default standard input
$ mail user1
subject: Hi
Test mail
<ctrl-d>
Redirect Input from a file: <
$ mail user1 < letter
www.scmGalaxy.com, Author - Rajesh Kumar
98
![Page 99: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/99.jpg)
Output Redirection
Default standard output:$ ls f1 f2 f3
Redirect output from a file: >$ ls > ls.out
Redirecting and appending output to a file: >>$ who >> who.out
www.scmGalaxy.com, Author - Rajesh Kumar
99
![Page 100: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/100.jpg)
Creating a file with catWhile normally used to list the contents of files, using cat with redirection can be used to create a file
$ lsfile1 file2 file3
Using redirection
$ cat > newfilefile created by using the output redirection<ctrl-d>
$ lsfile1 file2 file3 newfilewww.scmGalaxy.com, Author - Rajesh Kumar
100
![Page 101: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/101.jpg)
Error Redirection
Default standard error:
$ cat file1 file3
This is file1
cat: cannot open file2
Redirecting error output to a file: 2> (To append: 2>>)
$ cat file1 file3 2>err
This is file1
$ cat err
cat: cannot open file2
$ cat file1 file3 2> /dev/nullwww.scmGalaxy.com, Author - Rajesh Kumar
101
![Page 102: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/102.jpg)
Combined Redirection
Combined redirects: $ command > outfile 2>errfile <infile $ command >> appendfile 2 >> errorfile <infile
Association Examples: $ command > outfile 2 >&1
note: This is NOT the same as above $ command 2>&1 >outfile
www.scmGalaxy.com, Author - Rajesh Kumar
102
![Page 103: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/103.jpg)
Split Outputs
The tee command reads standard input and sends the data to both standard output and a file.
Example:
$ ls | tee ls.save | wc –l
www.scmGalaxy.com, Author - Rajesh Kumar
103
![Page 104: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/104.jpg)
Module 9
Filters & other commands
www.scmGalaxy.com, Author - Rajesh Kumar
104
![Page 105: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/105.jpg)
Objectives
Upon completing this module you should be able to understand the following:
grep, sort, find ,cut , tr ftp paste command split command uniq command diff(Differential file comparator) Command cmp command file command tar (tape archive program) Restoring Files
www.scmGalaxy.com, Author - Rajesh Kumar
105
![Page 106: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/106.jpg)
grep
Search for lines matching specified pattern
syntax:
grep [options] pattern [file1 file2 …..]
Example:
emp.dat
Robin Bangalore
John Chennai
Rina Bangalore
$ grep Bangalore emp.dat
Robin Bangalore
Rina Bangalorewww.scmGalaxy.com, Author - Rajesh Kumar
106
![Page 107: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/107.jpg)
grep with Regular Expressions
grep ‘regular_expression’ file
Valid metacharacters
. Any single character
* Zero or more occurences of the preceding character
[aA] Enumeration: a or A
[a-f] Any one of the characters in the range of a through f
^a Any lines that start with a
z$ Any lines that end with zwww.scmGalaxy.com, Author - Rajesh Kumar
107
![Page 108: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/108.jpg)
grep options
-v print lines that do not match
-c print only a count of matching lines
-l print only the names of the files with matching lines
-n number the matching lines
-i ignore the case of letters when making comparisons
-w do a whole word search
www.scmGalaxy.com, Author - Rajesh Kumar
108
![Page 109: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/109.jpg)
sort command
The sort command sorts lines and writes the result to standard output:
$ sort [ -t delimiter] [+field[.column]] [options]
Options:
-d sorts in dictionary order. Only letters, digits and spaces are considered in comarisons
-r reverses the order of the specified sort
-n sorts numeric fields in arithmetic valuewww.scmGalaxy.com, Author - Rajesh Kumar
109
![Page 110: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/110.jpg)
sort examples
$ cat animalsdog.2cat.4elephant.10rabbit.7
$ sort animalscat.4dog.2elephant.10rabbit.7
$ cat animals | sort +0.1rabbit.7cat.4elephant.10dog.2
$ cat animals | sort -t. -n +1dog.2cat.4rabbit.7elephant.10
www.scmGalaxy.com, Author - Rajesh Kumar
110
![Page 111: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/111.jpg)
find command
Search one or more directory structures for files that meet certain specified criteria
Display the names of matching files or execute commands against those files
find path expression
Examples:$ find / -name file1 ---search for files in whole system with name file1$ find / -user user1 –exec rm { } \; ---search for the
files owned by user1 and delete them$ find / -user user1 –ok rm { } \; ---search for the
files owned by user1 and delete them interactively
www.scmGalaxy.com, Author - Rajesh Kumar
111
![Page 112: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/112.jpg)
find options
-type f ordinary filed directory
-size +n larger than "n" blocks-n smaller than "n" blocks n equal to "n" blocks
-mtime +x modified more than "x" days ago-x modified less than "x" days ago
-perm onum access permissions match "onum"mode access permissin match "mode"
-user user1 finds files owned by "user1"
-o logical "or"
-newer ref searches for files that are newer than the reference file.www.scmGalaxy.com, Author - Rajesh Kumar
112
![Page 113: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/113.jpg)
cut command
Used to cut fields from each line of a file or columns of a table
cut –d: -f1,5 /etc/passwdcut –c2 test second character of each line cut –c-2 test first 2 characters of each line
www.scmGalaxy.com, Author - Rajesh Kumar
113
![Page 114: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/114.jpg)
tr command
Used to substitute the values
tr [a-z] [A-Z] will convert each small letter to caps
cat test | tr [a-z] [A-Z] will convert the small letters to caps in display
tr –s “ “ will squeeze multiple space occurences of space into one
www.scmGalaxy.com, Author - Rajesh Kumar
114
![Page 115: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/115.jpg)
ftpThe ftp Command Syntax :
$ ftp hostname
get Gets a file from the remote computer.
put Sends a local file to the remote system
mget get multiple files from the remote system
mput Sends multiple files to the remote system
cd changes the directory in the remote system
lcd changes the directory in the local system
ls Lists files on the remote computer.
? Lists all ftp commands
help command Display a very brief help message for command.
bye Exits ftp.
www.scmGalaxy.com, Author - Rajesh Kumar
115
![Page 116: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/116.jpg)
The paste commandUsed to paste files vertically
eg. file1 file2 paste file1 file2
name address age name address age
ram mvm 29 ram mvm 29
raghu rjnagar 25 raghu rjnagar 25
(To rearrange f1 f2 f3 to f3 f2 f1, cut each field,put into file then paste)
By default paste uses the tab character for pasting files, but –d to specify one
eg. paste –d \| file1 file2
name address|age
ram mvm|29
raghu rjnagar|25www.scmGalaxy.com, Author - Rajesh Kumar
116
![Page 117: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/117.jpg)
The split command
Used to split up the files:
This command breaks up the input into several equi line segments.
by defalult, split breaks a file into 1000 line pieces(or whatever is left)
split creates files like xaa,xab,xac …. xaz then xba, xbb …. xbz and … xzz . So there can be 676(26*26) files
split –5 chap (here the chap file is broken into files of 5 lines size)
split chap small (the file names will be smallaa,smallab …. smallzz)
www.scmGalaxy.com, Author - Rajesh Kumar
117
![Page 118: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/118.jpg)
The uniq command• used in EDP environment
• to clear the duplicate entries by mistakes
eg. dept.list 01|accounts|6213
01|accounts|6213
02|admin|5423
03|marketing|6521
03|marketing|6521
uniq dept.list 01|accounts|6213
02|admin|5423
03|marketing|6521
The input to uniq must be ordered data. So sort and send the data
sort dept.list | uniq -uniqlist (uniqlist is the output file)www.scmGalaxy.com, Author - Rajesh Kumar
118
![Page 119: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/119.jpg)
The diff(Differential file comparator) Command
Analyzes text files
Reports the differences between files
diff [-options] file1 file2
www.scmGalaxy.com, Author - Rajesh Kumar
119
![Page 120: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/120.jpg)
The cmp command
$ cmp names names.oldnames names.old differ: byte 6, line 1
$cmp -l names names.old6 12 1517 102 1568 157 145.........cmp: EOF on names
www.scmGalaxy.com, Author - Rajesh Kumar
120
![Page 121: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/121.jpg)
The file commandThe file command tells the type of file
Example:$ file /usr/bun/vi/usr/bin/vi:executable (RISC system/6000) or object module
$ file c1c1: ascii text
$ file /usr/bin/usr/bin: directorywww.scmGalaxy.com, Author - Rajesh Kumar
121
![Page 122: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/122.jpg)
create a disk archive that contains a group of files or an entire directory structure
-c copy-x extract-t list [only one can be present at a time]-f to specify the device name
tar [–]cvf etc.tar /etc/*
tar (tape archive program)
www.scmGalaxy.com, Author - Rajesh Kumar
122
![Page 123: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/123.jpg)
tar –xvf tarfile
Example: tar –xvf etc.tar
selective extractiontar –xvf etc.tar /etc/passwd
tar –tvf etc.tar will display the archive
Restoring Files
www.scmGalaxy.com, Author - Rajesh Kumar
123
![Page 124: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/124.jpg)
Module 10
Controlling Processes
www.scmGalaxy.com, Author - Rajesh Kumar
124
![Page 125: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/125.jpg)
Objectives
Upon completing this module you should be able to understand the following:
Monitoring Process Controlling Processes Terminating Processes Kill Signals Running Long Processes Job Control
www.scmGalaxy.com, Author - Rajesh Kumar
125
![Page 126: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/126.jpg)
Monitoring Process
The ps command dislays process status information
$ ps -f
UID PID PPID ... TTY ... COMMANDjohn 202 1 ... tty0 ... -kshjohn 204 202 ... tty0 ... kshjohn 210 204 ... yyu0 ... ls -R /john 212 204 ... tty0 ... ps -f
www.scmGalaxy.com, Author - Rajesh Kumar
126
![Page 127: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/127.jpg)
Controlling Processes
Foreground Processes:
$ ls -lR / >lsout
Background Processes:
$ ls -lR / >lsout &
www.scmGalaxy.com, Author - Rajesh Kumar
127
![Page 128: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/128.jpg)
Terminating Processes
Foreground Processes:
ctrl-c Interrupt key, cancels a forground process
kill Sometimes the kill command is used to terminate foreground processes
Background Processes:
kill kill is the only way to terminate background processes
www.scmGalaxy.com, Author - Rajesh Kumar
128
![Page 129: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/129.jpg)
Kill Signals
Sig Meaning
01 hangup- you logged out while the process was still running02 interrupt- you pressed the interrupt(break) key sequence ctrl-c03 quit -you pressed the quit key sequence ctrl-\
09 Kill signal:The most powerful and risky signal that can be sentSignal cannot be avoided or ignored!
15 Termination signal(Default): Stop a processSignal can be handled by programs
www.scmGalaxy.com, Author - Rajesh Kumar
129
![Page 130: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/130.jpg)
Running Long Processes
The nohup command will prevent a process from being killed if you log off the system before it completes:
$ nohup ls -lR / >lsout & [1] 100
If you do not redirect output, nohup will redirect output to a file nohup.out
$ nohup ls -lR / & [1] 102Sending output to nohup.out
www.scmGalaxy.com, Author - Rajesh Kumar
130
![Page 131: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/131.jpg)
Job Control
jobs Lists all jobs
<ctrl-z> Suspends foreground task
fg %jobnumber Execute job in foreground
bg %jobnumber Execute job in background
stop %jobnumber Suspends background task
www.scmGalaxy.com, Author - Rajesh Kumar
131
![Page 132: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/132.jpg)
Job Control Examples
$ ls -R / > out 2> errfile & [1] 273
$ jobs [1] + Running ls -R / > out 2>errfile &
$ fg %1ls -R / > out 2>errfile<ctrl-z>[1] + Stopped (SIGTSTP) ls -R / >out 2>errfile &
$ bg %1% jobs[1] + Running ls -R / >out 2>errfile & $ kill %1[1] + Terminating ls -R / >out 2>errfile &www.scmGalaxy.com, Author - Rajesh Kumar
132
![Page 133: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/133.jpg)
Module 11
Shell Programming Concepts
www.scmGalaxy.com, Author - Rajesh Kumar
133
![Page 134: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/134.jpg)
Objectives
Upon completing this module you should be able to understand the following:
echo & read commands Command Line Arguments The logical operators && and || The if Conditional Numeric comparison with test numeric, string and file comparison The case CONDITIONAL expr: Computation Command Substitution sleep & wait while loop, until and for loops
www.scmGalaxy.com, Author - Rajesh Kumar
134
![Page 135: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/135.jpg)
echo & read commands
echo used to display messages on the screen
read used to accept values from the users, make programming interactive
eg.
echo “Enter ur name “
read name
echo “Good Morning $name”
www.scmGalaxy.com, Author - Rajesh Kumar
135
![Page 136: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/136.jpg)
Command Line Arguments
Shell programs can accept values through
1. read [Interactive –used when there are more inputs]
2. From the command Line when u execute it[Non interactive- used when only a few inputs are there]
For eg. sh1 20 30 Here 20 & 30 are the command Line arguments.
Command Line args are stored in Positional parameters
$1 contains the first argument, $2 the second, $3 the third etc.
$0 contains the name of the file, $# stores the count of args
$* displays all the argswww.scmGalaxy.com, Author - Rajesh Kumar
136
![Page 137: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/137.jpg)
An example of Command Line args.
#! /bin/bash
echo “Program: $0”
echo “The number of args specified is $#”
echo “The args are $*”
sh sh1 prog1 prog2
www.scmGalaxy.com, Author - Rajesh Kumar
137
![Page 138: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/138.jpg)
The parameter $?
$? can be used to know the exit value of the previous command . This can be used in the shell scripts:
www.scmGalaxy.com, Author - Rajesh Kumar
138
![Page 139: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/139.jpg)
The logical operators && and ||
These operators can be used to control the execution of command depending on the success/failure of the previous command
eg.
grep ‘director’ emp1.lst && echo “Pattern found in file”
grep ‘manager’ emp2.lst || echo “pattern not found”
or grep ‘director’ emp.lst’ && echo “Pattern found” || echo “Pattern not found”
www.scmGalaxy.com, Author - Rajesh Kumar
139
![Page 140: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/140.jpg)
exit : Script Termination
exit command used to prematurely terminate a program. It can even take args.
eg. grep “$1” $2 | exit 2
echo “Pattern found – Job over”
www.scmGalaxy.com, Author - Rajesh Kumar
140
![Page 141: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/141.jpg)
The if Conditional
if condition is true
then
execute commands
else
execute commands
fi
else is not a must : if condition is true
then
execute commands
fi
www.scmGalaxy.com, Author - Rajesh Kumar
141
![Page 142: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/142.jpg)
An example of if
eg1: if grep “director” emp.lst
then echo “Pattern found”
else echo “Pattern not found”
fi
Every if must have an accompanying then and fi, and optionally else
www.scmGalaxy.com, Author - Rajesh Kumar
142
![Page 143: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/143.jpg)
Numeric comparison with test
test is used to check a condition and return true or false
Relational operators used by if
Operator Meaning
-eq Equal to
-ne Not equal to
-gt Greater than
-ge Gfreater than or equal to
-lt Less than
-le Less than or equal towww.scmGalaxy.com, Author - Rajesh Kumar
143
![Page 144: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/144.jpg)
An example of test with numeric
echo “Enter age”
read age
if test $age –ge 18
then echo “Major”
else echo “Minor”
fi
www.scmGalaxy.com, Author - Rajesh Kumar
144
![Page 145: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/145.jpg)
[ ] short hand for test
echo “Enter age”
read age
if [ $age –ge 18 ]
then echo “Major”
else echo “Minor”
fi
www.scmGalaxy.com, Author - Rajesh Kumar
145
![Page 146: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/146.jpg)
if –elif :Multi-way Branching
if condition echo “Enter marks”
then execute commands read marks
elif condition if [ $marks –ge 80 ]
then execute commands then echo“Distinction”
elif condition elif [ $marks –ge 60 ]
then execute commands then echo “First Class”
else execute conditions else echo “Pass”
fi fi
can have as many elif , else is optional
www.scmGalaxy.com, Author - Rajesh Kumar
146
![Page 147: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/147.jpg)
test String comparison
test with Strings uses = and !=
String Tests used by test
Test Exit Status
-n str1 true if str1 is not a null string
-z str1 true if str1 is a null string
s1 = s2true if s1 = s2
s1 != s2 true if s1 is not equal to s2
str1 true if str1 is assigned and not nullwww.scmGalaxy.com, Author - Rajesh Kumar
147
![Page 148: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/148.jpg)
file tests
File related Tests with test
Test Exit Status
-e file True if file exists
-f file True if fie exists and is a regular file
-r file True if file exists and is readable
-w file True if file exists and is writable
-x file True if file exists and is executable
-d file True if file exists and is a directory
-s file True if the file exists and has a size >0
www.scmGalaxy.com, Author - Rajesh Kumar
148
![Page 149: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/149.jpg)
The case CONDITIONAL
case used to match an expression for more than one alternatives and uses a compact construct to permit multi way branching
case expression in
pattern1) execute commands;;
pattern2) execute commands
esacwww.scmGalaxy.com, Author - Rajesh Kumar
149
![Page 150: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/150.jpg)
An example for case
echo “1. List of files 2. Processes of user 2. Quit”
echo “Enter choice”
read choice
case “$choice” in
1) ls ;;
2) ps –f ;;
3) exit;;
*) echo “Wrong Choice”
esac www.scmGalaxy.com, Author - Rajesh Kumar
150
![Page 151: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/151.jpg)
case Matching Multiple patterns
echo “Do u want to continue (y/n) “
read answer
case “$answer” in
y|Y) echo “Good” ;;
n|N) exit ;;
esac
case can also use wildcards like [yY][eE]* or [nN][oO]
www.scmGalaxy.com, Author - Rajesh Kumar
151
![Page 152: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/152.jpg)
expr: Computation
Shell doesn’t have any compute features-depend on expr
expr 3 + 5
expr $x + $y
expr $x - $y
expr $x \* $y
expr &x / $y
expr $x % $y division gives only integers as expr
can handle only integerswww.scmGalaxy.com, Author - Rajesh Kumar
152
![Page 153: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/153.jpg)
Command Substitution
x=5
x=`expr $x +1`
echo $x it will give 6
www.scmGalaxy.com, Author - Rajesh Kumar
153
![Page 154: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/154.jpg)
sleep & wait
sleep 100 the program sleeps for 100 seconds
wait wait for completion of all background processes
wait 138 wait for completion of the process 138
www.scmGalaxy.com, Author - Rajesh Kumar
154
![Page 155: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/155.jpg)
while loop
while condition is true
do
execute commands
done
eg. x=1
while test $x -le 10
do
echo $x
x=`expr $x + 1`
done (while true will set infinite condition)www.scmGalaxy.com, Author - Rajesh Kumar
155
![Page 156: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/156.jpg)
until : while’s complement
x=1
until test $x –gt 10
do
echo $x
x=`expr $x + 1`
done
www.scmGalaxy.com, Author - Rajesh Kumar
156
![Page 157: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/157.jpg)
For loopfor variable in list
do
execute commands
done
eg. for x in 1 2 3 4 5
do
echo “Value of x is $x”
done
www.scmGalaxy.com, Author - Rajesh Kumar
157
![Page 158: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/158.jpg)
The list in for loop1. List from variables
for var in $PATH $HOME $MAIL
do
echo $var
done
2. List from Wild cards
for file in *.c
do
cc $file –o $file{x}
done
3. List from positional parameters
for pattern in $*
do
grep”$pattern” emp.lst || echo “pattern $pattern not found”
done
4. List from command substitution
for file in `cat clist`www.scmGalaxy.com, Author - Rajesh Kumar
158
![Page 159: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/159.jpg)
Labs
1.develop a script that accepts a file name as argument and displays the last modification time if the file exists and a suitable message if it doesn’t.
2. write a script that accepts one or more file names as arguments, and converts them all to upper case provided they exist.
3. Devise a script that lists files by modification time when called with lm and by access time when called with la. By default the script should show the listing of all files in the current directory
4. Write a script that uses find to look for a file and echo a suitable message if the file is not found. You must not store the output of the find to a file.
5. use the “if then” construct to write a script that will check for at least two parameters present on the command line. Output an appropriate
error message.6. Write a shell script which will compare two numbers passed as command line
arguments and tell which one is bigger.7. Write a shell script which will add all the numbers between 0 and 9 and display the
result.8. Write a script which will give 4 choices to the user 1. ls 2. pwd 3. who 4. exit and
execute the command as per the users choice
www.scmGalaxy.com, Author - Rajesh Kumar
159
![Page 160: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/160.jpg)
Labs contd.
9. Execute the date command with the proper arguments so that its output is in a mm-dd-yy format.
10. From your home directory, make the following directories with a single command line
d1, d1/d2, d1/d3, d1/d2/d411. create a file f1 in the home directory. Change the permissions to 777.12. create a file f2 in your home directory and set setuid and sticky bit
permissions on the file.13. Write the command which will display all the files in the system having
setuid set.14. write the command to find all the files in your home directory hierarchy
modified 1yr back and having a size more than 10 mb and delete the matching files interactively.
15. write two commands which will display all the ordinary files in the system
www.scmGalaxy.com, Author - Rajesh Kumar
160
![Page 161: Basic Unix](https://reader035.fdocuments.net/reader035/viewer/2022062319/5580b66ad8b42ac6088b4ba8/html5/thumbnails/161.jpg)
Labs contd.
16. Write a script that lists all the start scripts in a specified rc#.d directory
a. Name the script rcscripts
b. Write the script so that it doesn’t require command-line arguments
c. For all start scripts in /etc/rc3.d directory print The script name The inode number of the script All other files under /etc with the same inode number
17.Print all entries from /etc/passwd for users who have ksh as their login shell
18. Print the lines from /etc/group that contain the pattern root preceded by the line number
19. Print the number of users in the system.
20. Print the users whose account is locked
www.scmGalaxy.com, Author - Rajesh Kumar
161