GETTING STARTED WITH UNIX
ACNS BULLETIN UX-01
SEPTEMBER 1995
Getting Started with UNIX and AIX
What is AIX?
------------
AIX is a version of the UNIX operating system
developed by IBM. AIX is based on both UNIX System V
(pronounced "System Five") and BSD 4.3 (Berkeley
Software Distribution), two popular UNIX standards.
If you are already familiar with UNIX, AIX will
appear to be similar. In addition to the standard
UNIX commands, AIX supplies a wide variety of
utilities that may be used as building blocks for
programming. This manual presents some of the more
commonly used commands and utilities.
Why UNIX?
--------
UNIX (and all its variations) has become a very
popular operating system for several reasons. UNIX is
written almost entirely in C, a high level language,
which means it can easily be adapted to different
hardware platforms. UNIX was designed to be a multi-
user system. Each user can run multiple tasks, taking
full advantage of the hardware resources available.
UNIX pipes allow the output from one process to be
used as input to another process. The UNIX file
structure is hierarchical providing easy organization
of files in a tree-like fashion. Finally, on-line
documentation provides the user with immediate help
with system commands.
History of UNIX
---------------
In the 1960s, AT&T developed a version of UNIX that
has evolved as a standard; the current version is
called System V. Steven Bourne wrote a command
interpreter (or user interface, or shell) for UNIX,
known as the Bourne shell. Later, Bill Joy from the
University of California at Berkeley developed
another command interpreter for UNIX; it has become
known as the Berkeley Software Distribution (BSD)
C shell. Another shell, the Korn shell, contains
virtually all the features of the Bourne shell, as
well as several of the best features of the C shell.
The C shell is the default for academic accounts on
ACNS UNIX systems. The Korn shell is the default for
undergraduate accounts.
We've included this history because you will
frequently hear the terms AT&T System V, Bourne
shell, Berkeley, BSD, C shell, and Korn shell.
Although we primarily address generic UNIX or
specific AIX issues in this manual, we also have to
describe the differences between the shells. (See
Page 9.)
The UNIX file system
--------------------
The UNIX and AIX operating systems have a
hierarchical design for storing files. The file
system is arranged as an inverted tree. Facilities
that allow you to move around in the tree are
explained later in this chapter.
The top of this inverted tree structure is called the
root; this root contains directories and files. Each
directory and file in the tree has a name except the
root directory. The name of the root directory is /
and is pronounced "root." By UNIX convention, all
directories for users are organized into
subdirectories of root.
When you log on, you are automatically placed in a
directory referred to as your home directory. Your
logon ID is the name of your home directory. Within
your home directory, you may store files, and you may
create other directories to hold files and other
directories. These subdirectories allow you to
organize your files into related groups.
System file organization
------------------------
All of the files on UNIX-based computers are
organized in subdirectories of root. This section
introduces you to the locations of some files you
will be using.
Command directories
-------------------
Commands you use during your computing session are
commonly located in one of the following directories:
/bin
/usr/bin
/usr/ucb (BSD)
/usr/local/bin
The /bin, /usr/bin, and /usr/ucb directories contain
various system commands. The /usr/local/bin directory
contains machine specific commands (local commands)
that probably aren't available on other UNIX
computers. For example, commands that access the
software applications available on Lamar are located
in this directory.
Library directories
-------------------
Software libraries for AIX are normally located in
one of these directories:
/lib
/usr/lib
/usr/local/lib
The /lib and /usr/lib directories are reserved for
AIX system libraries, and the /usr/local/lib
directory contains machine specific libraries.
Home directories for users
--------------------------
When you log onto Lamar or Holly, you are placed in
your home directory. For example, if your logon ID is
smith, your home directory path might be /h/smith.
Figure 1 shows this structure.
System directories
------------------
There are other directories and files in the root
directory that are mainly used by the UNIX system.
For example, the vi editor uses the /tmp directory
for temporary files.
UNIX filenames
--------------
A filename that indicates all the branch nodes is
called a pathname. When you refer to a filename in
UNIX, you must specify the pathname to make clear
which file and which branch you mean, because two
different directories may contain files that have the
same name. You may provide either an absolute
pathname or a relative pathname. Absolute pathnames
start at the root directory; relative pathnames start
from the directory in which you are currently working
(the current directory).
Thus, whenever you see a UNIX pathname that starts
with a / (slash), it is an absolute pathname; it
starts at the root directory. If a pathname does not
begin with a /, then it is a relative pathname and it
starts from within your current directory. Slashes
within a pathname (other than when used as the first
character) are simply delimiters between directories
and filenames; no spaces are allowed within a
pathname. Here's an example to help clarify:
/h/jones/project1/test.f
Here, test.f is a file in a directory called
project1, which is in a directory called jones, which
is in a directory called h. This is the absolute
pathname of test.f. If you log on as "jones", you are
placed in the directory called jones, your home
directory. You could then refer to this file as:
project1/test.f
If you changed your current directory to the project1
directory (we'll show you how later), then you could
refer to the file with the relative pathname:
test.f
In every directory, there are two special files named
. and .. that you can use to help build relative
pathnames to files. The . file refers to the current
directory. The .. file refers to the next highest
directory, otherwise known as the parent directory.
For example, suppose you log on as "jones", and there
are two subdirectories, project1 and jobs, in the
current directory. You could refer to the file test.f
in the project1 directory as:
./project1/test.f
If you were currently in the jobs subdirectory, you
could refer to the file test.f in the project1
directory as:
../project1/test.f
File protection with file permissions
-------------------------------------
Each file has a permission structure that allows
read, write, or execute permission for groups of
users. Note that UNIX and AIX treat directories as
special types of files.
File permissions can be displayed using the -l option
of the ls command; the ls command is discussed later
in this chapter. File permissions are displayed in a
ten-character string such as:
drwxr-xr-x
or
-rwxr-xr-
The first character is either a d or a - (hyphen):
d denotes that this file is a directory;
- (hyphen) denotes that this file is a regular file.
The next three characters, r, w, and x, refer to the read,
write, and execute permissions of the user who owns
the file. The next set of three characters indicates
the access permissions of the group of users
associated with the file, and the last three
characters show the access permissions for all other
users on the system. In these three sets of three
characters, a hyphen denotes that the type of
permission associated with that position in the
display is not granted.
Read permission for a directory means that the files
in that directory can be read. Write permission means
that files can be created, changed, or deleted in
that directory. Execute permission enables the
directory to be used in a pathname, as well as to be
searched by other utilities.
The default file creation mode for Lamar or Holly is
set to read and write permission for the owner; no
permissions are granted for group and others. This
default can be changed with the umask command in your
shell's logon file.
UNIX command syntax
-------------------
In UNIX, there are lots of parameters, or options,
available on most commands; the purpose of each
option depends on the function of the command. This
manual does not cover very many of these options;
just the most critical ones. Discovering command
options can become an adventure once you grow more
comfortable with UNIX.
Here are some facts about UNIX syntax:
1. UNIX commands and options are case-sensitive.
Because of this, the uppercase letter A is
interpreted as a different character than the
lowercase letter a.
2. Each UNIX command begins with the command name. In
most cases, this may be followed by various
parameters, or options, which may then be followed
by filenames, depending upon the command's
purpose:
command options filenames
Commands are usually in lowercase. Options usually
start with a - (hyphen or minus sign), followed by
a letter or a word that may be uppercase or
lowercase, and sometimes also followed by a value.
This is only the general structure for most UNIX
commands; there are exceptions!
3. Commands, options, and filenames are separated by
any number of blanks within a command line.
4. Filenames and directory names can be from 1 to
255 characters long. Almost any set of
characters is permissible, but you should note
that several characters, such as the $ (dollar
sign) and the " (double quotation mark) are
special shell characters. We therefore recommend
that, until you gain more experience, you should
use filenames containing just letters (uppercase
or lowercase), numbers, the . (period), and the
_ (underscore).
Example
Here is a simple command line that shows the most
common UNIX and AIX syntax of a command, followed by
options, which are followed by filenames:
ls -l -f chap2 chap3 chap4
Example
Here is a UNIX command line with options that contain
both uppercase and lowercase letters. Note that the -
q and -l options do not require their values (extname
and imslib respectively) to be preceded by a space.
xlf -qextname -limslib -O main.f
Example
The following command line shows the use of a
parameter that is not preceded by a - (hyphen or
minus sign). (The pathname /usr/local/bin is a
parameter to the find command.) In addition, the -
name option is a string of characters and uses
another string (sendtg) as its value. Finally, this
example shows that UNIX interprets any number of
contiguous spaces on a command line as a single
blank.
find /usr/local/bin -name sendtg -print
NOTE
These examples indicate the importance of
reading the on-line documentation about each
command you use. You should verify the
correct syntax and valid options for each
command you use.
Getting started
---------------
You can connect to Lamar or Holly in a number of
different ways, depending on the type of terminal you
are using and how it is connected to the network.
NOTE
UNIX systems are case sensitive, which means
that UNIX distinguishes between upper and
lower-case characters. When logging in, make
sure you type your login name and password
using the proper case for each letter.
Logging on
----------
After you connect to the system, your screen displays
the following prompt:
login:
which is the system prompt for your logon id.
When you enter your logon id, your screen displays
the prompt:
Password:
which is the system prompt for the password that goes
with your logon id. When you type your password, the
system does not display it on the screen.
After you enter your password, your screen displays
the message of the day.
In most cases, the screen will then display the
prompt:
TERM = (termtype)
which is the system prompt for your terminal type.
Enter the appropriate terminal type or press the
RETURN or Enter key to accept the termtype specified
in parentheses. (See Page 10 for more information
about terminal types.)
After you have entered your login ID and password
(and terminal type if necessary) your screen displays
the system prompt. The prompt you see-either a
percent sign (%) or a dollar sign ($)-depends on the
shell you are using. (See the next page for more
information about UNIX shells.)
When you see the system prompt, you are logged on and
can proceed with your computing.
UNIX shells
-----------
When you have successfully logged in, a program
called the shell is waiting for your next command.
All UNIX systems have a shell that communicates the
commands you type to the central processor. The shell
reads the lines you type and executes them.
The three most commonly used shells available on
Lamar and Holly are the C shell, the Bourne shell and
the Korn shell. The C shell is the default for
academic accounts; the Korn shell is the default for
undergraduate accounts.
The C shell and the Korn shell each have different
prompts:
* The default prompt for the C shell is a
percent sign (%).
* The default prompt for the Bourne or Korn
shell is a dollar sign ($).
The C shell uses the .login file as its start-up
script, while the Korn shell uses the .profile file
as its start-up script. The .login or .profile file
is found in your home directory. The system uses the
.login or .profile file to set shell and environment
variables. Shell variables are used to set values
used during the current invocation of the shell.
Environment variables, such as your terminal type and
default printer, are stored in your environment where
they are passed to any process you start from within
the shell.
The C shell and the Korn shell each use different
commands to set values for shell and environment
variables.
* C shell uses the set command to set shell
variables and the setenv command to set
values for environment variables.
* The Korn shell uses an assignment statement to
set shell variables and the export command to
set values for environment variables.
When the commands differ, this manual provides
commands for both the C shell and the Korn shell.
Terminal types
--------------
When the screen displays the prompt:
TERM = (termtype)
you must enter a valid terminal type. Valid terminal
types include vt100, tvi970, wyse60, vt220, and
others. If you have a terminal type that is not in
this list, try typing the name of your terminal
without capital letters or spaces.
* If you press RETURN when prompted for your
terminal type, the system selects the
termtype specified in parentheses.
* If you enter a termtype that the system
doesn't recognize, the default termtype is
set to unknown, and the system prompts you
again for termtype. You may enter another
terminal type or press RETURN to accept
"unknown" as a terminal type. However, you
will not be able to use full-screen
applications such as vi or info if your
termtype is set to unknown.
Listing terminal types
----------------------
After you have logged in, you may enter the following
command to see a list of currently accepted terminal
types:
lsterm
Checking your terminal type
---------------------------
To check the terminal type your login is currently
using, enter the command:
echo $TERM
Setting your terminal type
--------------------------
Although your terminal type is typically set as part
of the login process, you can check or set your
terminal type anytime after you log in.
To change your terminal type, use the tset command.
This command works differently depending on which
shell you are running.
Korn shell
----------
Korn shell users ($ prompt) may change their terminal
type by entering:
eval 'tset -s termtype'
C shell
-------
C shell users (% prompt) may change their terminal
type by entering:
set noglob
eval 'tset -s termtype'
unset noglob
Examples
========
Korn shell
----------
To set your terminal type to vt100 under the Korn
shell ($ prompt):
eval 'tset -s vt100'
C shell
-------
To set your terminal type to vt100 under the C shell
(% prompt):
set noglob
eval 'tset -s vt100'
unset noglob
Example
Here is a sample Lamar login session. Notice that the
user's password is not echoed on the screen.
IBM AIX Version 3 for RISC System/6000
(C) Copyrights by IBM and by others 1982, 1990.
lamar login: beth
beth's Password:
*** IBM AIX Version 3.2!
Questions or problems? Contact a consultant at:
Room 224 Weber Building (M-F 8:30 - noon, 1 - 4:30)
phone: 491-7276
e-mail: consult@lamar.colostate.edu
NOTICE: Type 'man lamarquotas' for quota information.
Type 'man sw' for software information.
Tin threaded newsreader now available on lamar.
Enter your terminal type at the following prompt or press return
to get VT100.
TERM = (vt100) vt100
Erase is Ctrl-H
Kill is Ctrl-U
Interrupt is Ctrl-C
TERM=vt100
PRINTER=mailit
$
Logging off
-----------
To log off, enter the command:
exit
If you have started another shell after you logged
in, use the exit command to exit that shell and
return to the original shell.
Changing your password with passwd
----------------------------------
If you are a new user, the system will prompt you to
change your password the first time you log on. You
should continue to change your password often for
optimum security.
The passwd command allows you to change your
password. When you type passwd with no options, the
system prompts you to enter your old password, then
your new password, then your new password again (to
make sure you didn't make a typing mistake the first
time). None of these passwords appear on the screen.
Choose your password carefully. A variety of password
guessing programs are widely used by computer
crackers to gain illegitimate access to computer
accounts. Such access then becomes the stepping stone
for damaging entire systems. Your password is all
that protects you from having your data examined,
stolen or destroyed.
Guidelines for good passwords:
* DO change your password frequently.
* DO combine upper and lower case letters and punctuation.
* DO choose a password that is longer than five characters.
* DO choose a nonsense word or the first letters of words in a phrase.
* DO keep your password a secret.
* DON'T use your name or user ID as a password.
* DON'T use a word that can be found in the dictionary.
* DON'T write or post your password next to your terminal.
Example
Here is an example of what you will see when you type
the passwd command. Note that you cannot see any of
the passwords you type.
% passwd
Changing password for "beth".
beth's Old password:
beth's New password:
Retype new password:
%
Getting on-line help with man
-----------------------------
To provide on-line information about a command, UNIX
has a man command; it stands for manual. At the
system prompt, type
man command
where command is a command you want information
about. Enough text to fill your screen will be
displayed; if more text is available, press the SPACE
BAR to have it displayed after you read the first
page. The man command provides highly detailed
information about the syntax, the function, and any
options that are available with the command.
The on-line manual provided by the man command is a
complete system manual written by programmers for
programmers. Because of this, beginners usually need
to study the man pages carefully to use them
effectively. The information in a man page is
organized into specific sections. The SYNTAX section
shows the command line with all the associated
options. The DESCRIPTION section details use of the
command and describes any options. A man page may
contain several other sections such as CAUTIONS,
WARNINGS, NOTES, and FILES.
While viewing a manual page, the following commands
can be used:
Example
To see the manual page for the man command, type:
man man
Here is the first part of the man page you will see.
% man man
man Command
Key Concepts
Purpose
Displays manual entries online.
Syntax
man [ -k Keyword | -f Command] [-] [ - MPath ] [ Section ]
Title
Description
The man command provides information on various reference ar-
ticles, such as commands, subroutines and files.The man command
can provide one line descriptions of commands that are specified
by name, or it can provide information for all commands whose
-More-(7%)
Using InfoExplorer on-line documentation
----------------------------------------
One of the problems with using the manual pages is
that you are required to know the name of the command
before you can access the documentation. Many times
this isn't the case. On ACNS UNIX systems, the
utility InfoExplorer can be used to help you
determine the command name yourself.
What is InfoExplorer?
---------------------
InfoExplorer is a hypertext documentation utility
which allows access to documentation for the AIX
Operating System and associated programs. All of the
documentation available for AIX, is available within
InfoExplorer. The manual list includes the Base
Operating System Reference Manual, Editing Concepts &
Procedures and the C/Pascal/FORTRAN Compiler
Reference Manuals and User's Guides.
Running InfoExplorer
--------------------
To run InfoExplorer, simply enter the command:
info
InfoExplorer opens a navigation screen and a reading
screen. The reading screen displayed has information
on how to proceed. However, by using the cursor keys
and the following key sequences you can begin
exploring on your own:
----------------------------------------------------------
Key sequence What this key sequence does
----------------------------------------------------------
or Enter selects menu option or hypertext link
ctrl-o move into or out of the menu bar
ctrl-b position to previous hypertext link
ctrl-f or position to next hypertext link
ctrl-n page forward one page
ctrl-p page backward one page
----------------------------------------------------------
Some items in the InfoExplorer text are hypertext
links to other pieces of information. These links are
indicated by underscores with the selected link in
inverse video. You can position to a link within an
article and then follow the link to the new
information by simply pressing the RETURN key.
For more information on running the info command see
the help menu option within InfoExplorer itself or
look at the manual page (man info).
Searching with InfoExplorer
---------------------------
Probably the most useful feature of InfoExplorer is
the search capability. You can perform searches over
the full InfoExplorer documentation set for a single
phrase or various combinations of several phrases.
For example, when coding a FORTRAN program you may
need to know the syntax of the READ statement. You
could perform a search for all the articles which
contain the phrases 'FORTRAN', 'READ Statement' and
'syntax'. The section of the information base
entitled 'FORTRAN Programming Languages' has several
matches. One of the articles in this section is
titled READ, WRITE and PRINT statements. This
article will probably include the information you
need.
If you'd like to get a listing of the books included
in InfoExplorer, select the Display option from the
menu bar, then select Books. You can select any of
the books listed, view the table of contents, and
then look at the actual text of a chapter if you
desire.
NOTE
If you are telneting into Lamar or Holly and
are having trouble with the cursor keys not
acting properly within the info program, try
setting your ESCDELAY environment variable to
1250.
C shell
-------
C shell users (% prompt) can add the
following command to their .login file, and
the next time they log in the variable will
be set:
setenv ESCDELAY 1250
Korn shell
----------
Korn shell users ($ prompt) can add the
following command to their .profile file, and
the next time they log in the variable will
be set:
export ESCDELAY=1250
You can also enter these commands at the
prompt, and the variable will be set for the
current session.
Listing the contents of a directory with ls
-------------------------------------------
The ls command lists the names of the files and
subdirectories in the current directory. You may also
list specific files in a directory by typing:
ls options filenames
The most common options to the ls command are:
-l produces a "long" listing for each file
(and subdirectory) in this directory;
this listing includes the total number
of files in this directory, each file's
permissions, owner, size, date and time
of last modification, and filename
-a tells ls to include in its listing all
files that begin with . (period); by
default, ls ignores files that begin
with a period
-F tells ls to add a character to the
filename signifying what kind of file
this is; a trailing / (slash) indicates
that the file is a subdirectory; a
trailing * (asterisk) indicates that the
file is a script, also called an
executable file (see the examples on the
next page)-note that the characters are
not a part of the file's name, they are
put there by ls so you can tell what
kinds of files they are
In UNIX and AIX, a directory is just a special kind
of file.
If you do not specify a filename on the command line,
ls lists all the files in the current directory.
Examples
To get a simple list of the contents of the current
directory:
% ls
bin file1 project1 project2 rje
%
To list the special files in the current directory:
% ls -a
. .login file1 rje
.. .ntwkparms project1
.cshrc bin project2
%
To get a "long" listing of the contents of the
current directory:
% ls -l
total 5
drwxr-xr-x 2 jones ACD0009 512 Feb 28 12:04 bin
-rwxr-r-x 2 jones ACD0009 2695 Mar 22 10:31 file1
drwxr-xr-x 7 jones ACD0009 512 Feb 20 15:17 project1
drwxr-xr-x 2 jones ACD0009 512 Feb 20 12:50 project2
drwxrwxrwx 2 jones ACD0009 512 Mar 13 16:02 rje
%
Note that the first part of each line shows the
permissions for that particular file or directory.
You can also see the owner and group of the file or
directory, the size of the file, and the date and
time the file was created. The last word on each line
is the name of the file or directory.
You can also combine options, such as asking for a
long listing that includes the special files of the
current directory:
ls -la
Changing file permissions with chmod
------------------------------------
Only the owner of a file or directory can modify the
permissions of that file or directory. The chmod
command (which stands for change mode) is used to
change permissions for a given file or directory. The
syntax for the chmod command is:
chmod mode filename
where mode has the format:
who_operator_permission
The who part of the mode can be one or any
combination of:
u (user permission)
g (group permission)
o (others permission)
The operator part of the mode can be either:
+ (adds permission)
- (subtracts permission)
The permission part of the mode can be one or any
combination of:
r (read permission)
w (write permission)
x (execute permission)
Multiple modes can be specified if they are separated
by commas and no spaces are included. A full
discussion of file permissions appears on pages 5-7.
Examples
To remove write permission for group and for others,
from a file called data:
chmod go-w data
To add group write permission to the file data, and
to remove all permissions for others:
chmod g+w,o-rwx data
Changing directories with cd
----------------------------
To change to another directory, use the cd command:
cd pathname
This places you in the directory indicated by
pathname. Remember that pathnames can be relative or
absolute.
The system file .., which is in every directory in
UNIX, is commonly used in creating relative
pathnames. Recall from the discussion on page 5-6
that the file .. refers to the next highest directory
level in UNIX.
NOTE
By default, the cd command with no pathname
returns you to your home directory.
Examples
If "jones" is in his home directory and he wants to
move into his project2 directory, he would type:
cd project2
His current working directory is now project2.
If "jones" is in his project2 directory and he wants
to move into his project1 directory, he would type:
cd ../project1
To return to his home directory, "jones" would type:
cd
Determining your current directory with pwd
-------------------------------------------
At times, we all wonder where we are in the UNIX
directory structure (tree). The command to print
working directory is:
pwd
The system responds with the absolute pathname up to
and including the directory where you currently are.
Example
When you enter the pwd command to see the pathname
for your current directory, your screen displays
something like:
% pwd
/h/jones/project1
Creating new directories with mkdir
-----------------------------------
To create a subdirectory, use the mkdir command; it
stands for make directory. The syntax is:
mkdir pathname
The pathname may be either an absolute pathname or a
relative pathname.
Example
If "jones" wants to create a new directory named
project3 in his home directory, and he is currently
working in his home directory, he would type:
mkdir project3
Example
If "jones" wanted to create a working directory in
the user temporary area
(/tmp), and he was currently working in his home
directory, he would use an absolute pathname such as:
mkdir /tmp/jones
To go to the directory you just made:
cd /tmp/jones
Removing directories with rmdir
-------------------------------
To remove (delete) a directory, use the rmdir
command. The syntax is:
rmdir pathname
This removes the directory indicated by pathname. You
must be sure first that the directory is empty, and
that you are not currently in it. If these conditions
are not met, rmdir cannot remove the directory.
To make sure a directory is empty, you can change to
that directory with the cd command, then list the
files in it with the command:
ls -a
If the directory contains files (other than . and ..),
you need to move them or delete them before you
can remove the directory. Finally, you must change to
a directory above the directory you want to remove,
before using the rmdir command.
Example
User "jones" is currently in his home directory. To
remove his project2 directory, he would type:
rmdir project2
Copying files with cp
---------------------
To make a copy of a file, use the cp command:
cp oldname newname
If these files are to reside in the same directory,
their names must be different; if the names match,
AIX will replace the existing file with the new file.
If these files are to reside in different
directories, then use the appropriate pathnames (and
it won't matter if the filenames are the same).
Example
If "jones" is working in his project1 directory and
wants a copy of test.f in which to make changes,
while keeping a copy of the original test.f, he would
type:
cp test.f nutest.f
Renaming files and directories with mv
--------------------------------------
When you need to change the name of a file or
directory in UNIX, you move it from one name to
another using the mv command:
mv oldname newname
You can also literally move a file from one directory
to another this way by using pathnames for oldname
and/or newname.
Examples
If "jones" is in his home directory, and he wants to
move test.f into his project3 directory, here is one
way he could do this. First, he can change
directories to make project1 his current directory,
then he can use a relative pathname for oldname and
an absolute pathname for newname:
cd project1
mv test.f /h/jones/project3/test.f
Or, after changing to his project1 directory, he
could use fewer keystrokes by using .., the system
file which refers to the next highest directory and
the fact that if he doesn't specify a filename, mv
uses the same filename it already has. The shortened
mv command would be:
mv test.f ../project3
If "jones" is in his home directory and wants to
rename file1 to datafile, he could use relative
pathnames by typing:
mv file1 datafile
Removing files with rm
----------------------
To remove (delete) files from a directory, use the rm
command with this syntax:
rm options filename(s)
The rm command permanently deletes a file. Three
options you can use with rm are:
-i causes rm to prompt you with a message to
make sure that you really want to remove
the file
-f tells rm not to send you any error
messages (ignore any error conditions)
and to remove the file if possible; you
would use this option when you are
deleting a list of files and you aren't
sure whether all of the listed files
exist
-r tells rm to remove files recursively;
this option is generally used when you
want to remove all the files in a
subdirectory and then remove the
subdirectory itself
Examples
To remove a file named file2 from your current
directory:
rm file2
To remove the files named file3 and data from your
current directory:
rm file3 data
You want rm to check with you before removing the
file named data:
rm -i data
If you do not answer the prompt with a y (for "yes"),
the rm command does not delete the file. Your screen
displays:
% rm -i data
data: y
%
Displaying the contents of files with cat
-----------------------------------------
The cat command, which stands for catenate, displays
the contents of file(s) specified on the terminal
screen. If the file(s) listed have more lines than
the number of lines on your screen, you won't be able
to read it because it may scroll by very quickly
depending on the transmission speed of your modem or
network. Use the more or pg command in these cases.
The cat command is best used on short files that are
not more than one screenful in length. The syntax for
the cat command is:
cat filename(s)
Example
To look at the contents of a file named file1:
cat file1
The contents of file1 are displayed on the screen.
Combining the contents of files with cat
----------------------------------------
The cat command can also be used in conjunction with
shell I/O redirection features to concatenate files
together. Two redirection symbols you can use with
cat are:
> redirects the output from your terminal to a
specified file
>> append the results of the cat command to the end
of a file
Example
To combine files prog1, prog2, and prog3 and save the
results in a destination file called finalprog:
cat prog1 prog2 prog3 > finalprog
The file finalprog now contains the concatenation of
prog1, prog2, and prog3.
=======
WARNING
=======
In the command above, if the file finalprog
had previously existed, it would have been
overwritten. When using this command, make
sure you do want to overwrite the destination
file. Also, use a destination filename which
is different from the source files listed,
otherwise the source file contents may be lost.
Example
To append the contents of file data2 to the end of
file data1:
cat data2 >> data1
Displaying the contents of a file with more
-------------------------------------------
The more command allows you to display the contents
of a text file on your terminal screen, one screenful
at a time. An interactive command, more has its own
set of subcommands that you can use after you've
executed the command.
more filename
The more command displays a message at the lower left
corner of your screen telling you how much of the
file you have previewed. If the file contains fewer
lines than the size of your terminal screen (there
are generally 24 lines on a terminal), then more
displays those lines and exits.
* If the file contains more lines than the size
of your terminal screen, you can get to the
next screenful of the file by pressing
SPACEBAR.
* To get a brief listing of the subcommands for
more, type ? (question mark) while the more
command is running.
* To exit from more at any time, type q (for
quit) and press RETURN.
The following table lists some of the common commands
you may enter at the more prompt:
---------------------------------------------------------------
Command What this command does
------------------------------------------------------------
? displays help information
SPACEBAR displays next screenful of the file
RETURN or Enter displays next line of the file
/string searches for first occurrence of string and
displays that page
nf skips forward n screenfuls of text
nb skips backward n screenfuls of text
ns skips forward n lines in the file
:f displays current filename and line number
v invokes the vi editor at the current line
q quits more
-------------------------------------------------------------
Example
You want to page through your ocean.data file using
the more command:
more ocean.data
The first page of the file appears on your screen.
To see the next page (screenful) of the file, press
SPACEBAR.
A typical page of the ocean.data text file looks like
this using more:
% more ocean.data
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
-More-(22%)_
Displaying the contents of a file with pg
-----------------------------------------
The pg command, which stands for page, has
subcommands that allow you to move forward and
backward and to search among the pages of your file.
Some of these movement commands are listed below. The
syntax of the pg command is:
pg options filename
The pg command displays one page (screenful) of the
file on your screen. The options to pg must be
entered on the command line.
The pg command also displays a : (colon) prompt at
the bottom of the screen.
You may enter the movement commands (pg subcommands)
only at the colon prompt at the bottom of the screen.
The following table lists some of the more common
commands that you may enter at this colon prompt:
----------------------------------------------------------
Command What this command does
----------------------------------------------------------
RETURN displays the next screenful of the file
or Enter
$ goes to the last screenful of the file
n moves to page n
+n moves forward n pages
-n moves backwards n pages
. redisplays current page
/string searches for the first occurrence of string
and displays that page
?string searches backwards for the first occurrence
of string and displays that page
d scrolls forward half a page
-d scrolls backwards half a page
f skips the next screenful of the file
h displays help information
xl begins the screenful at line x
q quits pg
----------------------------------------------------------
Example
To look at the contents of a file named file3 one
page at a time:
pg file3
Now you want to page through the file ocean.data using
the pg command:
pg ocean.data
The first page of the file appears on your screen.
To see the next page of the file, press RETURN.
A typical page of the ocean.data text file looks like
this using pg:
% pg ocean.data
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
3.14, 2.6, 6.9999, 7.4356, 24.3
:_
Printing files with lpr
To print a file, use the lpr command:
lpr options -Pprinter -Jbanner filename(s)
-Pprinter directs your output to a specific printer
or print queue. Currently five print queues are
defined on Lamar and Holly:
msite Line printer output printed at Main Site
(located in basement of E-wing, Engineering Bldg.)
weber Line printer output printed at the CTSS Lab
(located on the second floor of the Weber Bldg.)
msiteps PostScript output printed at Main Site
msitehp HP LaserJet output printed at Main Site
mailit Sends the output to your mailbox
-Jbanner specifies the ID that appears in extra large
letters on the cover page of the output. If you do
not specify -Jbanner, your login name is used.
-Jbanner is also used to file output in boxes at Main
Site. A banner of bx15zzz indicates that the output
should be filed in box 15 at Main Site.
The lpr command copies the file(s) to the specified
print queue. The file will be printed when it moves
to the head of the queue.
NOTE
The lpr command is discussed in more detail
in the ACNS UNIX Bulletin, "UX-002: Printing
on ACNS UNIX Systems," available in the
CTSS Computer Lab, 2nd floor Weber Building.
Examples
To print the files prog1.f and prog2.f at Main Site
with a banner of bx15zzz (the output will be placed
in box 15 at Main Site), type:
lpr -Pmsite -Jbx15zzz prog1.f prog2.f
To print the file final as standard line printer
output at the CTSS Lab with the user's login name as
the banner, enter the command:
lpr -Pweber final
Using the PRINTER variable to define a default printer
------------------------------------------------------
You can define a default printer to which all your
print jobs will be sent by specifying a PRINTER
variable. Once you have set up the PRINTER variable,
you can print as many files as you'd like without
specifying the -P option on the lpr command.
To determine your default printer, type
echo $PRINTER
C shell
------
C shell users (% prompt) may change the default
printer to the CTSS Lab by entering the command:
setenv PRINTER weber
This command changes the default printer for the
current login session. To set your printer to the
CTSS Lab automatically whenever you log in, add this
command to your .login file. The new printer takes
effect the next time you log in.
Korn shell
----------
Korn or Bourne shell users ($ prompt) may change the
default printer to the CTSS Lab by entering the
command:
export PRINTER=weber
This command changes the default printer for the
current login session. To set your printer to the
CTSS Lab automatically whenever you log in, add this
command to your .profile file. The new printer takes
effect the next time you log in.
Checking on the status of a print job with lpq
----------------------------------------------
You can look at all the jobs queued up and waiting to
print on a particular printer by using the lpq
command.
To check on the status of a print job, use the lpq
command:
lpq -Pprinter
If the -P option is not used, lpq checks the status
of the printer specified by the PRINTER variable.
Example:
To view the print jobs queued up for the printer at
Main Site:
% lpq -Pmsite
Queue Dev Status Job Files User PP % Blks Cp Rnk
----- --- ------ --- ----- ---- -- - ---- -- ---
msite msite RUNNING 617 prog1.f smith 0 0 10 1 1
%
Contact ACNS
Directories |
Disclaimer |
Equal Opportunity
Academic Computing and Networking Services
Colorado State University, Fort Collins, CO 80523, (970) 491-5133
© Copyright Colorado State University, 1999.
Last updated: Thursday, 17-Aug-2000 15:26:33 MDT