Search This Blog

Tuesday, 25 August 2015

UNIX - As a Tester point of view


UNIX - As a Tester point of view 
It covers below points:-
  • UNIX Overview
  • UNIX Types
  • Kernel, Shell and File and Processes.
  • UNIX Commands.
  • UNIX Commands example.
  • IT will contain maximum basics question for software tester related with UNIX Interview.
  • UNIX
UNIX is an operating system which was first developed in the 1960s, and has been under constant development ever since. By Operating system, we mean the suite of programs which make the computer work. It's a stable,multi-user, multi-Tasking system for servers, desktops and laptops.

UNIX systems also have a graphical user interface similar to Microsoft Windows which provides an easy to use environment. However, knowledge of UNIX is required for operations which aren't covered by a graphical program, or for when there is no windows interface available, e.g:- in a telnet session.

Types/Versions of UNIX
There are many different versions of UNIX, although they share common similarities. The most popular varieties of UNIX are Sun Solaris,GNU/Linux, and Mac OSX.

UNIX operating system is made up of three parts i.e:- The Kernel, The Shell and The Programs.


  • The Kernel
 The kernel of UNIX is the hub of the operating system:- It allocates time and memory to programs and handles the file store and communications in response to system calls.
As an illustration of the way that the shell and the kernel work together, suppose a user types rm myfile (which has the effect of removing the file myfile). The shell searches the filestore for the file containing the program rm, and then request the kernel, through system calls, to execute the program rm on myfile. When the  process rm myfile has finished running, the shell ten returns the UNIX prompt % to the user, indicating that it is waiting for further commands.

  • The shell
The shell acts as an interface between the user and the kernel,. When a user logs in, the login program checks the username and password, and then starts another program called the shell. The shell is a command line interpreter. It interprets the commands the user types in and arranges for them to be carried out. The commands are themselves programs: when they terminate, the shell gives the user another prompt (% on our systems).
The adept user can customize hie/her own shell, and user can use different shells on the same machine. Staff and students in school have the tcsh shell by default.
The tcsh shell has certain features to help the user inputting commands.Filename Completion:- By typing part of the name of command, filename or directory and pressing [Tab]key, the tcsh shell will complete the rest of the name automatically. If the shell finds more than one name beginning with those letters you have typed, it will beep, prompting you to type a few more letters before pressing the tab key again.
 History - The shell keeps a list of commands you have typed in. If you need to repeat a command, use the cursor keys to scroll up and down the list or type history for a list of previous commands.
  • Files and Processes
Everything is UNIX is either a file or a process.
A process is an executing program identified by a unique PID (Process Identifier).
A file is a collection of data. They are created by users using text editors, running compilers etc.

Example of files:
  • a document (report, essay etc).
  • the text of a program written in some high-level programming language
  • instruction comprehensible directly to the machine and incomprehensible to a casual user, for example, a collection of binary digits (an executable or binary file);
  • a directory, containing information about its contents, which may be a mixture of other directories (sub-directories) and ordinary files.
The Directory Structure  
All the files are grouped together in the directory structure. The file-system is arranged in a hierarchical structure, like an inverted tree. The top of the hierarchy is traditionally called root (written as a slash)
Some useful UNIX Commands
  • cat                                                         for creating and displaying short files         
  • chmod                                                  change permissions
  • cd                                                         change directory
  • cp                                                         for copying files
  • date                                                      display date
  • echo                                                      echo argument
  • ftp                                                         connect to a remote machine to download or upload files
  • grep                                                      search file
  • head                                                     display first part of file
  • ls                                                          see what files you have
  • lpr                                                         standard print command
  • more                                                     use to read files
  • mkdir                                                    create directory
  • mv                                                        for removing and renaming files
  • ncftp                                                     especially good for downloading files via anonymous ftp.
  • print                                                      custom print command (see also lpr)
  • pwd                                                       find out what directory you are in
  • rm                                                         remove a file
  • rmdir                                                     remove directory
  • rsh                                                         remote shell
  • setenv                                                    set an environment variable
  • sort                                                        sort file
  • tail                                                         display last part of file
  • tar                                                          create an archive, add or extract files
  • telnet                                                     log in to another machine
  • wc                                                         count characters, words, lines
 Examples of UNIX commands
cat
This is one of the most flexible UNIX commands. We can use to create, view and concatenate files. For our first example we create a three-item English-Spanish dictionary in a file called "dict."
%cat > dict
red rojo
green verde
blue azul
<control-D>
<control-D> stands for "hold the control key down, then tap 'd". The symbol >tells the computer that what is typed is to be put into the file dict. To view a file we use cat in different way:
% cat dict
red rojo
green verde
blue azul
%
If we wish to add text to an existing file we do this:
% cat >>dict
white blanco
black negro
<control-D>
%  
Now suppose that we have another file tmp that looks like this:
% cat tmp
cat gato
dog perro
%
Then we can join dict and tmp like this:
% cat dict tmp>dict2
We could check the number of lines in the new file like this:
%wc -l dict2
The command wc counts things --- the number of characters, words, and line in a file.

chmod
This command is used to change the permissions of a file or directory. For exampe to make a file essay.001 readable by everyone, we need to do this:
%chmod a+r essay.001
To make a file, e.g; a shell script mycommand executable, we do this
%chmod +x mycommand
Now we can run mycommand as a command.
To check the permission of a file, use ls-l . For more information on chmod use man chmod.
cd
Use cd to change directory. Use pwd to see what directory you are in.
%cd english
%pwd
% /u/ma/jeremy/english
% ls
novel poem
% cd novel
% pwd
% /u/ma/jeremy/english/novel
% ls
ch1 ch2 ch3 journal scrapbook
% cd..
% pwd
% /u/ma/jeremy/english
% cd poems
% cd
% /u/ma/jeremy
Jeremy began in his home directory, then went to his english sub-directory. He listed this directory using ls , found that it contained two entries, both of which happen to be directories. He cd'd to the directory novel, and found that he had gotten only as far as chapter 3 in his writting. Then he used cd.. to jump back one level. If had wanted to jump back one level, then go to poems he could have said cd../poems. Finally he used cd with no argument to jump back to his home directory.
 cp
Use  cp to copy files or directories.
% cp foo foo.2
This makes a copy of the file foo.
% cp ~/poems/jabber.
 This copies the file jabber in the directory poems to the current directory. The symbol "." stands for the current directory. The symbol "~" stands for home directory.
date
Use this command to check the date and time.
% date

echo
The echo command echoes its arguments. Here are some example.
% echo this
this 
% echo $EDITOR
/usr/local/bin/enmacs
% echo $PRINTER
b129lab1
Things like PRINTER are so called environment variables. This one stores the name of the default printer -- the one that print jobs will go to unless you take some action to change things. The dollar sign before an environment variable is needed to get the value in the variable. Try the following to verify this:
% echo PRINTER
PRINTER  
ftp
Use ftp to connect to a remote machine, then upload or download files. See also: ncftp
Example 1:- We'll connect to the machine fubar.net, then change the director to mystuff, then download the file homework11:
% ftp solitude
connected to fubar.net
220 fubar.net FTP server (version-------date time------) ready.
Name (solitude:carlson): jeremy
331 Password required for jeremy.
Password:
230 User jeremy logged in.
ftp> cd mystuff
250 CWD command successful.
ftp> get homework11
ftp> quit 
Example 2:- We'll connect to the machine fubar.net, then change the director to mystuff, then upload the file collected-letters:
% ftp solitude
connected to fubar.net
220 fubar.net FTP server (version-------date time------) ready.
Name (solitude:carlson): jeremy
331 Password required for jeremy.
Password:
230 User jeremy logged in.
ftp> cd mystuff
250 CWD command successful.
ftp> put collected-letters
ftp> quit
The ftp program sends files in ascii(text) format unless you specify binary mode:

ftp> binary
ftp> put foo
ftp> ascii
ftp> get bar
The file foo was transferred in binary mode, the file bar was transferred in ascii mode.
grep
Use this command to search for information in a file or file. For example, suppose that we have a file dict whose contents are
red rojo
green verde
blue azul
white blanco
black negro 
Then we can look up items in our file like this;
% grep red dict
red rojo
% grep blanco dict
white blanco
% grep brown dict
%
Notice that no output was returned by grep brown. This is because "brown" is not in our dictionary file. 
Grep can also be conbined with other commands. For example, if one had a file of phone numbers named "ph", one entry per line, then the following command would give analphabetical list of all persons whose name contains the string "Fred".
% grep Fred ph | sort
Alpha, Fred:333-6565
Beta, Freddie: 656-0099
Frederickson, Molly: 444-0981
Gamma, Fred-George: 111-7676
Zeta, Frederick:431-0987
The symbol "|" is called "pipe." It pipes the output of the grep command into the input of the sort command.
For more info on grep, consult
% man grep

 

No comments:

Post a Comment