Unix Commands
Unix Commands
Misc commands
Man ual Command.
man man This is help command, and will explains you about online manual pages you can also
use man in conjunction with any command to learn more about that command for example.
man ls will explain about the ls command and how you can use it.
man -k pattern command will search for the pattern in given command.
Banner Command.
Banner prints characters in a sort of ascii art poster, for example to print wait in big letters. I will
type
banner wait at unix command line or in my script. This is how it will look.
# # ## # #####
# # # # # #
# # # # # #
# ## # ###### # #
## ## # # # #
# # # # # #
Cal Command
cal command will print the calendar on current month by default. If you want to print calendar of
august of 1965. That's eightht month of 1965.
cal 8 1965 will print following results.
August 1965
S M Tu W Th F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Clear Command
clear command clears the screen and puts cursor at beginning of first line.
Calendar Command
calendar command reads your calendar file and displays only lines with current day.
For example in your calendar file if you have this
Nohup Command.
nohup command if added in front of any command will continue running the command or
process even if you shut down your terminal or close your session to machine. For example, if I
want to run a job that takes lot of time and must be run from terminal and is called
update_entries_tonight .
nohup update_entries_tonight will run the job even if terminal is shut down in middle of this job.
Tty command
Tty command will display your terminal. Syntax is
tty options
Options
/u0/ssb/Dinesh
is output for the command when I use pwd in /u0/ssb/Dinesh directory.
Ls Command
ls command is most widely used command and it displays the contents of directory.
options
ls will list all the files in your home directory, this command has many options.
ls -l will list all the file names, permissions, group, etc in long format.
ls -a will list all the files including hidden files that start with . .
ls -lt will list all files names based on the time of creation, newer files bring first.
ls -Fxwill list files and directory names will be followed by slash.
ls -Rwill lists all the files and files in the all the directories, recursively.
ls -R | more will list all the files and files in all the directories, one page at a time.
Mkdir Command.
mkdir Dinesh will create new directory, i.e. here Dinesh directory is created.
Cd Command.
cd Dinesh will change directory from current directory to Dinesh directory.
Use pwd to check your current directory and ls to see if Dinesh directory is there or not.
You can then use cd Dinesh to change the directory to this new directory.
Cat Command
cat cal.txt cat command displays the contents of a file here cal.txt on screen (or standard out).
Head Command.
head filename by default will display the first 10 lines of a file.
If you want first 50 lines you can use head -50 filename or for 37 lines head -37 filename and so
forth.
Tail Command.
tail filename by default will display the last 10 lines of a file.
If you want last 50 lines then you can use tail -50 filename.
More command. More command will display a page at a time and then wait for input which is
spacebar. For example if you have a file which are 500 lines and you want to read it all. So you
can use
more filename
Wc Command
wc command counts the characters, words or lines in a file depending upon the option.
Options
resume1.doc: data
file cal.txt
cal.txt: ascii text
Cp Command.
cp command copies a file. If I want to copy a file named oldfile in a current directory to a file
named newfile in a current directory.
cp oldfile newfile
If I want to copy oldfile to other directory for example /tmp then
cp oldfile /tmp/newfile. Useful options available with cp are -p and -r . -p options preserves the
modification time and permissions, -r recursively copy a directory and its files, duplicating the
tree structure.
Rcp Command.
rcp command will copy files between two unix systems and works just like cp command (-p and
-i options too).
For example you are on a Unix system that is called Cheetah and want to copy a file which is in
current directory to a system that is called lion in /usr/john/ directory then you can use rcp
command
rcp filename lion:/usr/john
You will also need permissions between the two machines. For more infor type man rcp at
command line.
Mv Command.
mv command is used to move a file from one directory to another directory or to rename a file.
Some examples:
Ln Command.
Instead of copying you can also make links to existing files using ln command.
If you want to create a link to a file called coolfile in /usr/local/bin directory then you can enter
this command.
ln mycoolfile /usr/local/bin/coolfile
Some examples:
ln -s fileone filetwo will create a symbolic link and can exist across machines.
ln -n option will not overwrite existing files.
ln -f will force the link to occur.
Rm Command.
To delete files use rm command.
Options:
Rmdir Command.
rmdir command will remove directory or directories if a directory is empty.
Options:
filetwo contains
This is first file
this is second line
this is third line
this is different xxxxxxxas;lkdjf
this is not different
Cmp Command.
cmp command compares the two files. For exmaple I have two different files fileone and filetwo.
Dircmp Command.
dircmp command compares two directories. If i have two directories in my home directory
named
dirone and dirtwo and each has 5-10 files in it. Then
dircmp dirone dirtwo will return this
./cal.txt ./fourth.txt
./dohazaar.txt ./rmt.txt
./four.txt ./te.txt
./junk.txt ./third.txt
./test.txt
Grep Command
grep command is the most useful search command. You can use it to find processes running on
system, to find a pattern in a file, etc. It can be used to search one or more files to match an
expression.
It can also be used in conjunction with other commands as in this following example, output of
ps command is passed to grep command, here it means search all processes in system and find
the pattern sleep.
ps -ef | grep sleep will display all the sleep processes running in the system as follows.
other associated commands with grep are egrep and fgrep. egrep typically runs faster. for more
information type man egrep or man fgrep in your system.
Find Command.
Find command is a extremely useful command. you can search for any file anywhere using this
command provided that file and directory you are searching has read write attributes set to
you ,your, group or all. Find descends directory tree beginning at each pathname and finds the
files that meet the specified conditions. Here are some examples.
Some Examples:
find $HOME -print will lists all files in your home directory.
find /work -name chapter1 -print will list all files named chapter1 in /work directory.
find / -type d -name 'man*' -print will list all manpage directories.
find / -size 0 -ok rm {} \; will remove all empty files on system.
Conditions of find
-atime +n |-n| n will find files that were last accessed more than n or less than -n days or
n days.
-ctime +n or -n will find that were changed +n -n or n days ago.
-depth descend the directory structure, working on actual files first and then directories.
You can use it with cpio command.
-exec commad {} \; run the Unix command on each file matched by find. Very useful
condition.
-print print or list to standard output (screen).
-name pattern find the pattern.
-perm nnnfind files whole permission flags match octal number nnn.
-size n find files that contain n blocks.
-type c Find file whole type is c. C could be b or block, c Character special file, d
directory, p fifo or named pipe, l symbolic link, or f plain file.
Text processing
Cut Command.
cut command selects a list of columns or fields from one or more files.
Option -c is for columns and -f for fields. It is entered as
cut options [files]
for example if a file named testfile contains
this is firstline
this is secondline
this is thirdline
Examples:
cut -c1,4 testfile will print this to standard output (screen)
ts
ts
ts
It is printing columns 1 and 4 of this file which contains t and s (part of this).
Options:
Paste Command.
paste command merge the lines of one or more files into vertical columns separated by a tab.
for example if a file named testfile contains
this is firstline
and a file named testfile2 contains
this is testfile2
then running this command
paste testfile testfile2 > outputfile
will put this into outputfile
this is firstline this is testfile2
it contains contents of both files in columns.
who | paste - - will list users in two columns.
Options:
zzz
aaa
1234
yuer
wer
qww
wwe
Then running
sort testfile
will give us output of
1234
aaa
qww
wer
wwe
yuer
zzz
Options:
Uniq Command.
uniq command removes duplicate adjacent lines from sorted file while sending one copy of each
second file.
Examples
sort names | uniq -d will show which lines appear more than once in names file.
Options:
Sed Command.
sed command launches a stream line editor which you can use at command line.
you can enter your sed commands in a file and then using -f option edit your text file. It works as
options:
for more information about sed, enter man sed at command line in your system.
Vi editor.
vi command launches a vi sual editor. To edit a file type
vi filename
vi editor is a default editor of all Unix systems. It has several modes. In order to write characters
you will need to hit i to be in insert mode and then start typing. Make sure that your terminal has
correct settings, vt100 emulation works good if you are logged in using pc.
Once you are done typing then to be in command mode where you can write/search/ you need to
hit :w filename to write
and in case you are done writing and want to exit
:w! will write and exit.
options:
example:
o > will redirect output from standard out (screen) to file or printer or whatever you
like.
o >> filename will append at the end of a file called filename.
o < will redirect input to a process or commnand.
o | pipe output, or redirect output, good for joining commands, i.e. find command
with cpio, etc.
o & at the end of command will run command in background.
o ; will separate commands on same line.
o * will match any characters in a file or directories. junk* will match all files with
first 4 letters
o ? will match single characters in a file.
o [] will match any characters enclosed.
o () execute in subshell.
o ` ` to run a command inside another command and use its output.
o " " partial quote for variables.
o ' ' full quote for variables.
o # begin comment (if #/bin/ksh or csh or sh is entered at first line of script it runs
script in that shell)
o bg background execution.
o break break from loop statements.
o continue Resume a program loop.
o Kill pid number will terminate running jobs
o stop will stop background job.
o suspend will suspend foreground job.
o wait will wait for a background job to finish.
Examples:
Csh or C shell
csh is second most used shell.
Echo command
echo command in shell programming.
Line command.
line command in shell programming.
Sleep command.
sleep command in shell programming.
Test Command.
test command in shell programming.
CC compiler (c programming language compiler).
Since Unix is itself written in C programming language, most Unix operating systems come with
c compiler called cc.
Communications
Cu Command.
cu command is used for communications over a modem or direct line with another Unix system.
Syntax is
cu options destination
Options
Destination
options
-d enable debugging.
-g disable filename globbing.
-i turn off interactive prompts.
-v verbose on. show all responses from remote server.
ftp hostname by default will connect you to the system, you must have a login id to be able to
transfer the files. Two types of files can be transferred, ASCII or Binary. bin at ftp> prompt will
set the transfer to binary. Practice FTP by ftping to nic.funet.fi loggin in as anomymous with
password being your e-mail address.
Login Command.
login command invokes a login session to a Unix system, which then authenticates the login to a
system. System prompts you to enter userid and password.
Rlogin Command.
rlogin command is used to log on to remote Unix systems, user must have permissions on both
systems as well as same userid, or an id defined in .rhosts file. Syntax is
rlogin options host
options
Talk Command.
talk command is used to invoke talk program available on all unix system which lets two users
exchange information back and forth in real time. Syntax is
talk userid@hostname
Telnet Command.
Telnet command invokes a telnet protocol which lets you log on to different unix, vms or any
machine connected over TCP/IP protocol, IPx protocol or otherwise. Syntax is
telnet hostname
Vacation Command.
vacation command is used when you are out of office. It returns a mail message to sender
announcing that you are on vacation. to disable this feature, type mail -F " " .
syntax is
vacation options
Options
Storage commands
Compress Command.
Compress command compresses a file and returns the original file with .z extension, to
uncompress this filename.Z file use uncompress filename command. syntax for compress
command is
compress options files
Options
Uncompress Command.
Uncompress file uncompresses a file and return it to its original form.
syntax is
uncompress filename.Z this uncompresses the compressed file to its original name.
Options
Cpio Command.
cpio command is useful to backup the file systems. It copy file archives in from or out to tape or
disk, or to another location on the local machine. Its syntax is
cpio flags [options]
cpio -o
o Copy out a list of files whose name are given on standard output.
cpio -p
Options
Examples
o find . -name "*.old" -print | cpio -ocvB > /dev/rst8 will backup all *.old files to a
tape in /dev/rst8
o cpio -icdv "save"" < /dev/rst8 will restore all files whose name contain "save"
o find . -depth -print | cpio -padm /mydir will move a directory tree.
Options
0-9 This number is dump level. 0 option causes entire filesystem to be dumped.
b blocking factor taken into argument.
d density of tape default value is 1600.
f place the dump on next argument file instead of tape.
This example causes the entire file system (/mnt) to be dumped on /dev/rmt/c0t0d0BEST
and specifies that the density of the tape is 6250 BPI.
o /usr/sbin/dump 0df 6250 /dev/rmt/c0t0d0BEST /mnt
for more info type man dump at command line.
Pack Command.
pack command compacts each file and combine them together into a filename.z file. The original
file is replaced. Pcat and unpack will restore packed files to their original form.
Syntax is
Pack options files
Options
- Print number of times each byte is used, relative frequency and byte code.
-f Force the pack even when disk space isn't saved.
Tar Command.
tar command creates an archive of files into a single file.
Tar copies and restore files to a tape or any storage media. Synopsis of tar is
tar [options] [file]
Examples:
tar cvf /dev/rmt/0 /bin /usr/bin creates an archive of /bin and /usr/bin, and store on the tape in
/dev/rmt0.
tar tvf /dev/rmt0 will list the tape's content in a /dev/rmt0 drive.
tar cvf - 'find . -print' > backup.tar will creates an archive of current directory and store it in file
backup.tar.
Functions:
Options:
System Status
At Command.
at command along with crontab command is used to schedule jobs.
at options time [ddate] [+increment] is syntax of at command.
for example if I have a script named usersloggedin which contains.
#!/bin/ksh
who | wc -l
echo "are total number of people logged in at this time."
and I want to run this script at 8:00 AM. So I will first type at 8:00 %lt;enter>
usersloggedin %lt;enter>
I will get following output at 8:00 AM
30
are total number of people logged in at this time.
Options:
Chmod Command.
chmod command is used to change permissions on a file.
for example if I have a text file with calender in it called cal.txt.
initially when this file will be created the permissions for this file depends upon umask set in
your profile files. As you can see this file has 666 or -rw-rw-rw attributes.
ls -la cal.txt
In this line above I have -rw-rw-rw- meaning respectively that owner can read and write file,
member of the owner's group can read and write this file and anyone else connected to this
system can read and write this file., next ssb is owner of this file dxidev is the group of this
file, there are 135 bytes in this file, this file was created on December 3 at time16:14 and at
the end there is name of this file. Learn to read these permissions in binary, like this for
example Decimal 644 which is 110 100 100 in binary meand rw-r--r-- or user can read,write this
file, group can read only, everyone else can read only. Similarly, if permissions are 755 or 111
101 101 that means rwxr-xr-x or user can read, write and execute, group can read and execute,
everyone else can read and execute. All directories have d in front of permissions. So if you don't
want anyone to see your files or to do anything with it use chmod command and make
permissions so that only you can read and write to that file, i.e.
chmod 600 filename.
Chgrp Command.
chgrp command is used to change the group of a file or directory.
You must own the file or be a superuser.
chgrp [options] newgroup files is syntax of chgrp.
Newgroup is either a group Id or a group name located in /etc/group .
Options:
Chown Command.
chown command to change ownership of a file or directory to one or more users.
Syntax is
chown options newowner files
Options
Crontab Command.
crontab command is used to schedule jobs. You must have permission to run this command by
unix Administrator. Jobs are scheduled in five numbers, as follows.
Minutes 0-59
Hour 0-23
Day of month 1-31
month 1-12
Day of week 0-6 (0 is sunday)
so for example you want to schedule a job which runs from script named backup_jobs in
/usr/local/bin directory on sunday (day 0) at 11.25 (22:25) on 15th of month. The entry in
crontab file will be. * represents all values.
25 22 15 * 0 /usr/local/bin/backup_jobs
The * here tells system to run this each month.
Syntax is
crontab file So a create a file with the scheduled jobs as above and then type
crontab filename .This will scheduled the jobs.
Date Command.
Date displays todays date, to use it type date at prompt.
Df Command.
df command displays information about mounted filesystems. It reports the number of free disk
blocks. Typically a Disk block is 512 bytes (or 1/2 Kilobyte).
syntax is
df options name
Options
Env Command.
env command displays all the variables.
Finger Command.
finger command.
PS Command
ps command is probably the most useful command for systems administrators. It reports
information on active processes.
ps options
options.
Ruptime Command.
ruptime command tells the status of local networked machines.
ruptime options
options.
-a include user even if they've been idle for more than one hour.
-l sort by load average.
-r reverse the sort order.
-t sort by uptime.
-i sort by number of users.
Shutdown Command.
Shutdown command can only be executed by root. To gracefully bring down a system, shutdown
command is used.
options.
Stty Command
stty command sets terminal input output options for the current terminal. without options stty
reports terminal settings.
stty options modes < device
options
Modes
0 hang up phone.
n set terminal baud.
erase keyname, will change your keyname to be backspace key.
Who Command
who command displays information about the current status of system.
who options file
Who as default prints login names of users currently logged in.
Options
Here are some tool for privileged users: tcpdump, pathchar, and Sniffit and Ethereal sniffers.
Here are some system security pointers:
-a Displays all information specified with the -m, -n, -r, -s, and -v
options.
-n Displays the name of the node (this may be a name that the system is
known by to a communications network).
-n number
Sets the minimum string length to number rather than the default of 4.
-b Writes the maximum number of bytes in message queues, the size of seg-
ments for shared memory, and the number of semaphores in each semaphore
set.
-c Writes the username and group name of the user that made the facility.
-M shared_memory_key
Removes the shared memory identifier, created with key
shared_memory_key. The shared memory segment and data structure associ-
ated with it are also removed after the last detach.
-q message_queue
Removes the message queue identifier message_queue and the message
queue and data structure associated with it.
-Q message_key
Removes the message queue identifier, created with key message_key, and
the message queue and data structure associated with it.
-s semaphore_ID
Removes the semaphore identifier semaphore_ID and the set of semaphores
and data structure associated with it.
-S semaphore_key
Removes the semaphore identifier, created with key semaphore_key, and
the set of semaphores and data structure associated with it.
traceroute: Print the route that packets take to the network host
To find the route to host rtfm.mit.edu, enter:
$ traceroute rtfm.mit.edu
This is a complex command not available on all unix (you can obtain a copy from
ftp://vic.cc.purdue.edu/pub/tools/lsof/).
To list all open Internet, x.25 (HP-UX), and UNIX domain files, use:
lsof -i -U
To obtain PID and command name field output for each process, file descrip-
tor, file device number, and file inode number for each file of each pro-
cess, use:
lsof -FpcfDi