Sie sind auf Seite 1von 27

PROGRAM NO: 1

AIM:-UNIX OVERVIEW AND ITS BASIC COMMANDS.


Unix is a multitasking, multi-user computer operating system that exists in many
variants. The original Unix was developed at AT&T's Bell Labs research center
by Ken Thompson, Dennis Ritchie, and others.From the power user's or
programmer's perspective, Unix systems are characterized by a modular design
that is sometimes called the "Unix philosophy," meaning the OS provides a set of
simple tools that each perform a limited, well-defined function, with a
unified filesystem as the main means of communication and a shell scripting and
command language to combine the tools to perform complex workflows.
The official trademark of the operating system is specified as UNIX. It is owned
by The Open Group, an industry standards consortium, which allows the use of
the mark for certified operating systems compliant with the Single UNIX
Specification. Other operating systems that emulate Unix to some extent are often
called Unix-like, although the Open Group disapproves of this term. The
term Unix is also often used informally to denote any operating system that
closely resembles the trademarked system. The most common version of Unix
(bearing certification) is Apple's OS X, while Linux is the most popular noncertified work alike.
A Unix architecture is a computer operating system system architecture that
embodies the Unix philosophy. It may adhere to standards such as the Single
UNIX Specification (SUS) or similar POSIX IEEE standard. No single published
standard describes all Unix architecture computer operating systems - this is in
part a legacy of the Unix wars.
There are many systems which are Unix-like in their architecture. Notable among
these are the GNU/Linux distributions. The distinctions between Unix and Unixlike systems have been the subject of heated legal battles, and the holders of the
UNIX brand, The Open Group, object to "Unix-like" and similar terms.
Some key features of the Unix architecture concept are:

12013029

Unix systems use a centralized operating system kernel which manages


system and process activities.
All non-kernel software is organized into separate, kernel-managed
processes.
Unix systems are preemptively multitasking: multiple processes can run at
the same time, or within small time slices and nearly at the same time, and
any process can be interrupted and moved out of execution by the kernel.
This is known as thread management.
Files are stored on disk in a hierarchical file system, with a single top
location throughout the system (root, or "/"), with both files and directories,
subdirectories, sub-subdirectories, and so on below it.
With few exceptions, devices and some types of communications between
processes are managed and visible as files or pseudo-files within the file
system hierarchy. This is known as everything is a file. However, Linus
Torvalds states that this is inaccurate and may be better rephrased as
"everything is a stream of bytes".
The UNIX operating system supports the following features and capabilities:
Multitasking and multiuser.
Programming interface.
Use of files as abstractions of devices and other objects.
Built-in networking. (TCP/IP is standard)
Persistent system service processes called "daemons" and managed by init
or inetd.

12013029

UNIX FILE MANAGEMENT COMMANDS


All data in UNIX is organized into files. All files are organized into directories.
These directories are organized into a tree-like structure called the filesystem. When
you work with UNIX, one way or another you spend most of your time working with
files. This tutorial would teach you how to create and remove files, copy and rename
them, create links to them etc.
In UNIX there are three basic types of files:
1. Ordinary Files: An ordinary file is a file on the system that contains data,
text, or program instructions. In this tutorial, you look at working with
ordinary files.
2. Directories: Directories store both special and ordinary files. For users
familiar with Windows or Mac OS, UNIX directories are equivalent to folders.
3. Special Files: Some special files provide access to hardware such as hard
drives, CD-ROM drives, modems, and Ethernet adapters. Other special files
are similar to aliases or shortcuts and enable you to access a single file using
different names.
Listing Files:
To list the files and directories stored in the current directory. Use the following
command:

12013029

$ls
Here is the sample output of the above command:
$ls

bin
ch07

hosts lib
hw1

ch07.bak hw2
docs

hw3

res.03

pub

test_results

res.01 users
res.02 work

The command ls supports the -l option which would help you to get more
information about the listed files:
$ls -l
total1962188

drwxrwxr-x 2amroodamrood4096Dec2509:59uml
-rw-rw-r--1amroodamrood5341Dec2508:38 uml.jpg
drwxr-xr-x 2amroodamrood4096Feb152006univ
drwxr-xr-x 2 root root4096Dec92007urlspedia
Here is the information about all the listed columns:
1.

First Column: represents file type and permission given on the file. Below is
the description
of all type of files.

2.

Second Column: represents the number of memory blocks taken by the file or
directory.

3.

Third Column: represents owner of the file. This is the Unix user who created
this file.

4.

Fourth Column: represents group of the owner. Every Unix user would have
an associated group.

12013029

5.
6.

Fifth Column: represents file size in bytes.


Sixth Column: represents date and time when this file was created or modified
last time.

7.

Seventh Column: represents file or directory name.


In the ls -l listing example, every file line began with a d, -, or l. These characters
indicate the type of file that's listed.
Prefix

Description

Regular file, such as an ASCII text file, binary executable, or


hard link.

Block special file. Block input/output device file such as a


physical hard drive.

Character special file. Raw input/output device file such as a


physical hard drive

Directory file that contains a listing of other files and directories.

Symbolic link file. Links on any regular file.

Named pipe. A mechanism for interprocess communications

Socket used for interprocess communication.

Meta Characters:
Meta
characters
have
special
meaning
in
Unix.
For
example * and ? aremetacharacters. We use * to match 0 or more characters, a
question mark ? matches with single character.
For Example:
$ls ch*.doc
Displays all the files whose name start with ch and ends with .doc:
ch01-1.doc ch010.doc ch02.doc ch03-2.doc
12013029

ch04-1.doc ch040.doc ch05.doc ch06-2.doc


ch01-2.doc ch02-1.doc c
Here * works as meta character which matches with any character. If you want to
display all the files ending with just .doc then you can use following command:
$ls *.doc
Hidden Files:
An invisible file is one whose first character is the dot or period character (.). UNIX
programs (including the shell) use most of these files to store configuration
information.
Some common examples of hidden files include the files:

.profile: the Bourne shell ( sh) initialization script


.kshrc: the Korn shell ( ksh) initialization script
.cshrc: the C shell ( csh) initialization script
.rhosts: the remote shell configuration file
To list invisible files, specify the -a option to ls:
$ ls-a

..profile

docs

lib

...rhosts

hosts pub

test_results
users

.emacs bin

hw1

res.01 work

.exrc

hw2

res.02

ch07

.kshrc ch07.bak

hw3

res.03

Single dot .: This represents current directory.


Double dot ..: This represents parent directory.

12013029

Note: I have put stars (*) just to show you the location where you would need to
enter the current and new passwords otherwise at your system, it would not show
you any character when you would type.
Creating Files:
You can use vi editor to create ordinary files on any Unix system. You simply need to
give following command:
$ vi filename
Above command would open a file with the given filename. You would need to press
key i to come into edit mode. Once you are in edit mode you can start writing your
content in the file as below:
Thisisunix file....I created it for the first time.....
I'm going to save this content in this file.
Once you are done, do the following steps:

Press key esc to come out of edit mode.


Press two keys Shift + ZZ together to come out of the file completely.
Now you would have a file created with filemame in the current directory.
$ vi filename
$
Editing Files:
You can edit an existing file using vi editor. We would cover this in detail in a
separate tutorial. But in short, you can open existing file as follows:
$ vi filename
Once file is opened, you can come in edit mode by pressing key i and then you can
edit file as you like. If you want to move here and there inside a file then first you
need to come out of edit mode by pressing key esc and then you can use following
keys to move inside a file:

l key to move to the right side.


h key to move to the left side.
k key to move up side in the file.
12013029

j key to move down side in the file.


So using above keys you can position your cursor where ever you want to edit. Once
you are positioned then you can use i key to come in edit mode. Edit the file, once
you are done press esc and finally two keys Shift + ZZ together to come out of the
file completely.
Display Content of a File:
You can use cat command to see the content of a file. Following is the simple
example to see the content of above created file:
$ cat filename
Thisisunix file....I created it for the first time.....
I'm going to save this content in this file.
$
You can display line numbers by using -b option along with cat command as
follows:
$ cat filename -b
1 This is unix file....I created it for the first time.....
2 I'm going to save this content in this file.
$
Counting Words in a File:
You can use the wc command to get a count of the total number of lines, words, and
characters contained in a file. Following is the simple example to see the information
about above created file:
$ wc filename
219103 filename
$
Here is the detail of all the four columns:

1.

First Column: represents total number of lines in the file.

2.

Second Column: represents total number of words in the file.


12013029

3.

Third Column: represents total number of bytes in the file. This is actual size
of the file.

4.

Fourth Column: represents file name.


You can give multiple files at a time to get the information about those file. Here is
simple syntax:
$ wc filename1 filename2 filename3
Copying Files:
To make a copy of a file use the cp command. The basic syntax of the command is:
$ cpsource_filedestination_file
Following is the example to create a copy of existing file filename.
$ cp filename copyfile
$
Now you would find one more file copyfile in your current directory. This file would
be exactly same as original file filename.
Renaming Files:
To change the name of a file use the mv command. Its basic syntax is:
$ mvold_filenew_file
Following is the example which would rename existing file filename to newfile:
$ mv filename newfile
$
The mv command would move existing file completely into new file. So in this case
you would fine onlynewfile in your current directory.
Deleting Files:
To delete an existing file use the rm command. Its basic syntax is:
$ rm filename

12013029

Caution: It may be dangerous to delete a file because it may contain useful


information. So be careful while using this command. It is recommended to use i option along with rm command.
Following is the example which would completely remove existing file filename:
$ rm filename
$
You can remove multiple files at a tile as follows:
$ rm filename1 filename2 filename3

12013029

UNIX DIRECTORY COMMANDS


A directory is a file whose sole job is to store file names and related information. All
files, whether ordinary, special, or directory, are contained in directories. UNIX uses
a hierarchical structure for organizing files and directories. This structure is often
referred to as a directory tree . The tree has a single root node, the slash character ( /),
and all other directories are contained below it.
Home Directory:
The directory in which you find yourself when you first login is called your home
directory. You will be doing much of your work in your home directory and
subdirectories that you'll be creating to organize your files.
You can go in your home directory anytime using the following command:
$cd ~
$
Here ~ indicates home directory. If you want to go in any other user's home directory
then use the following command:
$cd ~username
$
To go in your last directory you can use following command:
12013029

$cd $
Absolute/Relative Pathnames:
Directories are arranged in a hierarchy with root (/) at the top. The position of any
file within the hierarchy is described by its pathname. Elements of a pathname are
separated by a /. A pathname is absolute if it is described in relation to root, so
absolute pathnames always begin with a /.
These are some example of absolute filenames.
/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3
A pathname can also be relative to your current working directory. Relative
pathnames never begin with /. Relative to user amrood' home directory, some
pathnames might look like this:
chem/notes
personal/res
To determine where you are within the filesystem hierarchy at any time, enter the
command pwd to print the current working directory:
$pwd
/user0/home/amrood
$
Listing Directories:
To list the files in a directory you can use the following syntax:
$ls dirname
Following is the example to list all the files contained in /usr/local directory:

12013029

$ls /usr/local
X11
bin
gimp
jikessbin
ace
doc
include lib
share
atalketc
info
man
ami
Creating Directories:
Directories are created by the following command:
$mkdirdirname
Here, directory is the absolute or relative pathname of the directory you want to
create. For example, the command:
$mkdirmydir
$
Creates the directory mydir in the current directory. Here is another example:
$mkdir/tmp/test-dir
$
This command creates the directory test-dir in the /tmp directory.
The mkdir command produces no output if it successfully creates the requested
directory. If you give more than one directory on the command line, mkdir creates
each of the directories. For example:
$mkdir docs pub
$
Creates the directories docs and pub under the current directory.

Creating Parent Directories:

12013029

Sometimes when you want to create a directory, its parent directory or directories
might not exist. In this case, mkdir issues an error message as follows:
$mkdir/tmp/amrood/test
mkdir:Failed to make directory "/tmp/amrood/test";
No such file or directory
$
In such cases, you can specify the -p option to the mkdir command. It creates all the
necessary directories for you. For example:
$mkdir-p /tmp/amrood/test
$
Above command creates all the required parent directories.
Removing Directories:
Directories can be deleted using the rmdir command as follows:
$rmdirdirname
$
Note: To remove a directory make sure it is empty which means there should not be
any file or sub-directory inside this directory.
You can create multiple directories at a time as follows:
$rmdir dirname1 dirname2 dirname3
$
Above command removes the directories dirname1, dirname2, and dirname2 if they
are empty. The rmdir command produces no output if it is successful.
Changing Directories:
You can use the cd command to do more than change to a home directory: You can
use it to change to any directory by specifying a valid absolute or relative path. The
syntax is as follows:
12013029

$cd dirname
$
Here, dirname is the name of the directory that you want to change to. For example,
the command:
$cd /usr/local/bin
$
Changes to the directory /usr/local/bin. From this directory you can cd to the
directory /usr/home/amrood using the following relative path:
$cd ../../home/amrood
$

PROGRAM NO:-2
AIM:-WRITE A PROGRAM OF CALCULATOR.
echo enter two numbers
read a b

12013029

echo Enter choice


echo 1.Addition
echo 2.Subtraction
echo 3.Multiply
echo 4.Divide
echo 5.Exit
readi
case $i in
1) echo value=`expr $a + $b` ;;
2) echo value=`expr $a - $b` ;;
3) echo value=`expr $a \* $b` ;;
4) echo value=`expr $a / $b` ;;
5) exit ;;
*) echo Invalid Option ;;
esac

PROGRAM NO:-3
AIM:-WRITE A PROGRAM USING CASE STRUCTURE.
while [ true ]

12013029

do
echo Enter choice
echo "1.Check present working directory"
echo "2.check date"
echo "3.Calender"
echo "4.Current process"
echo "5. exit"
read a
case "$a" in
1) pwd ;;
2) date ;;
3) cal ;;
4) ps -f ;;
5) exit ;;
*) echo Invalid option
esac
done

PROGRAM NO:-4
AIM:-WRITE A PROGRAM TO FIND NUMBER IS EVEN OR ODD.
echo enter the number

12013029

read a
if [ `expr $a % 2` -eq 0 ]
then
echo number is even number
else
echo number is odd number
fi

PROGRAM NO:-5
AIM:-WRITE A PROGRAM TO FIND FACTORIAL OF A NUMBER.

12013029

echo "total no of factorial wants"


read fact
ans=1
counter=0
while [ $fact -ne $counter ]
do
counter=`expr $counter + 1`
ans=`expr $ans \* $counter`
done
echo "total of factorial is $ans"

PROGRAM NO:-6

12013029

AIM:-WRITE A PROGRAM TO GENERATE FIBONACCI SERIES.


echo "number of terms to be generated"
read n
x=0
y=1
i=2
echo "fibonacci series upto $n terms:"
echo $x
echo $y
while [ $i -lt $n ]
do
i=`expr $i + 1`
z=`expr $x + $y`
echo $z
x=$y
y=$z
done

PROGRAM NO:-7

12013029

AIM:-WRITE A PROGRAM TO FIND LARGEST OF THREE NUMBERS.


echo Enter three numbers
read a b c
l=$a
if [ $b -gt $l ]
then
l=$b
fi
if [ $c -gt $l ]
then
l=$c
fi
echo largest of $a $b $c is $l

PROGRAM NO:-8
12013029

AIM:-WRITE A PROGRAM TO FIND NUMBER IS PALINDROME.


echo "enter num"
readnum
a=$num
rem=0
val=0
while [ $num -gt 0 ]
do
rem=`expr $num % 10`
val=`expr $val \* 10 + $rem`
num=`expr $num / 10`
done
if [ $val -eq $a ]
then
echo number is palindrome
else
echo It is not a palindrome
fi

PROGRAM NO:-9
12013029

AIM:-WRITE A PROGRAM FOR POSITIONAL PARAMETERS.


echo "the total no of args are: $#"
echo "the script name is : $0"
echo "the first argument is : $1"
echo "the second argument is : $2"
echo "the total argument list is: $*"
echo "first two arguments : $1 $2"

PROGRAM NO:-10
12013029

AIM:-WRITE A PROGRAM TO FIND PERCENTAGE OF A STUDENT.


echo enter student name
read n
echo "enter $n's marks in english"
read e
echo "enter $n's marks in physics"
read p
echo "enter $n's marks in chemistry"
read c
echo "enter $n's marks in maths"
read m
echo "enter $n's marks in computers"
read comp
sum=`expr $e + $p + $c + $m + $comp`
perc=`expr $sum / 5`;
echo "$n's percentage : $perc"

PROGRAM NO:-11
12013029

AIM:-WRITE A PROGRAM TO FIND NMBER IS PRIME OR NOT .


echo "Enter a number: "
readnum
i=2
f=0
while [ $i -le `expr $num / 2` ]
do
if [ `expr $num % $i` -eq 0 ]
then
f=1
fi
i=`expr $i + 1`
done
if [ $f -eq 1 ]
then
echo "The number is not prime"
else
echo "The number is Prime"
fi

PROGRAM NO:-12
12013029

AIM:-WRITE A PROGRAM TO FIND REVERSE OF A NUMBER.


echo "enter num to be reversed"
readnum
rem=0
val=0
while [ $num -gt 0 ]
do
rem=`expr $num % 10`
val=`expr $val \* 10 + $rem`
num=`expr $num / 10`
done
echo reverse:$val

PROGRAM NO:-13
12013029

AIM:-WRITE A PROGRAM TO FIND TABLE OF A NUMBER.


echo enter number to find its table
read a
i=1
while [ $i -le 10 ]
do
echo " $a x $i = `expr $a \* $i` "
i=`expr $i + 1`
done

12013029

Das könnte Ihnen auch gefallen