发信人: jerk (徐子陵), 信区: Unix
标 题: Unix Unleased -2
发信站: 饮水思源站 (Fri Nov 20 20:07:27 1998) , 站内信件
2 — Getting Started Basic Tutorial
By Rachel and Robert Sartin
Logging In
User Account Setup
Logging In to the System
After Login Succeeds
Different Priviledges for Different Users
Logging Out
Using Commands
What Is a Command?
Redirecting Input and Output
Configuring Your Environment
Viewing and Setting Environment Variables
Using Shell Startup Files
Configuring with rc files
Managing Your Password
Working on the System
Erase
Kill
Stop and Start
eof
Online Help
Summary
2 — Getting Started Basic Tutorial
By Rachel and Robert Sartin
Logging In
If you're used to working with personal computers, then you're probably used to
having a box with a floppy drive, a hard disk, and a monitor on your desk. You
just turn it on and type away. UNIX workstations are similar to personal
computers. A UNIX workstation might have a floppy drive, a hard disk, and a very
large monitor. On a larger UNIX system, you might just have a terminal. Large
UNIX systems allow multiple logins at a time. In these situations, the computer
system has different parts in different places. Regardless of your situation,
you will have at least one input device (a keyboard) and at least one output
device (a video monitor). These pieces are physically connected to that
computer.
User Account Setup
After a UNIX system is booted, you cannot simply start using it as you do a PC.
Before you can access the computer system, someone—usually the system
administrator—must configure the computer for your use. If you are running UNIX
on your PC at home, you will most likely need to do these things for yourself.
If you are a UNIX novice trying to set up your home computer system, you can
refer to Chapter 33, "UNIX Installation Basics." If you are using a computer
system in your place of work, your employer may have a person or persons whose
specific job it is to administer all the systems. If this is the case, you will
have to coordinate with a staff member to set up your system account. The
company may have an application form on which you can request such things as a
certain user name, a temporary password, which shell you want to use (see
Chapter 14, "Which Shell Is Right for You"), what your default group is, what
groups you should belong to, and which mail aliases you should be added to. Many
of these things will depend on what work you will be doing and whom you will be
working with.
No matter who sets up your computer account, you must know two things before you
can use the system: your user name and your password. If you don't know what
these are, you must stop and find out what has been assigned to you. The user
name is a unique name that identifies you to the system. It is often related to
your real name, such as your first name, your last name, or a combination of
first initial and last name (for example, "frank," "brimmer," or "fbrimmer,"
respectively). If you get to request a user name, try to choose something that
makes others think of you alone, and is not vague or common enough to cause
confusion with others. The system administrator will verify that no one else on
your system has this name before allowing you to have it. The password that you
request or that has been assigned to you is a temporary string that allows you
to initially access the computer system. The initial password isn't of any real
importance because you should change it to something of your choice the first
time you log in to the system (see "Managing Your Password" later in this
chapter).
The other items on the account application form are harder for a novice user to
determine. Asking a peer who uses the same system for the values his or her
account has might be a good place to start. The system administrator may be able
to help you figure out what values you should have. But don't worry; these are
all easily changed later if you wish.
Logging In to the System
Now that you know your user name (say it's "brimmer") and password (say it's
"new_user"), you can access the system. When you sit down in front of a UNIX
workstation, you are expected to log in to the system. The system prompts (asks)
you for your user name by printing login:. You should then enter your user name.
Next, UNIX will prompt you for your password by printing Password:. Enter your
password. As you type your password, don't be alarmed if the characters you type
are not displayed on your screen. This is normal and is for your protection. No
one else should know your password, and this way no one can look at your screen
when you login and see your password.
login: brimmer
Password:
Please wait...checking for disk quotas
Marine biology word of the day:
Cnidaria (n.) Nigh-DARE-ee-uh (L. a nettle) - a phylum of basically
radially symmetrical marine invertebrates including corals, sea
anemones, jellyfish and hydroids. This phylum was formerly known
as Coelenterata.
$
TIP: Some keyboards have a key labeled "Return." Some have a key labeled
"Enter." If your keyboard has both, then "Return" is probably the correct key to
use.
TIP: On some systems, erase is # and kill is @. On others, erase is Backspace or
Delete and kill is Control+U or Control+X.
If you typed everything correctly and the system administrator has everything
set up correctly, you are now logged in and may use the system. If you get a
message saying Login Incorrect, then you may have typed your user name or
password incorrectly. If you make a mistake during your user name, the Backspace
key and the Delete key may not undo this mistake for you. The easiest thing to
do is to start over by pressing Enter twice to get to a new login: prompt.
Other error messages you might receive are No Shell, No Directory, or Cannot
Open Password File. If you see any of these messages, or if multiple attempts at
logging in always produce the Login Incorrect message, contact your system
administrator for help.
TIP: The No Shell message means that UNIX is not able to start the command
interpreter, which was configured when your account was set up. Depending on the
UNIX system, your login may complete successfully and the default shell will be
used. If this happens, you can use the chsh command, which will change the shell
specified in your account. See Part II, "Hunt For Shells," for more information
about various shells. The No Directory message means that UNIX cannot access
your home directory, which was specified when your account was set up. Again,
depending on the system, your login may complete successfully, placing you in a
default directory. You may need to then enlist the help of the system
administrator to create your home directory or change the home directory value
for your account. See Chapter 3, "The UNIX File System: Go Climb a Tree,"
regarding directories and specifically your home directory. The Cannot Open
Password File message means that UNIX is having a problem accessing the system
password file, which holds the account information (user name, password, user
id, shell, group, and so on) for each user. If there is a problem with this
file, no user can log in to the system. Contact your system administrator if you
see this message.
If your system is configured to use a graphical user interface (GUI), you
probably have a login screen. This screen performs the same function as the
command-line prompts but is presented as a graphical display. The display
probably has two boxes for you to fill in, each with a label. One box is for
your user name and the other is for your password.
After Login Succeeds
After a successful login, several messages appear on your screen. Some of these
may be the date and time of your last login, the system's informative message
(called the "Message of the Day"), and a message informing you whether you have
(electronic) mail. The Message of the Day can be an important message to watch
because it is one way that administrators communicate with the system users. The
next scheduled down time (when no one can use the system) is an example of
information that you might see here.
After all the messages scroll by, the system is ready and waiting for you to do
something. This ready-and-waiting condition is signified by a prompt followed by
a cursor. Typical prompts are $ or %. The dollar-sign prompt is commonly used by
Bourne and Korn shells and the percent sign by c-shells. The value of this
prompt (your primary prompt) can be changed if you wish. The person who set up
your account may have already configured a different prompt value. To change
this prompt, you need to change the value of the environment variable PS1 (for
Bourne and Korn) or prompt (for C shell). (See the section "Configuring Your
Environment" in this chapter for details on environment variables.) The cursor
(the spot on the screen where the next character you type is displayed) is
commonly an underline (_) or a box, either of which can be blinking. The cursor
you see may vary from system to system.
Different Priviledges for Different Users
If you are administering your own personal system, it is still important for you
to set up a personal account for yourself, even though your system will come
configured with some type of administrative account. This account should be used
to do system-wide administrative actions. It is important to be careful when
using this account because it has special privileges. UNIX systems have built-in
security features. Most users cannot set up a new user account or do other
administrative procedures. The user "root" is a special user, sometimes called
super-user, which can do anything at all on the system. This high degree of
power is necessary to fully administer a UNIX system, but it also allows its
user to make a mistake and cause system problems. For this reason, you should
set up a personal account for yourself that does not have root privilege. Then,
your normal, day-to-day activities will affect only your personal environment
and you will be in no danger of causing system-wide problems. In a multiuser,
nonpersonal environment, you will most likely have only user (and not
super-user) privileges. This security is even more important when more than one
person is involved because one mistake by the root can affect every user and the
entire system.
UNIX also has security to help prevent different users from harming each other
on a multiuser system. Each user "owns" his or her environment and can
selectively let groups or all others have access to this work. If you are doing
private work in one area that no one else should be allowed to see, then you
should restrict access to the owner (you). If you and your team members are
working on a group project, you can restrict access to the owner (you) and
everyone in your group. If this work should be shared with many or all people on
the system, then you should allow access to everyone.
Logging Out
When you are done using the system, you should log out. This will prevent other
people from accidentally or intentionally getting access to your files. It will
also make the system available for their use.
The normal way to log out from almost any shell is to type exit. This causes
your shell to exit, or stop running. When you exit from your login shell, you
log out. If you are using csh, you can also type logout; if you are in a login
shell, then csh will log out. Some shells, depending on your configuration, will
also log you out if you type the end-of-file character (typically Control+D; see
"Working on the System" later in this chapter).
If you have a graphical user interface, your logout procedure may be different.
Please consult your manuals or online help to learn about logging out of your
GUI.
Using Commands
During the login process described in the section, "Logging In" UNIX performs
several actions that prepare you and the system for each other. These include
performing system accounting, initializing your user environment, and starting a
command interpreter (commonly called a shell). Commands are how you tell the
system to do something. The command interpreter recognizes these commands and
passes the information off to where it is needed. UNIX systems originally came
with a command interpreter called the Bourne Shell (usually referred to as sh,
though some systems ship Korn or POSIX as sh—see the Note that follows). This
shell is still available on most UNIX computer systems. A newer shell that is
common to most UNIX systems is the C Shell (referred to as csh). Another
commonly used, but not as pervasive, shell is the Korn Shell (referred to as
ksh). Among different shells, there is some variation of the commands that are
available. Refer to Part II, "Hunt for Shells," for details on these UNIX
shells.
NOTE: What's in a name?
There are a number of different common shells on various UNIX operating systems.
The most common are as follows:
sh The Bourne shell is the most common of all
the shells. (May be installed as bsh.)
sh The POSIX shell is much like the Korn shell.
The POSIX standard requires it to be
installed as sh. Some vendors install it as
/bin/sh. Some put it in a special directory
and call it sh, leaving the Bourne shell as
/bin/sh.
ksh The Korn shell is a derivative of the Bourne
shell, which adds history and command-line
editing. (Sometimes installed as sh.)
csh The C shell is based on the popular C
language.
bash The Born Again shell is less common.
tcsh This is a version of the C shell with
interactive command-line editing.
What Is a Command?
A UNIX command is a series of characters that you type. These characters consist
of words that are separated by whitespace. Whitespace is the result of typing
one or more Space or Tab keys. The first word is the name of the command. The
rest of the words are called the command's arguments. The arguments give the
command information that it might need, or specify varying behavior of the
command. To invoke a command, simply type the command name, followed by
arguments (if any), to indicate to the shell that you are done typing and are
ready for the command to be executed, press Enter.
Try it out. Enter the date command. The command's name is "date" and it takes no
arguments. Therefore, type date and press Enter and see what happens. You should
see that the computer has printed the current date and time. If the date or time
does not match reality, ask the system administrator to fix it. How about trying
a command that has arguments? Try the echo command. The name of the command is
"echo" and it takes a series of arguments. The echo command will then write, or
echo, these arguments out to your screen. Try creating a command that will write
your first and last name on the screen. Here is what these commands and output
look like on our system:
$ date
Sat Mar 5 11:11:00 CST 1994
$ echo Arnold Brimmer
Arnold Brimmer
$
NOTE: Some commands such as echo are part of the particular shell you are using.
These are called built-ins. In this case, the commands are not standard from one
shell to another. Therefore, if you learn one shell and then later have to (or
want to) switch to using a different shell, you may have to learn new commands
(and unlearn others). Other commands are standard UNIX commands and do not
depend on what shell you are using. These should be on every UNIX system. The
remaining commands are nonstandard UNIX and may or may not be on a particular
UNIX system.
UNIX commands use a special type of argument called an option. An option
commonly takes the form of a dash (made by using the minus sign key) followed by
one or more characters. The options provide information to the command. Most of
the time, options are just a single character following a dash. Two of the other
lesser used forms are a plus sign rather than a minus sign, and a word following
a dash rather than a single character. The following paragraph shows a common
command with two of its common options. The ls command lists the files in your
current directory.
First, try the ls command with no arguments. Then, try it with the -a option and
note that the directory listing contains a few files that start with a period.
These hidden files get listed by the ls command only if you use the -a option.
Next, try the ls command with the -l option. This option changes the format of
the directory listing so that each file is displayed along with some relevant
details. Finally, try the ls command with both of these options, so that your
command is as follows: ls -a -l.
$ ls
visible
$ ls -a
. .. .hidden visible
$ ls -l
total 0
-rw-rw-rw- 1 sartin uu 0 Mar 5 12:58 visible
$ ls -a -l
total 16
drwxrwxrwx 2 sartin uu 1024 Mar 5 13:03 .
drwxr-xr-x 37 sartin uu 3072 Mar 5 13:03 ..
-rw-rw-rw- 1 sartin uu 0 Mar 5 12:58 .hidden
-rw-rw-rw- 1 sartin uu 0 Mar 5 12:58 visible
$
A command developer often tries to choose option letters that are meaningful.
Regarding the ls command, you might think of the -a as meaning that "all" files
should be listed (including the special files starting with period). And you
might think of the -l option as meaning a "long" directory listing because the
format is changed so that each line contains one file along with its details.
This makes for a longer listing.
Redirecting Input and Output
One very pervasive concept in UNIX is the redirection of commands' input and
output. Before looking at redirection, though, it is a good idea to look at
input and output without modification. UNIX uses the word standard in this
subject to mean the default or normal mode. Thus, UNIX has the term standard
input, which means input coming from the default setting, and the term standard
output, which means output going to the normal place. When you first log in to
the system, and your shell executes, your standard input is set to be what you
type at the keyboard, and your standard output is set to be your display screen.
With this in mind, follow along with the example.
The cat command takes any characters from standard input, and then echoes them
to standard output. For example, type the cat command, with no arguments. Your
cursor should be sitting on the next line without a prompt. At this point, the
cat command is waiting for you to enter characters. You can enter as many as you
like, and then you should specify that you are finished. Type a few words and
then press Return. Now type the special character, Control+D (hold down the
Control key while typing the D key). This is the "eof" control character. (See
"Working on the System" later in this chapter for a description of control
characters.) The words you typed should be on your screen twice—once caused by
you entering them from the keyboard, and next as the cat command outputs them to
your screen. This first step used standard input (from you typing on the
keyboard), and standard output (the command results being printed on the
screen).
$ cat
s
A few words
<CTRL><D>
A few words
$ cat > scotty
Meow, whine
meow
<CTRL><D>
$ cat < scotty
Meow, whine
meow
$ cat scotty
Meow, whine
meow
$
Although this simple case may not seem terribly useful yet, wait to see its use
as you add redirection.
UNIX shells have special characters that signify redirection. Only the basics
are covered here. Refer to Part II, "Hunt for Shells," for details on each
shell's redirection syntax. Output redirection is signified by the > character
and input redirection is signified by the < character. Output is commonly
redirected to and input is redirected from a file. Now, continue with the rest
of the example.
Next, try the cat command using output redirection, leaving standard input
alone. Enter cat > filename. The filename is a name of your choice. Once again,
the cat command should be waiting for input (coming from standard input, which
is your keyboard) at the beginning of the next line. Enter a few words, as you
did before, press Return, and then, at the start of the next line, press
Control+D. The words you typed didn't show up on your screen because you
redirected the output of the cat command. The output was directed to go to the
file filename. But how do you know it is there? In order to verify this, use the
cat command with input redirection—which is the next order of business.
CAUTION: <Ctrl><D> must be specified as the first character of an input line for
it to be seen as "eof."
To see the contents of the file filename, you would like the input of the cat
command to come from that file, and the output to go to the screen so that you
can see it. Therefore, you want to redirect standard input and leave the output
alone. Enter cat < filename. This time, the cat command did not wait for
you—because you were not supplying the input. The file supplied the input. The
cat command printed the contents of the file to the screen.
TIP: Note the subtle distinction between these two commands: cat > filename and
cat < filename. You can remember the difference by verbalizing which way the
sign points; does it point into the command or out of the command? Into the
command is input redirection and out of the command is output redirection.
The cat command allows you to specify a filename to use as input. Try showing
the contents of the file this (more common) way: enter cat filename. Many
commands are designed similarly—they have an argument that is used to specify a
file as the input. Because of this common command design, redirecting input in
this way is not nearly as common as redirecting the output.
UNIX was developed with the philosophy of having simple commands that do
well-defined, simple things. Then, by combining these simple commands, the user
could do very powerful things. Pipes are one of the ways UNIX allows users to
combine several commands. The pipe is signified by the vertical bar (|) symbol.
A pipe is a means of taking the output of one command and redirecting it as the
input of another command. Say that you want to know how many files you have in
your current directory. Recall that the ls command will list all the files in
your current directory. You could then count the number of files. But UNIX has a
command that counts the number of characters, words, and lines of input and
displays these statistics. Therefore, you can combine these two commands to give
you the number of files in your directory. One way you could do this is as
follows: ls -l | wc -l. Analyzing this command, you can see that the first part
is something familiar. The ls -l command gives a directory listing in long
format. In fact, it prints one file per line. The wc -l command gives the number
of lines that are in the input. Combining the two commands via a pipe takes the
output of the first command (the long directory listing) and gives it to the
input of the second command. The output of the second command (which is not
redirected—it goes to standard output) is displayed on your screen.
These basic forms of redirection allow you to be very versatile as you learn a
few commands at a time. Try to learn a command and use it with various options
and arguments, then add redirection of input and output. And finally, combine
commands with pipes. This approach should help you to feel comfortable with the
commands and their varied uses.
Configuring Your Environment
In order to make using the shell easier and more flexible, UNIX uses the concept
of an environment. Your environment is a set of values. You can change these
values, add new values, or remove existing values. These values are called
environment variables—environment because they describe or define your
environment, and variables because they can change.
Viewing and Setting Environment Variables
Every user's environment looks a little different. Why don't you see what your
environment looks like? Type the env command with no arguments. The output
formatting and variable names depend on which shell you are using and how your
system is configured. A typical environment might include some of the following:
$ env
HOME=/u/sartin
LOGNAME=sartin
MAIL=/usr/mail/sartin
MANPATH=/usr/man:/usr/contrib/man:/usr/local/man
PATH=/bin/posix:/bin:/usr/bin:/usr/contrib/bin:/usr/local/bin
SHELL=/bin/sh
TERM=vt100
TZ=CST6CDT
$ echo $HOME
/u/sartin
$
Sometimes the number of variables in your environment grows quite large, so much
so that you don't want to see all of the values displayed when you are
interested in just one. If this is the case, you can use the echo command to
show an environment variable's current value. To specify that a word you type
should be treated differently—as a value of an environment variable—you
immediately precede the variable name with a dollar sign ($). Be careful not to
type any whitespace between the $ and the word. One of the variables in the
example is HOME. You probably have this variable in your environment, too. Try
to display its value using echo.
NOTE: If you use csh, some environment variables are automatically copied to and
from csh variables. These include HOME, TERM, and PATH, which csh keeps in home,
term, and path.
You can create a new environment variable by simply giving it a value. If you
give an existing variable a value, the old value is overwritten. One difficulty
in setting environment variables is that the way you set them depends on the
shell you are using. To see how to set environment variables, look at the
details about the shell you are using in Part II, "Hunt For Shells."
In order for your screen to display the output correctly, the environment
variable TERM needs to have a reasonable value. This variable name comes from
the times when terminals were used as displays (before PCs and graphics displays
were common). Different terminals supported varying output control. Therefore,
UNIX systems have various terminal types that they support. These are not
standard, so you need to find out which terminal type to use from your support
personnel. If you are using a PC to connect to a UNIX system, your PC is running
a terminal emulation tool. Most of these tools have the capability to emulate
several types of terminal. The important point here is to make sure that your
emulator and your TERM variable are the same (or compatible). Start by seeing
what your TERM variable is set to by entering echo $TERM. Refer to your PC
terminal emulation manual and ask your system administrator for help to make
sure that this is set up correctly.
TIP: Many terminal emulators (including the Microsoft Windows "Terminal"
program) support either "VT100" or ANSI standard terminal control sequences. Try
setting TERM to vt100 or ansi for this type of terminal emulator.
Using Shell Startup Files
Where do all these environment variables come from? Well, the system sets up
various ones for you. And each user commonly sets up others during the login
process. Yes, you may be doing this without even knowing it. During the startup,
which happens at login, a shell is started. This shell automatically looks in a
special place or two for some startup information. One of these places is in
your home directory. The startup information in your home directory is found in
special files. The specific shell you are using will determine the name of the
particular file. When the shell starts up, it examines this file and performs
whatever actions are specified. One of the common actions is to give values to
environment variables. This action is called initializing or setting the values.
One environment variable that is commonly set in a user's shell startup file is
the PATH variable (or lowercase path for C-shell users). This variable's value
is a list of places (directories) on the system where the shell should look to
locate a command. Each command you type is physically located as a file
somewhere on your file system. It is possible for the same command name to be
located in different places (and to have either the same or different behavior
when executed). Say that you have a program called my_program that is stored in
your home directory, and your friend has a program called my_program, which is
in her home directory. If you type my_program at the prompt, the shell needs to
know where to look to find the storage location of my_program. The shell looks
at the value of the PATH variable and uses the list of directories as an ordered
directory search list. The first directory that has a my_program stops the
search, and the shell executes that file. Because all files within a single
directory must be unique, this gives a straightforward and sufficient method for
finding executables (commands).
You probably want $HOME/bin to be toward the beginning of your PATH directory
list, whereas you may want your friend's binary directory to be toward the end,
or not listed at all. This way, when you type my_program, you will execute your
my_program rather than hers. You can do all types of things in shell startup
files in addition to setting environment variable values. If you want, you can
add an echo command that prints out a greeting or reminds you to do something.
One common item that is configured inside a shell startup file is the setup of
your control characters. (See "Working on the System" later in this chapter.)
These startup files are a powerful tool for you, the user of the shell, to
configure the behavior of the shell automatically. Shell startup files are
covered in more detail in Part II, "Hunt for Shells."
TIP: It is a good idea to create a bin directory in your HOME and store
executables there. Include $HOME/bin in your path.
Configuring with rc files
The idea of having a file that is read on startup is not only used by the
shells. In fact, many commands have special files containing configuration
information that the user can modify. The general class of files is called rc
files. This comes from the naming convention of these files. Most of these files
end with the letters rc. Some of the more common files are .exrc, .mailrc, and
.cshrc. These are all dot files; that is, they begin with a period (dot). The
significance of starting a filename with a dot is that this file is not
displayed during normal directory listing. If you want to see these files, use
the -a option to the ls command. The .exrc file is used by the vi and ex editors
(see Chapter 7, "Text Editing with vi, EMACS, and sed"). The .mailrc file is
used by various electronic mail tools (see Chapter 9, "Communicating with
Others"). The .cshrc file is the C-shell startup file just discussed. The rc
files are normally found in your home directory; that is, the default location
for most of these files. Look at which rc files you have in your home directory
(use the ls -a command). Then examine the contents of one of the files (use the
cat filename command).
Your environment has a great effect on the use of your system. It is initialized
during login with a shell startup file, and it grows and changes as you create
new variables and change existing ones. Your environment affects every command
you execute. It is important to get your environment set up to make your common
actions easy. Spend the time to do this now and you will be glad you did later.
Managing Your Password
During login, UNIX asked you to enter your password. If this is your first time
on this computer, your password was configured by the system administrator. One
of the very first things you should do after logging in is change your password
so that no one, not even the system administrator, knows what it is. You can do
this via the passwd command. But before you do this, you should put some thought
into what you want your password to be. Here are some points to consider:
It should be easy for you to remember. If you forget what your password is,
no one, not even the system administrator, can look it up for you. The only
thing the system administrator can do is to reset your password to a value.
This wastes the administrator's time as well as yours.
It shouldn't be easy for anyone to figure out. Do not make it anyone's name
or birth date, or your user name, or any of these spelled backwards. It is
also wise to avoid something that appears in a dictionary. A good idea would
be to include at least one nonalphabetic character (for example, a period or
a dollar sign).
Make it a reasonable length. Some systems impose a minimum number of
characters for a password. At least 5 characters is adequate. There isn't
usually a limit as to the maximum number of characters, but only the first 8
are significant. The ninth character and after are ignored when checking to
see whether you typed your password correctly.
Change your password once in a while. Some systems check the last time you
changed your password. If a time limit has been reached, you will be
notified that your password has expired as you log in. You will be prompted
to change it immediately and won't be allowed to log in until you
successfully get it changed. This time limit is system imposed. Changing
your password every few months is reasonable.
Don't write it down or tell it to anyone. Don't write it on scraps of paper.
Don't tell your mother. Don't write it in your calendar. Don't write it in
your diary. Don't tell your priest. Don't put it in a dialup terminal
configuration file. Nowhere. Nobody. Maybe in your safe deposit box.
After you have thought about what you want your password to be, you can change
it with the passwd command. Try it now; you can change your password as often as
you like. Enter passwd. First, a prompt asking you to enter your old password is
displayed. Type your old password and press Return. Next, you are prompted for
your new password. Type it in and press Enter. Finally, you are prompted to
re-enter your new password. This confirmation helps avoid changing your password
if you made a typing error. If you make a mistake entering your old password, or
if the two new password entries are not identical, then no change is made. Your
old password is still in effect. Unless you make the same mistake both times
that you enter the new password, you are in no danger of erroneously changing
your password.
Working on the System
Most keys on the keyboard are fairly obvious. If you type the S key, an s
character appears on your screen. If you hold down the Shift key and type the S
key, a capital s character (S) appears on your screen. In addition to the
letters and digits, the symbols, some of which are above the digits, are
familiar—such as the percent sign (%) and the comma (,). There are some UNIX and
system-specific special characters in addition to these, which you should become
familiar with. They will help you manage your work and typing more effectively.
The general type of character is called a control character. The name comes from
the way in which you type them. First, locate the Control key—there should be
one or maybe two on your keyboard. It may be labeled Ctrl or some other
abbreviation of the word Control. This key is used like the Shift key. You press
it but don't release it. While the Control key is depressed, you type another
key, often a letter of the alphabet. If you type the Q key while the Control key
is held, this is called Control+Q, and is commonly written ^Q (the caret symbol,
which is found above the digit 6, followed by the alphabetic character).
NOTE: When you see the notation ^Q, this does NOT mean to hold the Control and
Shift down while pressing Q. All you do is to hold down the Control key while
pressing Q.
UNIX uses these control keys for various common keyboard actions. They can come
in very handy. But the hard part is that different systems have different
default Control key settings for these actions. Therefore, first you should find
out what your current settings are, and then you can change them if you wish. In
order to look at what your current settings are, use the stty command. Enter
stty -a at your command prompt and look at the results. Refer to the next
example for an output of this command.
TIP: If you're typing and nothing is showing on your screen, a ^S (or stop
control character) inadvertently may have been typed. Try typing ^Q (or start
control character) and see whether your typed characters now appear.
$ stty -a
speed 9600 baud; line = 0; susp <undef>; dsusp <undef>
rows = 44; columns = 120
intr = ^C; quit = ^\; erase = ^H; kill = ^X; swtch <undef>
eof = ^D; eol = ^@; min = 4; time = 0; stop = ^S; start = ^Q
-parenb -parodd cs8 -cstopb hupcl cread -clocal -loblk -crts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc
ixon -ixany -ixoff -rtsxoff -ctsxon -ienqak
isig icanon iexten -xcase echo echoe echok -echonl -noflsh
opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel -tostop tab3
$
Referring to the preceding example of stty output, look for the section that has
the words erase, kill, and eof. Associated with each word is a control
character. Find the similar part of your stty output. Keep this handy as you
read the next topics.
Erase
Look at the word erase in the stty output. Next to this word is ^H (verbalized
as Control+H). Therefore, on my system, Erase, which means to back up over the
last character typed, is done by typing ^H. The Erase key is how you can fix
your typing errors. Remember to look at your stty -a output because your system
may be configured differently than this example. Try it out on your system.
First, type a character you wish to erase, say, an A. Now type your Control,
Backspace, or Delete key associated with your Erase. If everything goes right,
your cursor should have backed up to be on top of your A and the next key you
type will be where the A was. Try typing a correct series of keys, say
date<Return>, to make sure that the control character actually worked. If you
get a message similar to "A^Hdate not found", then Erase is not working. To make
it work correctly, pick the key you want associated with Erase and input the
following (assuming that you have picked the backspace key):
$ stty erase '^H'
$
Now, try entering the date command again and deleting the A in dAte and
replacing it with a.
NOTE: Depending on your display, erasing characters may not actually make the
character disappear. Instead, it may reposition the cursor so that the next
keystroke overwrites the character.
The Erase key is one of the most used control keys, because typing without
mistakes is difficult to do. Therefore, most keyboards have one or more special
keys that are suited to this job. Look for keys labeled "Delete" or "Backspace."
One of these usually works as an erase key. Try typing some characters and
seeing what happens when you then press Backspace or Delete. Normally the
Backspace key is set up to be ^H, so, if your erase is configured to be ^H,
Backspace most likely will work.
Kill
The Kill control character is similar to the Erase control character, in that it
allows you to back up over typing mistakes. Whereas Erase backs up one character
at a time, Kill backs up all the way to the prompt. Therefore, if you are typing
a really long command and you realize, toward the end, that you forgot to do
some other command first, you can start over by typing the control character
associated with Kill. If you can't see what your Kill is set to, redo the stty
command. In the stty output example, the system has kill set to ^X. Again,
remember that your system can be configured differently than this example. Now,
try typing several characters followed by your Kill control character and see
what happens. All the characters should be erased and your cursor should be
after the prompt.
Stop and Start
Two other commonly used control characters are Stop and Start. Their normal
values are ^S and ^Q, respectively. Stop allows you to temporarily pause what is
happening on your screen, and Start allows you to resume activity following a
stop. This is useful if text is scrolling on your screen too fast for you to
read. The Stop control character will pause the scrolling indefinitely so that
you can read at your leisure. You might try this during your next login while
the Message of the Day is scrolling by (see the section earlier in this chapter
called "Logging In"). But remember to be prepared and be swift, because that
text can scroll by quite quickly. Try to stop the scrolling, and then don't
forget to continue the scrolling by typing your Start control character.
NOTE: On modern GUIs and high-speed connections Stop and Start give very poor
control of output. This is because the output is so fast an entire screen may go
by before you type the Stop character.
eof
The eof control character is used to signal the end of input. The letters eof
come from end of file. The normal value of the eof control character is ^D, but
be sure to verify this using the stty command. You can see how the eof character
is used in the section called "Redirecting Input and Output" earlier in this
chapter.
There are several other control characters that we will not look at here. You
should refer to the stty command in your system documentation for information.
Or better yet, keep reading because we will show you how to find information
about commands via the UNIX online help facility.
The stty command is also used to set the value of control characters. You can
simply enter stty erase '^H' to change your Erase character to Backspace. Do not
enter a Control+H here; rather, enter '^H'. Some shells, including the original
Bourne shell, treat the caret specially, so you may need the quotes. (Double
quotation marks would also work in this example.) Try changing the value of your
Erase control character and then use the stty -a command to make sure it
happened.
TIP: Remember that typing the end of file character to your shell might log you
out of the system!
Online Help
One of the most important things to know about UNIX or any computer system is
how to get help when you don't know how to use a command. Many commands will
give you a usage message if you incorrectly enter the command. This message
shows you the correct syntax for the command. This can be a quick reminder of
the arguments and their order. For many commands, you can get the usage message
by using the option -?. The usage message often does not give you any semantic
information.
The UNIX command man is a powerful tool that gives you complete online access to
the UNIX manuals. In its simplest form, the man command takes one argument, the
name of the command or manual entry on which you need information. Try using the
man command now—perhaps you could use one of the previous commands you were
interested in as the argument. Or, if you want to get a head start on this
section, you might try entering man man to get information on the man help
facility itself.
The manual entry is called a man page, even though it is often more than one
page long. There are common sections to man pages. Depending on the command,
some or all of the sections may be present. At the start of the man page is the
Name. This is usually a one-liner that gives the command's name along with a
phrase describing what it does. Next is the Synopsis, which gives the command's
syntax including its arguments and options. In the Synopsis, if an argument is
enclosed in square brackets ([]), then that argument is optional. If two
elements of the syntax are separated with a vertical bar (|), then either one or
the other (but not both) of the items is allowed.
$ man page
Depending on the man page, there are several more sections that you may see. A
few of the more common are Description, Files, and See Also. The Description
section contains the details of the command's usage. It describes each option,
argument, and the interrelations and accepted values of each. This will help you
to learn exactly how the command should be used. The Files section contains a
list of the UNIX files used by this command. You may want to look at the
contents of these files to help you understand some of the command's behaviors.
The See Also section can be very important when you either want to learn more on
a similar topic or don't have quite the right man page. This section lists
pointers to related or dependent commands.
The man command has a very useful option, especially for users who are
unfamiliar with UNIX. This option is -k and is used to find all commands that
have to do with a word you supply following the -k. For instance, if you would
like to find out information on printing, you might enter the command man -k
print. The man command then searches a special database, called the whatis
database, for commands and descriptions that contain the word print. During the
search, if print or any word that contains print (such as printing) is found,
this command is displayed on your screen. Therefore, the final result is a list
of all commands having to do with print. Then you can use the man command to
find out the details about any or all of the commands on this list. On some
systems, another way to do this search is via the command apropos, which is
equivalent to man -k.
Although having the complete set of manual entries online is extremely useful,
it also takes a fairly large amount of disk space. One option that some people
use to help lower the amount of disk space needed is to have the manual entries
stored on one machine that everyone can access via the network. Because of this,
the manual entries may not be stored in the directories expected. In order to
show the man command where the entries are stored, you can set the MANPATH
variable (see the section "Viewing and Setting Environment Variables" that
appeared earlier in this chapter).
Another potential problem you might see when trying to use man has to do with
the -k option. Recall that the -k option searches the whatis database for a
keyword you specify. This works only if the system administrator has created
this database ahead of time. The system administrator does this via the catman
command. If the database has not yet been created, you will see an error
regarding the whatis database not being found whenever you use the -k option (or
the apropos command). Ask your system administrator to fix this.
Summary
The start of this chapter helped you prepare for what needs to happen before and
during login. The section "Configuring Your Environment" looked at your
environment and how you can configure it. Look at the manual entry for the shell
you're using to find out more about environments. Also read Part II, "Hunt for
Shell," for shell details. The section on "Managing Your Password" discussed how
managing your password via the passwd command is important for security reasons.
Look at the manual entry for passwd if you need more information. The "Working
on the System" section helped make your typing easier through the use of control
characters. The stty man page is a good place to look for more information on
control characters. The section on online help is probably the most important
section of this chapter; by describing the man command, it showed you how to
access the UNIX manual online. Using this, you can look up anything you want or
need. The commands that you saw in the "Using Commands" section are in the
online manual. Use the man command and learn more about them. With this as a
start, you should be comfortable with the basics.
--
隋末风云起,双龙走天下。
尽数天下英豪,唯我独尊!
※ 来源:·饮水思源站 bbs.sjtu.edu.cn·[FROM: 202.120.5.209]
--
※ 修改:.fzx 于 Aug 1 12:22:36 修改本文.[FROM: heart.hit.edu.cn]
※ 转寄:.紫 丁 香 bbs.hit.edu.cn.[FROM: chen.hit.edu.cn]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: jmm.bbs@bbs.hit.edu.]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:617.707毫秒