Unix commands are the first thing needed by a tester who is testing applications on unix platform. Unix operating systems  comes with online manual  system which can be used to see the command details , syntax options and examples on while working on a unix  system. Unix manual can be accessed using man <command name> and it requires the man package   installed and MANPATH  set to man  directories. The manual page directories may differ in different unix operating systems and  man package may not be installed in all systems .

Following are a few of the most popular and useful commands used in unix operating system

wildcard characters


The * wildcard character substitutes for one or more characters in a filename. For instance, to list all the files in your directory that end with .c, enter the command
ls *.c


? (question mark) serves as  wildcard character for any one character in a filename. For instance, if you have files named prog1, prog2, prog3, and prog3  in your directory, the Unix command:
ls prog?


cd dir      Change to directory d

mkdir dir        Create new directory d

mv dir1 dir2 Rename directory d1 as d2

rmdir dir Remove directory d


list , no details only names
ls filename , filename with wildcard character/s.       

list , details
ls -1  filename , filename with wildcard character/s.   

move  to directory
mv filename    dirname     (wildcard character/s supported)

copy file to other/current  directory
cp file  directory/newfile    or cp directory/oldfile  .

Delete the file
rm  file  ,  rm -rf  directory  – Recursively remove files & directly without any warning.

file  filename  , file command tries to determine the file type , text , executable etc after comparing the values in /etc/magic .

File edit/create/view

vi  – vi  full screen editor 
vi  filename   , Opens a existing file or creates

ed – Line Text editor
ed  filename

count – Line, word, & char
wc  filename

Text content display – List contents of file at once
cat  filename

Text content display by screen :  List contents of file  screen by screen 
more  filename

Concatenate –  file1 & file2 into file3
cat file1 file2 >file3  

File operation

Change read/write/execute mode of fil
chmod mode file

chown [-R] [-h] owner[:group] file

move (rename )  file
mv file1  file2     Rename file file1 as file2

rm file  Delete (remove) file f

Compare two files
cmp file1 file2   

Copy file file1 into file2
cp file1 file2      

Sort Alphabetically
sort file

Sort Numerically
sort -n file

Split f into n-line pieces
split  [-n]  f

match pattern
grep pattern file     Outputs lines that

Lists file differences
diff file1 file2   

head f Output beginning of file
head  file

Output end of file
tail file


Suspend current process
CTRL/z *       

Interrupt processes
CTRL/c *      

Stop screen scrolling
CTRL/s *      

Resume screen scrolling
CTRL/q *       

Sleep for n seconds
sleep n    

Print list of jobs

Kill job n
kill %     

Remove process n
kill  -9 n  

status process status stats

Resume background job n
bg  [%n]       

Resume foreground job n
fg  [%n]       

Exit from shell

User admin

add a new user login to the system
# useradd -u 655 -g 20 -d /home/ttes testlogin  loginname

-u is userid , if not specified system takes highest available .
-g group id should be existing in /etc/group , if not specified other or user is assigned.
-d home directory , default is to use user as the directory name under the home directory.
loginname – new login name to be created .

#useradd testlogin    will create a user by the name ‘testlogin’ with all default values .

password Change
passwd  <user>

alias (csh/tcsh) – Create command
alias name1 name2     

alias (ksh/bash) – Create alias command
alias name1=”name2″   

alias – Remove alias  
unalias name1[na2…]


 Output file f to line printer
lp -d printer file   

System  Status

Display disk quota

Print date & time

List logged in users

Display current user

Output user information
finger  [username]    

Display recent commands

Environment Variable

set command alone displays the environment variables, it is used to set options in ksh   like set -o vi 

export variable ,  export  makes variable visible in sub shells.

Set environment  variable  (csh/tcsh)  to value v
sentenv name v

Set environment  variable  (ksh/bash)  to value v
export name=v      example :  export TERM=vt100


Connecting to a  remote host
$telnet hostname/ip address      or  $telnet

Telnet brings up the login prompt of remote host and  expects you to enter your user name & password .Without argument it enters command mode (telnet>) and accepts command listed by ? at telnet> prompt.
Communication is not encrypted between two hosts.

Securely connecting to a remote host

ssh  username@hostname  or ssh -l username hostname
Depending on ssh setting for your account you may or may not be asked a password to login. Your login/passwd will be same login password as you would use with telnet connection.
Communication is encrypted between two hosts so if someone intercepts your communication he will not be able to use it.

Copy files from/to remote host

ftp hostname
ftp expects you to enter  your username/passwd or if it is ftp only account it will require ftp account password .
put , mput (multipleput) command is used to transfer files to remote host.
get , mget (multipleput) command is used to transfer files from remote host.
ftp allows some limited number of commands to be executed at ftp> prompt & summary of ftp command can be found by using ? at ftp>  prompt

Securely copy files from/to remote host

sftp username@hostname:remotefile  localfile 

Communication is encrypted between two hosts.

Test the tcp/ip  connectivity between two hosts

ping hostname
If you can ping a host the host is reachable from the machine that you are using .
Router/firewall configuration may prevent ping to succeed .

Backup and  Restore

backup and restore using tar , TApeaRchive

tar tvf filename.tar   —  View the table of content of a tar archive
tar xvf filename.tar   — Extract content of a tar archive
tar cvf filename.tar file1 file2  file3Create a tar archive called filename.tar using file1, file2,file3 .
tar can’t copy the special files , device files .Not suitable for taking root backup.

backup and restore using cpio  , CopyInputOutput

cpio is mostly used in conjunction with other commands to generate a list of files to be copied :
#ls | cpio -o > /dev/rmt/c0t0d0 — Copy the contents of a directory into a tape archive:
#find . -depth -print | cpio -pd newdir — copy entire directory to other place:
#find . -cpio /dev/rmt/c0t0d0 — Copy files in current directory to a tape
cpio can copy special files and hence useful in taking root backup containing device file.

Find files  , directories

find  files , directories

Find  command is used to find the files , directories and to run commands on the list of files thus generated .By default, find does not follow symbolic links.
find . -name *.log -print    — Simple find to list log files
find . -name ‘*.log’ -exec rm  {} \;  — Simple find to find log files and delete them .
find accepts a long list of options to find the files based on different parameters such as create time , modified time , of certain size etc. Please refer to man find for more option.