This document provides an overview of the UNIX operating system. It begins with an introduction to UNIX, noting that it was developed in 1969 at Bell Labs and is a portable, multi-user, multi-tasking operating system. The document then covers the history of UNIX, its key features including multi-user capability and security, and common shells like Bourne shell. It also discusses common UNIX distributions, basic commands like ls, cat and cp, and includes a questions and answers section and references.
2. Introduction to Unix
History of Unix
Salient features of Unix
SHELL
Distributions
Basic Unix Commands
Q&A
References
Roadmap
3. INTRODUCTION TO UNIX
A multi-tasking and multi-user Operating System
Developed in 1969 at AT&T’s Bell Labs by
Ken Thompson (Unix)
Dennis Ritchie (C)
Peter Neumann suggested their project is given the name UNIX.
It is a portable operating system that is designed for both efficient
multi-tasking and multi-user functions. Its portability allows it to run on
different hardware platforms. It was written is C and lets user do
processing and control under a shell.
Unix is case sensitive
4. HISTORY OF UNIX
The history of UNIX starts from the project MULTICS (Multiplexed
Information and Computing Service) in 1965 conducted by AT&T,GE
& MIT funded by DOD(Dept. of Defense)USA.
The main aim to develop UNIX was to develop and operating
system that could serve large Community of users and allow them to
share data if needed be. This never to be enterprise called MULTICS
In 1969, ken Thompson and Dennis Ritchie released the first version
of Multiuser System Called UNIX. At that time Unix was not portable.
To remedy this Ken Thompson created a new language “B” but
language lacked some aspects. So in 1973 UNIX was Rewritten in
“C” Language by Ken Thompson. C Language was developed by
Dennis Ritchie.
5. SALIENT FEATURE OF UNIX
Multiuser Capability
Multitasking Capability
Communication
Security
Portability
6. What is SHELL
A shell acts as an interface between the user and the system. As a
command interpreter, the shell takes commands that we give interpret
the command and then conveys them to the kernel which ultimate
executes them. You can imagine kernel as a monarch who is the
overall control of everything where as the shell as its emissary
7. TYPES Of SHELLS
BOURNE SHELL
Steve Bourne Creation, known after him Bourne Shell is the most
popular. It comes with every Unix System
C SHELL
This shell is a hit with those who are seriously into Unix programming,
created by Bill Joy, it had two advantage over Bourne Shell. It allows aliasing of
commands the other one is history feature.
KORN SHELL
it is not widely used but is a powerful and superset of Bourne shell,
created by David Korn.
OTHER SHELLS
ZSHELL
BASH SHELL
8. SHELL Prompt of Ubuntu
To open the terminal in Ubuntu use can use the shortcut : ctrl + Alt + T
9. DISTRIBUTIONS
Linux
Minix
FreeBSD
OpenBSD
NetBSD
GNU Hurd
Solaris
SCO Unix
Conclusion
There are many free Unix like operating systems floating around out there and most if not all
of them can be found quickly with a simple internet search. The OS's I have listed above are,
in my opinion, the best. They are also all available to use for free unlike most of the others.
11. BASIC COMMANDS
This command returns your username. Sounds useless, but
isn't. You may need to find out who it is who forgot to log
out somewhere, and make sure *you* have logged out.
Example: whoami
whoami
12.
13. Man - Manual
In unix online help has been available since the beginning. In order to
access all the available help, you have to tell the shell where to look for
online help pages. This information is specified using the MANPATH. A
common setting is:
MANPATH=/usr/man:/usr/share/man
When you use the man command to request online help as follows, the
man command searches every directory given in the MANPATH for an
online help page corresponding to the topic you have requested.
$man who
In this case it looks for the online help page corresponding to the who
command
15. Passwd
To change the password of the user we use passwd command
Which ever password we create Unix stores it in /etc/passwd file but
in encrypted format, the password basically stored it in the Shadow
File which is located in /etc/shadow.
We can even cat this file on the screen
lets you change your password, which you should do regularly (at
least once a year).
$cat /etc/passwd
16.
17.
18. cal - Calender
Display a conveniently-formatted calendar from the command line.
In general, if no options are given, cal displays the current month at the
command line.
19.
20.
21. Touch
With this command we will learn how to create files
With this we can create many files without storing anything in the
files. The size of the file is ZERO Bytes
Q Why do we use touch ?
A Not only does it creates empty files it also allows you to change the
modification and access time of a file.
we can even set the access time for a file to a particular time instead
of current time.
Example: touch dinesh heena siddhi jatin
22.
23. cat- concatenate
If we want to store a few lines in a file while creating it we use cat
command. One’s you are through with typing content press the
keys : Ctrl + d . In Unix Ctrl + d indicates the EOF(End of File)
To display the content of file under DOS we use type command.
To see content of file we use the following command
Umask 0022
Example : cat >dheeraj - for creating file
cat < dheeraj or cat dheeraj - will show you the output
24.
25. cp- copy
Copies Files from one Directory or location to another file or directory.
Cp command takes the liberty to overwrite the file to the destination it
will not even give a warning.
Example:
$cp abc.c xyz.c mycfile.txt
$cp abc.c xyz.c
$cp /usr/aa16/chapter1 /usr/aa16/newbook/chap1
The last command when executed it will copy the chapter1 file to
/usr/aa16/newbook. When copied to this directory it would have the
name chap1 instead of chapter1
26.
27. rm - remove
The rm command removes (deletes) files or directories. It is wise to use the option rm -i, which will ask you
for confirmation before actually deleting anything.
The removal process unlinks a filename in a filesystem from data on the storage device, and marks that
space as usable by future writes. In other words, removing files increases the amount of available space
on your disk.
The data itself is not destroyed, but after being unlinked, it becomes inaccessible. Remove your files wisely!
The effects of an rm operation cannot be undone.
Note: If what you want is to completely, unrecoverable erase the data on the disk, use the shred
command instead. This will overwrite the file's contents so that they cannot be reconstructed later by any
means.
options of rm command:
-i -> it is used for interactive deletion of files and directory
-r-> it will recusively delete the items. It means if there is a sub directory inside the directory
-f-> it will forcibly remove the directory
28.
29. Ls-list
ls --- lists your files
ls -l --- lists your files in 'long format', which contains lots of useful
information, e.g. the exact size of the file, who owns the file and who
has the right to look at it, and when it was last modified.
ls -a --- lists all files, including the ones whose filenames begin in a dot,
which you do not always want to see.
There are many more options, for example to list files by size, by date,
recursively etc.
30.
31.
32.
33.
34. mv - move or rename
moves a file (i.e. gives it a different name, or moves it into a different
directory
35.
36. mkdir – make directory
Create the DIRECTORY(ies), if they do not already exist.
Mandatory arguments to long options are mandatory for short options too.
-m, --mode=MODE
set permission mode (as in chmod), not rwxrwxrwx - umask
-p, --parents
no error if existing, make parent directories as needed
-v, --verbose
print a message for each created directory
37.
38. cd – change directory
change directory. You basically 'go' to another directory, and you
will see the files in that directory when you do 'ls'. You always start
out in your 'home directory', and you can get back there by typing
'cd' without arguments. 'cd ..' will get you one level up from your
current position. You don't have to walk along step by step - you
can make big leaps or avoid walking around by specifying
pathnames.
Example: $cd eleven
39.
40.
41. Pwd- print working directory
pwd prints the full pathname of the current working directory.
42.
43. logname
Logname prints the user login name who is logged in .
Print the name of the current user.
Example: logname
44.
45. uname
Print certain system information. If no OPTION is specified, uname
assumes the -s option.
Example:
Uname –a
46.
47. who
The who command prints information about all users who are currently
logged in.
48.
49. sort
sort is a simple and very useful command which will rearrange the
lines in a text file so that they are sorted, numerically and
alphabetically. By default, the rules for sorting are:
lines starting with a number will appear before lines starting with a letter;
lines starting with a letter that appears earlier in the alphabet will
appear before lines starting with a letter that appears later in the
alphabet;
lines starting with a lowercase letter will appear before lines starting with
the same letter in uppercase.
50.
51. tty – teletype terminals
tty - print the file name of the terminal connected to standard input
In unix terminology, a tty is a particular kind of device file which
implements a number of additional commands (ioctls) beyond read
and write. In its most common meaning, terminal is synonymous with
tty. Some ttys are provided by the kernel on behalf of a hardware
device, for example with the input coming from the keyboard and
the output going to a text mode screen, or with the input and
output transmitted over a serial line. Other ttys, sometimes called
pseudo-ttys, are provided (through a thin kernel layer) by programs
called terminal emulators, such as Xterm (running in the X Window
System), Screen (which provides a layer of isolation between a
program and another terminal), Ssh (which connects a terminal on
one machine with programs on another machine), Expect (for
scripting terminal interactions), etc.
52. ulimit
The ulimit programs allow to limit system-wide resource use. This can
help a lot in system administration, e.g. when a user starts too many
processes and therefore makes the system unresponsive for other
users.
NOTE : Do not run this in a shell! If no limits are set your system will
either become unresponsive or might even crash.
53. wc
wc, or "word count," prints a count of newlines, words, and bytes for each input file.
wc prints newline, word, and byte counts for each FILE, and a total if more than one
FILE is specified. With no FILE, or when FILE is a dash ("-"), wc operates on standard
input. (A word is a non-zero-length sequence of characters delimited by white
space.)
Example:
wc -l : Prints the number of lines in a file.
wc -w : prints the number of words in a file.
wc -c : Displays the count of bytes in a file.
wc -m : prints the count of characters from a file.
wc -L : prints only the length of the longest line in a file.
54.
55. Head
head, by default, prints the first 10 lines of each FILE to standard output.
With more than one FILE, it precedes each set of output with a header
identifying the file name. If no FILE is specified, or when FILE is specified
as a dash ("-"), head reads from standard input.
56.
57. tail
Print the last 10 lines of each FILE to standard output. With more than
one FILE, precede each with a header giving the file name. With no
FILE, or when FILE is -, read standard input.
Mandatory arguments to long options are mandatory for short options
too.
tail prints the last 10 lines of each FILE to standard output. With more
than one FILE, it precedes each set of output with a header giving the
file name. If no FILE is specified, or if FILE is specified as a dash ("-"), tail
reads from standard input.
58.
59. more
shows the first part of a file, just as much as will fit on one screen. Just hit
the space bar to see more or q to quit. You can use /pattern to search
for a pattern.
60.
61.
62. less
Less is a program similar to more (1), but which allows backward movement
in the file as well as forward movement. Also, less does not have to read the
entire input file before starting, so with large input files it starts up faster than
text editors like vi (1). Less uses term cap (or term info on some systems), so it
can run on a variety of terminals. There is even limited support for hardcopy
terminals. (On a hardcopy terminal, lines which should be printed at the top
of the screen are prefixed with a caret.)
67. chmod - change mode as permission
lets you change the read, write, and execute permissions on your files.
The default is that only you can look at them and change them, but
you may sometimes want to change these permissions.
For example, chmod o+r filename will make the file readable for
everyone, and chmod o-r filename will make it unreadable for others
again. Note that for someone to be able to actually look at the file the
directories it is in need to be at least executable. See help protection
for more details.
68.
69.
70. References
Unix Shell Programming By Yashavant Kanetkar.
Unix Concept and Application by Sumitabha Das.
http://www.tutorialspoint.com/unix
https://www.youtube.com/watch?v=nVt3Rst-
2H8&list=PL7B7FA4E693D8E790