Tutorial: Unix Command Summary
Tutorial: Unix Command Summary
See the Unix tutorial for a leisurely, self-paced introduction on how to use the commands listed
below. For more documentation on a command, consult a good book, or use the man pages.
For example, for more information on grep, use the command man grep.
Contents
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>
%
TCS Internal
<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 a
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
8
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 example to make a
file essay.001 readable by everyone, we do this:
% chmod +x mycommand
Now we can run mycommand as a command.
To check the permissions 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
TCS Internal
% pwd
% /u/ma/jeremy/english
% ls
novel poems
% 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
cp
This copies the file jabber in the directory poems to the current directory. The symbol "."
stands for the current directory. The symbol "~" stands for the home directory.
date
echo
The echo command echoes its arguments. Here are some examples:
% echo this
this
% echo $EDITOR
/usr/local/bin/emacs
% 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
TCS Internal
Example 1: We'll connect to the machine fubar.net, then change director to mystuff, then
download the file homework11:
% ftp solitude
Connected to fubar.net.
220 fubar.net FTP server (Version wu-2.4(11) Mon Apr 18 17:26:33 MDT 1994) 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 director to mystuff, then
upload the file collected-letters:
% ftp solitude
Connected to fubar.net.
220 fubar.net FTP server (Version wu-2.4(11) Mon Apr 18 17:26:33 MDT 1994) 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 files. 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
%
TCS Internal
Notice that no output was returned by grep brown. This is because "brown" is not in our
dictionary file.
Grep can also be combined 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 an
alphabetical list of all persons whose name contains the string "Fred".
% man grep
head
% head essay.001
displays the first 10 lines of the file essay.001 To see a specific number of lines, do this:
ls
Use ls to see what files you have. Your files are kept in something called a directory.
% ls
foo letter2
foobar letter3
letter1 maple-assignment1
%
Note that you have six files. There are some useful variants of the ls command:
% ls l*
letter1 letter2 letter3
%
Note what happened: all the files whose name begins with "l" are listed. The asterisk (*) is the
" wildcard" character. It matches any string.
lpr
This is the standard Unix command for printing a file. It stands for the ancient "line printer."
See
TCS Internal
% man lpr
for information on how it works. See print for information on our local intelligent print
command.
mkdir
There shouldn't be any files there yet, since you just made it. To create files, see cat or emacs.
more
More is a command used to read text files. For example, we could do this:
% more poems
The effect of this to let you read the file "poems ". It probably will not fit in one screen, so you
need to know how to "turn pages". Here are the basic commands:
mv
% mv foo foobar
ncftp
Use ncftp for anonymous ftp --- that means you don't have to have a password.
% ncftp ftp.fubar.net
Connected to ftp.fubar.net
> get jokes.txt
TCS Internal
This is a moderately intelligent print command.
% print foo
% print notes.ps
% print manuscript.dvi
In each case print does the right thing, regardless of whether the file is a text file (like foo ), a
postcript file (like notes.ps, or a dvi file (like manuscript.dvi. In these examples the file is
printed on the default printer. To see what this is, do
% print
and read the message displayed. To print on a specific printer, do this:
% print foo jwb321
% print notes.ps jwb321
% print manuscript.dvi jwb321
To change the default printer, do this:
% setenv PRINTER jwb321
pwd
Use this command to find out what directory you are working in.
% pwd
/u/ma/jeremy
% cd homework
% pwd
/u/ma/jeremy/homework
% ls
assign-1 assign-2 assign-3
% cd
% pwd
/u/ma/jeremy
%
Jeremy began by working in his "home" directory. Then he cd 'd into his homework
subdirectory. Cd means " change directory". He used pwd to check to make sure he was in the
right place, then used ls to see if all his homework files were there. (They were). Then he
cd'd back to his home directory.
rm
The first command removed a single file. The second command was intended to remove all
files beginning with the string "letter." However, our user (Jeremy?) decided not to remove
letter3.
rmdir
Use this command to remove a directory. For example, to remove a directory called "essays",
do this:
TCS Internal
% rmdir essays
A directory must be empty before it can be removed. To empty a directory, use rm.
rsh
Use this command if you want to work on a computer different from the one you are currently
working on. One reason to do this is that the remote machine might be faster. For example,
the command
% rsh solitude
connects you to the machine solitude. This is one of our public workstations and is fairly fast.
setenv
% echo $PRINTER
labprinter
% setenv PRINTER myprinter
% echo $PRINTER
myprinter
sort
Use this commmand to sort a file. For example, suppose we have a file dict with contents
red rojo
green verde
blue azul
white blanco
black negro
Then we can do this:
% sort dict
black negro
blue azul
green verde
red rojo
white blanco
Here the output of sort went to the screen. To store the output in file we do this:
% sort dict >dict.sorted
You can check the contents of the file dict.sorted using cat , more , or emacs .
tail
% head essay.001
displays the last 10 lines of the file essay.001 To see a specific number of lines, do this:
TCS Internal
tar
Use create compressed archives of directories and files, and also to extract directories and
files from an archive. Example:
telnet
Use this command to log in to another machine from the machine you are currently working
on. For example, to log in to the machine "solitude", do this:
% telnet solitude
wc
Use this command to count the number of characters, words, and lines in a file. Suppose, for
example, that we have a file dict with contents
red rojo
green verde
blue azul
white blanco
black negro
Then we can do this
% wc dict
5 10 56 tmp
% wc -l dict
5 tmp
% wc -w dict
10 tmp
% wc -c dict
56 tmp
dummy
Under construction
TCS Internal
11.1 Unix Commands
Unix Commands
Command/Syntax What it will do
awk/nawk [options] file scan for patterns in a file and process the results
cat [options] file concatenate (list) a file
cd [directory] change directory
chgrp [options] group file change the group of the file
chmod [options] file change file or directory access permissions
chown [options] owner file change the ownership of a file; can only be done by the superuser
chsh (passwd -e/-s)
change the user's login shell (often only by the superuser)
username login_shell
compare two files and list where differences occur (text or binary
cmp [options] file1 file2
files)
compress [options] file compress file and save it as file.Z
copy file1 into file2; file2 shouldn't already exist. This command
cp [options] file1 file2
creates or overwrites file2.
cut (options) [file(s)] cut specified field(s)/character(s) from lines in file(s)
date [options] report the current date and time
dd [if=infile] [of=outfile] copy a file, converting between ASCII and EBCDIC or swapping
[operand=value] byte order, as specified
diff [options] file1 file2 compare the two files and display the differences (text files only)
df [options] [resource] report the summary of disk blocks and inodes free and in use
du [options] [directory or
report amount of disk space in use
file]
echo [text string] echo the text string to stdout
ed or ex [options] file Unix line editors
emacs [options] file full-screen editor
expr arguments evaluate the arguments. Used to do arithmetic, etc. in the shell.
file [options] file classify the file type
find directory [options]
find files matching a type or pattern
[actions]
finger [options]
report information about users on local and remote machines
user[@hostname]
ftp [options] host transfer file(s) using file transfer protocol
grep [options] 'search string'
argument
egrep [options] 'search search the argument (in this case probably a file) for all
string' argument occurrences of the search string, and list them.
TCS Internal
gunzip [options] file
pg [options] file
mv [options] file1 file2 move file1 into file2
octal dump a binary file, in octal, ASCII, hex, decimal, or
od [options] file
character mode.
passwd [options] set or change your password
paste [options] file paste field(s) onto the lines in file
pr [options] file filter the file and print it on the terminal
ps [options] show status of active processes
pwd print working (current) directory
rcp [options] hostname remotely copy files from this machine to another machine
rlogin [options] hostname login remotely to another machine
remove (delete) a file or directory (-r recursively deletes the
rm [options] file
directory and its contents) (-i prompts before removing files)
rmdir [options] directory remove a directory
rsh [options] hostname remote shell to run on another machine
TCS Internal
saves everything that appears on the screen to file until exit is
script file
executed
stream editor for editing files from a script or from the command
sed [options] file
line
sort [options] file sort the lines of the file according to the options chosen
source file
read commands from the file and execute them in the current
shell. source: C shell, .: Bourne shell.
. file
report any sequence of 4 or more printable characters ending in
strings [options] file <NL> or <NULL>. Usually used to search binary files for ASCII
strings.
stty [options] set or display terminal control options
tail [options] file display the last few lines (or parts) of a file
tape archiver--refer to man pages for details on creating, listing,
tar key[options] [file(s)] and retrieving from archive files. Tar files can be stored on tape or
disk.
tee [options] file copy stdout to one or more files
telnet [host [port]] communicate with another host using telnet protocol
touch [options] [date] file create an empty file, or update the access time of an existing file
translate the characters in string1 from stdin into those in string2
tr [options] string1 string2
in stdout
uncompress file.Z uncompress file.Z and save it as a file
uniq [options] file remove repeated lines in a file
uudecode [file] decode a uuencoded file, recreating the original file
encode binary file to 7-bit ASCII, useful when sending via email,
uuencode [file] new_name
to be decoded as new_name at destination
vi [options] file visual, full-screen editor
wc [options] [file(s)] display word (or character or line) count for file(s)
report the binary, source, and man page locations for the
whereis [options] command
command named
which command reports the path to the command or the shell alias in use
who or w report who is logged in and what processes are running
concatenate (list) uncompressed file to screen, leaving file
zcat file.Z
compressed on disk
TCS Internal