diff --git a/en_US.ISO8859-1/books/handbook/basics/chapter.sgml b/en_US.ISO8859-1/books/handbook/basics/chapter.sgml
index 5789f6ef02..46f8f42a29 100644
--- a/en_US.ISO8859-1/books/handbook/basics/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/basics/chapter.sgml
@@ -1,131 +1,488 @@
Unix Basics
-
- The Online Manual
-
- The most comprehensive documentation on FreeBSD is in the form of
- man pages. Nearly every program on the system
- comes with a short reference manual explaining the basic operation and
- various arguments. These manuals can be viewed with the
- man command. Use of the man
- command is simple:
-
- &prompt.user; man command
+
+ Synopsis
- command is the name of the command you
- wish to learn about. For example, to learn more about
- ls command type:
-
- &prompt.user; man ls
-
- The online manual is divided up into numbered sections:
-
-
-
- User commands
-
-
-
- System calls and error numbers
-
-
-
- Functions in the C libraries
-
-
-
- Device drivers
-
-
-
- File formats
-
-
-
- Games and other diversions
-
-
-
- Miscellaneous information
-
-
-
- System maintenance and operation commands
-
+ Reritten by Chris Schumway
+ cshumway@cdrom.com, 10 Mar 2000.
-
- Kernel developers
-
-
-
- In some cases, the same topic may appear in more than one section of
- the on-line manual. For example, there is a chmod
- user command and a chmod() system call. In this
- case, you can tell the man command which one you want
- by specifying the section:
-
- &prompt.user; man 1 chmod
-
- This will display the manual page for the user command
- chmod. References to a particular section of the
- on-line manual are traditionally placed in parenthesis in written
- documentation, so &man.chmod.1; refers to the
- chmod user command and &man.chmod.2; refers to the
- system call.
-
- This is fine if you know the name of the command and simply wish to
- know how to use it, but what if you cannot recall the command name? You
- can use man to search for keywords in the command
- descriptions by using the
- switch:
-
- &prompt.user; man -k mail
-
- With this command you will be presented with a list of commands that
- have the keyword “mail” in their descriptions. This is
- actually functionally equivalent to using the apropos
- command.
-
- So, you are looking at all those fancy commands in
- /usr/bin but do not have the faintest idea
- what most of them actually do? Simply do a
-
- &prompt.user; cd /usr/bin; man -f *
-
- or
-
- &prompt.user; cd /usr/bin; whatis *
-
- which does the same thing.
+ The following chapter will cover the basic commands and
+ functionality of the FreeBSD operating system. If you are new to
+ FreeBSD, you will definitely want to read through this chapter before
+ asking for help.
-
-
- GNU Info Files
-
- FreeBSD includes many applications and utilities produced by the
- Free Software Foundation (FSF). In addition to man pages, these
- programs come with more extensive hypertext documents called
- “info” files which can be viewed with the
- info command or, if you installed
- emacs, the info mode of
- emacs.
- To use the &man.info.1; command, simply type:
-
- &prompt.user; info
-
- For a brief introduction, type h. For a
- quick command reference, type ?.
+
+ Permissions
+
+ FreeBSD, having its history rooted in BSD UNIX, has its
+ fundamentals based on several key UNIX concepts. The first, and
+ most pronounced, is that FreeBSD is a multi-user operating system.
+ The system can handle several users all working simultaneously on
+ completely unrelated tasks. The system is responsible for properly
+ sharing and managing requests for hardware devices, preferials,
+ memory, and cpu time evenly to each user.
+
+ Because the system is capable of supporting multiple users,
+ everything the system manages has a set of permissions governing who
+ can read, write, and execute the resource. These permissions are
+ stored as an octet broken into three pieces, one for the owner of
+ the file, one for the group that the file belongs to, and one for
+ everyone else. This numerical representation works like
+ this:
+
+
+
+
+
+ Value
+ Permission
+ Directory Listing
+
+
+
+
+
+ 0
+ No read, no write, no execute
+ ---
+
+
+
+ 1
+ No read, no write, execute
+ --x
+
+
+
+ 2
+ No read, write, no execute
+ -w-
+
+
+
+ 3
+ No read, write, execute
+ -wx
+
+
+
+ 4
+ Read, no write, no execute
+ r--
+
+
+
+ 5
+ Read, no write, execute
+ r-x
+
+
+
+ 6
+ Read, write, no execute
+ rw-
+
+
+
+ 7
+ Read, write, execute
+ rwx
+
+
+
+
+
+ For the long directory listing by ls -l, a
+ column will show a files' permissions for the owner, group, and
+ everyone else. Here's how its broken up:
+
+ -rw-r--r--
+
+ The first character, from left to right, is a special character
+ that tells if this is a regular file, a directory, a special
+ character or block device, a socket, or any other special
+ pseudo-file device. The next three characters, designated as
+ rw- gives the permissions for the owner of the
+ file. The next three characters, r-- gives the
+ permissions for the group that the file belongs to. The final three
+ characters, r--, gives the permissions for the
+ rest of the world. A dash means that the permission is turned off.
+ In the case of this file, the permissions are set so the owner can
+ read and write to the file, the group can read the file, and the
+ rest of the world can only read the file. According to the table
+ above, the permissions for this file would be
+ 644, where each digit represents the three parts
+ of the file's permission.
+
+ This is all well and good files, but how does the system control
+ permissions on devices? FreeBSD actually treats most hardware
+ devices as a file that programs can open, read, and write data to
+ just like any other file. These special device files are stored on
+ the /dev directory.
+
+ Directories are also treated as files. They have read, write,
+ and execute permissions. The executable bit for a directory has a
+ slightly different meaning than that of files. When a directory is
+ marked executable, it means it can be searched into, for example, a
+ directory listing can be done in that directory.
+
+ There are more to permissions, but they are primarily used in
+ special circumstances such as setuid binaries and sticky
+ directories. If you want more information on file permissions and
+ how to set them, be sure to look at the &man.chmod.1; man
+ page.
+
+
+
+ Directory Structures
+
+ Since FreeBSD uses its file systems to determine many
+ fundamental system operations, the hiarchy of the file system is
+ extremely important. Due to the fact that the &man.hier.7; man page
+ provides a complete description of the directory structure, it will
+ not be duplicated here. Please read &man.hier.7; for more
+ information.
+
+ Of significant importance is the root of all directories, the /
+ directory. This directory is the first directory mounted at boot
+ time and it contains the base system necessary at boot time. The
+ root directory also contains mount points for every other file
+ system that you want to mount.
+
+ A mount point is a directory where additional file systems can
+ be grafted onto the root file system. Standard mount points include
+ /usr, /var,
+ /mnt, and /cdrom. These
+ directories are usually referenced to entries in the file
+ /etc/fstab. /etc/fstab is
+ a table of various file systems and mount points for refence by the
+ system. Most of the file systems in /etc/fstab
+ are mounted automatically at boot time from the script &man.rc.8;
+ unless they contain the noauto option. Consult the &man.fstab.5;
+ manual page for more information on the format of the
+ /etc/fstab file and the options it
+ contains.
+
+
+
+ Shells
+
+ In FreeBSD, a lot of everyday work is done in a command line
+ interface called a shell. A shell's main job is to take commands
+ from the input channel and execute them. A lot of shells also have
+ built in functions to help everyday tasks such a file management,
+ file globing, command line editing, command mar-cos, and environment
+ variables. FreeBSD comes with a set of shells, such as sh, the
+ Bourne Shell, and csh, the C-shell. Many other shells are available
+ from the FreeBSD Ports Collection that have much more power, such as
+ tcsh and bash.
+
+ Which shell do you use? Its really a matter of taste. If your
+ a C programmer you might feel more comfortable with a C-like shell
+ such as tcsh. If you've come from Linux or are new to a UNIX
+ command line interface you might try bash. The point is that each
+ shell has unique properties that may or may not work with your
+ preferred working environment, and that you have a choice of what
+ shell to use.
+
+ One common feature in a shell is file-name completion. Given
+ the typing of the first few letters of a command or filename, you
+ can usually have the shell automatically complete the rest of the
+ command or filename by hitting the TAB key on the keyboard. Here is
+ an example. I have two files called foobar and
+ foo.bar. I want to delete
+ foo.bar. So what I would type on the keyboard
+ is: rm fo[TAB].[TAB].
+
+ The shell would print out rm
+ foo[BEEP].bar.
+
+ The [BEEP] is the console bell, which is the shell telling me it
+ was unable to totally complete the filename because there is more
+ than one match. Both foobar and
+ foo.bar start with fo, but
+ it was able to complete to foo. Once I typed in
+ ., then hit TAB again, the shell was able to fill
+ in the rest of the filename for me.
+
+ Another function of the shell is environment variables.
+ Environment variables are a variable key pair stored in the shell's
+ environment space. This space can be read by any program invoked by
+ the shell, and thus contains a lot of program configuration. Here
+ is a list of common environment variables and what they mean:
+
+
+
+
+
+ Variable
+ Description
+
+
+
+
+
+ USER
+ Current logged in user's name.
+
+
+
+ PATH
+ Colon separated list of directories to search for
+ binaries.
+
+
+
+ DISPLAY
+ Network name of the X11 display to connect to, if
+ available.
+
+
+
+ SHELL
+ The current shell.
+
+
+
+ TERM
+ The name of the user's terminal. Used to determine the
+ capabilites of the terminal.
+
+
+
+ TERMCAP
+ Database entry of the terminal escape codes to perform
+ various terminal functions.
+
+
+
+ OSTYPE
+ Type of operating system. E.g., FreeBSD.
+
+
+
+ MACHTYPE
+ The CPU architecture that the system is running
+ on.
+
+
+
+ EDITOR
+ The user's preferred text editor.
+
+
+
+ PAGER
+ The user's preferred text pager.
+
+
+
+ MANPATH
+ Colon separated list of directories to search for
+ manual pages.
+
+
+
+
+
+ To view or set an environment variable differs somewhat from
+ shell to shell. For example, in the C-Style shells such as tcsh
+ and csh, you would use setenv to set and view
+ environment variables. Under Bourne shells such as sh and bash, you
+ would use set and export to
+ view and set your current environment variables. For example, to
+ set or modify the EDITOR environment variable, under
+ csh or tcsh a command like this would set EDITOR to
+ /usr/local/bin/emacs:
+
+ setenv EDITOR /usr/local/bin/emacs
+
+ Under Bourne shells:
+
+ export EDITOR="/usr/local/bin/emacs"
+
+ You can also make most shells expand the environment variable by
+ placing a $ character in front of it on the
+ command line. For example, echo $TERM would
+ print out whatever $TERM is set to, because the shell
+ expands $TERM and passes it on to echo.
+
+ Shells treat a lot of special characters, called meta-characters
+ as special representations of data. The most common one is the
+ * character, which represents any number of
+ characters in a filename. These special meta-characters can be used
+ to do file name globing. For example, typing in
+ echo * is almost the same as typing in
+ ls because the shell takes all the files that
+ match * and puts them on the command line for
+ echo to see.
+
+ To prevent the shell from interpreting these special characters,
+ they can be escaped from the shell by putting a backslash
+ (\) character in front of them. echo
+ $TERM prints whatever your terminal is set to.
+ echo \$TERM prints $TERM as
+ is.
+
+
+
+ Text Editors
+
+ A lot of configuration in FreeBSD is done by editing a text
+ file. Because of this, it would be a good idea to become familiar
+ with a text editor. FreeBSD comes with a few as part of the base
+ system, and many more are available in the ports collection.
+
+ The easiest and simplest editor to learn is an editor called
+ ee, which stands for easy editor. To
+ start ee, one would type at the command
+ line ee filename where
+ filename is the name of the file to be edited.
+ For example, to edit /etc/rc.conf, type in
+ ee /etc/rc.conf. Once inside of ee, all of the
+ commands for manipulating the editor's functions are listed at the
+ top of the display. The caret ^ character means
+ the control key on the keyboard, so ^e expands to pressing the
+ control key plus the letter e. To leave
+ ee, hit the escape key, then choose leave
+ editor. The editor will prompt you to save any changes if the file
+ has been modified.
+
+ FreeBSD also comes with more powerful text editors such as
+ vi as part of the base system, and
+ emacs and vim
+ as part of the FreeBSD ports collection. These editors offer much
+ more functionality and power at the expense of being a little more
+ complicated to learn. However if you plan on doing a lot of text
+ editing, learning a more powerful editor such as
+ vim or emacs
+ will save you much more time in the long run.
+
+
+
+ For more information...
+
+
+ Manual pages
+
+ The most comprehensive documentation on FreeBSD is in the form
+ of man pages. Nearly every program on the system comes with a
+ short reference manual explaining the basic operation and various
+ arguments. These manuals can be viewed with the man command. Use
+ of the man command is simple:
+
+ &prompt.user; man command
+
+ command is the name of the command you
+ wish to learn about. For example, to learn more about
+ ls command type:
+
+ &prompt.user; man ls
+
+ The online manual is divided up into numbered sections:
+
+
+
+ User commands.
+
+
+
+ System calls and error numbers.
+
+
+
+ Functions in the C libraries.
+
+
+
+ Device drivers.
+
+
+
+ File formats.
+
+
+
+ Games and other diversions.
+
+
+
+ Miscellaneous information.
+
+
+
+ System maintenance and operation commands.
+
+
+
+ Kernel developers.
+
+
+
+ In some cases, the same topic may appear in more than one
+ section of the online manual. For example, there is a chmod user
+ command and a chmod() system call. In this
+ case, you can tell the man command which one you want by
+ specifying the section:
+
+ &prompt.user; man 1 chmod
+
+ This will display the manual page for the user command
+ chmod. References to a particular section of
+ the online manual are traditionally placed in parenthesis in
+ written documentation, so &man.chmod.1; refers to the
+ chmod user command and &man.chmod.2; refers to
+ the system call.
+
+ This is fine if you know the name of the command and simply
+ wish to know how to use it, but what if you cannot recall the
+ command name? You can use man to search for keywords in the
+ command descriptions by using the
+ switch:
+
+ &prompt.user; man -k mail
+
+ With this command you will be presented with a list of
+ commands that have the keyword “mail” in their
+ descriptions. This is actually functionally equivalent to using
+ the apropos command.
+
+ So, you are looking at all those fancy commands in
+ /usr/bin but do not have the faintest idea
+ what most of them actually do? Simply do a
+ &prompt.user; cd /usr/bin; man -f * or
+ &prompt.user; cd /usr/bin; whatis * which
+ does the same thing.
+
+
+
+ GNU Info Files
+
+ FreeBSD includes many applications and utilities produced by
+ the Free Software Foundation (FSF). In addition to man pages,
+ these programs come with more extensive hypertext documents called
+ info files which can be viewed with the
+ info command or, if you installed
+ emacs, the info mode of
+ emacs.
+
+ To use the &man.info.1; command, simply type:
+
+ &prompt.user; info
+
+ For a brief introduction, type h. For a
+ quick command reference, type ?.
+
-
Unix Basics
-
- The Online Manual
-
- The most comprehensive documentation on FreeBSD is in the form of
- man pages. Nearly every program on the system
- comes with a short reference manual explaining the basic operation and
- various arguments. These manuals can be viewed with the
- man command. Use of the man
- command is simple:
-
- &prompt.user; man command
+
+ Synopsis
- command is the name of the command you
- wish to learn about. For example, to learn more about
- ls command type:
-
- &prompt.user; man ls
-
- The online manual is divided up into numbered sections:
-
-
-
- User commands
-
-
-
- System calls and error numbers
-
-
-
- Functions in the C libraries
-
-
-
- Device drivers
-
-
-
- File formats
-
-
-
- Games and other diversions
-
-
-
- Miscellaneous information
-
-
-
- System maintenance and operation commands
-
+ Reritten by Chris Schumway
+ cshumway@cdrom.com, 10 Mar 2000.
-
- Kernel developers
-
-
-
- In some cases, the same topic may appear in more than one section of
- the on-line manual. For example, there is a chmod
- user command and a chmod() system call. In this
- case, you can tell the man command which one you want
- by specifying the section:
-
- &prompt.user; man 1 chmod
-
- This will display the manual page for the user command
- chmod. References to a particular section of the
- on-line manual are traditionally placed in parenthesis in written
- documentation, so &man.chmod.1; refers to the
- chmod user command and &man.chmod.2; refers to the
- system call.
-
- This is fine if you know the name of the command and simply wish to
- know how to use it, but what if you cannot recall the command name? You
- can use man to search for keywords in the command
- descriptions by using the
- switch:
-
- &prompt.user; man -k mail
-
- With this command you will be presented with a list of commands that
- have the keyword “mail” in their descriptions. This is
- actually functionally equivalent to using the apropos
- command.
-
- So, you are looking at all those fancy commands in
- /usr/bin but do not have the faintest idea
- what most of them actually do? Simply do a
-
- &prompt.user; cd /usr/bin; man -f *
-
- or
-
- &prompt.user; cd /usr/bin; whatis *
-
- which does the same thing.
+ The following chapter will cover the basic commands and
+ functionality of the FreeBSD operating system. If you are new to
+ FreeBSD, you will definitely want to read through this chapter before
+ asking for help.
-
-
- GNU Info Files
-
- FreeBSD includes many applications and utilities produced by the
- Free Software Foundation (FSF). In addition to man pages, these
- programs come with more extensive hypertext documents called
- “info” files which can be viewed with the
- info command or, if you installed
- emacs, the info mode of
- emacs.
- To use the &man.info.1; command, simply type:
-
- &prompt.user; info
-
- For a brief introduction, type h. For a
- quick command reference, type ?.
+
+ Permissions
+
+ FreeBSD, having its history rooted in BSD UNIX, has its
+ fundamentals based on several key UNIX concepts. The first, and
+ most pronounced, is that FreeBSD is a multi-user operating system.
+ The system can handle several users all working simultaneously on
+ completely unrelated tasks. The system is responsible for properly
+ sharing and managing requests for hardware devices, preferials,
+ memory, and cpu time evenly to each user.
+
+ Because the system is capable of supporting multiple users,
+ everything the system manages has a set of permissions governing who
+ can read, write, and execute the resource. These permissions are
+ stored as an octet broken into three pieces, one for the owner of
+ the file, one for the group that the file belongs to, and one for
+ everyone else. This numerical representation works like
+ this:
+
+
+
+
+
+ Value
+ Permission
+ Directory Listing
+
+
+
+
+
+ 0
+ No read, no write, no execute
+ ---
+
+
+
+ 1
+ No read, no write, execute
+ --x
+
+
+
+ 2
+ No read, write, no execute
+ -w-
+
+
+
+ 3
+ No read, write, execute
+ -wx
+
+
+
+ 4
+ Read, no write, no execute
+ r--
+
+
+
+ 5
+ Read, no write, execute
+ r-x
+
+
+
+ 6
+ Read, write, no execute
+ rw-
+
+
+
+ 7
+ Read, write, execute
+ rwx
+
+
+
+
+
+ For the long directory listing by ls -l, a
+ column will show a files' permissions for the owner, group, and
+ everyone else. Here's how its broken up:
+
+ -rw-r--r--
+
+ The first character, from left to right, is a special character
+ that tells if this is a regular file, a directory, a special
+ character or block device, a socket, or any other special
+ pseudo-file device. The next three characters, designated as
+ rw- gives the permissions for the owner of the
+ file. The next three characters, r-- gives the
+ permissions for the group that the file belongs to. The final three
+ characters, r--, gives the permissions for the
+ rest of the world. A dash means that the permission is turned off.
+ In the case of this file, the permissions are set so the owner can
+ read and write to the file, the group can read the file, and the
+ rest of the world can only read the file. According to the table
+ above, the permissions for this file would be
+ 644, where each digit represents the three parts
+ of the file's permission.
+
+ This is all well and good files, but how does the system control
+ permissions on devices? FreeBSD actually treats most hardware
+ devices as a file that programs can open, read, and write data to
+ just like any other file. These special device files are stored on
+ the /dev directory.
+
+ Directories are also treated as files. They have read, write,
+ and execute permissions. The executable bit for a directory has a
+ slightly different meaning than that of files. When a directory is
+ marked executable, it means it can be searched into, for example, a
+ directory listing can be done in that directory.
+
+ There are more to permissions, but they are primarily used in
+ special circumstances such as setuid binaries and sticky
+ directories. If you want more information on file permissions and
+ how to set them, be sure to look at the &man.chmod.1; man
+ page.
+
+
+
+ Directory Structures
+
+ Since FreeBSD uses its file systems to determine many
+ fundamental system operations, the hiarchy of the file system is
+ extremely important. Due to the fact that the &man.hier.7; man page
+ provides a complete description of the directory structure, it will
+ not be duplicated here. Please read &man.hier.7; for more
+ information.
+
+ Of significant importance is the root of all directories, the /
+ directory. This directory is the first directory mounted at boot
+ time and it contains the base system necessary at boot time. The
+ root directory also contains mount points for every other file
+ system that you want to mount.
+
+ A mount point is a directory where additional file systems can
+ be grafted onto the root file system. Standard mount points include
+ /usr, /var,
+ /mnt, and /cdrom. These
+ directories are usually referenced to entries in the file
+ /etc/fstab. /etc/fstab is
+ a table of various file systems and mount points for refence by the
+ system. Most of the file systems in /etc/fstab
+ are mounted automatically at boot time from the script &man.rc.8;
+ unless they contain the noauto option. Consult the &man.fstab.5;
+ manual page for more information on the format of the
+ /etc/fstab file and the options it
+ contains.
+
+
+
+ Shells
+
+ In FreeBSD, a lot of everyday work is done in a command line
+ interface called a shell. A shell's main job is to take commands
+ from the input channel and execute them. A lot of shells also have
+ built in functions to help everyday tasks such a file management,
+ file globing, command line editing, command mar-cos, and environment
+ variables. FreeBSD comes with a set of shells, such as sh, the
+ Bourne Shell, and csh, the C-shell. Many other shells are available
+ from the FreeBSD Ports Collection that have much more power, such as
+ tcsh and bash.
+
+ Which shell do you use? Its really a matter of taste. If your
+ a C programmer you might feel more comfortable with a C-like shell
+ such as tcsh. If you've come from Linux or are new to a UNIX
+ command line interface you might try bash. The point is that each
+ shell has unique properties that may or may not work with your
+ preferred working environment, and that you have a choice of what
+ shell to use.
+
+ One common feature in a shell is file-name completion. Given
+ the typing of the first few letters of a command or filename, you
+ can usually have the shell automatically complete the rest of the
+ command or filename by hitting the TAB key on the keyboard. Here is
+ an example. I have two files called foobar and
+ foo.bar. I want to delete
+ foo.bar. So what I would type on the keyboard
+ is: rm fo[TAB].[TAB].
+
+ The shell would print out rm
+ foo[BEEP].bar.
+
+ The [BEEP] is the console bell, which is the shell telling me it
+ was unable to totally complete the filename because there is more
+ than one match. Both foobar and
+ foo.bar start with fo, but
+ it was able to complete to foo. Once I typed in
+ ., then hit TAB again, the shell was able to fill
+ in the rest of the filename for me.
+
+ Another function of the shell is environment variables.
+ Environment variables are a variable key pair stored in the shell's
+ environment space. This space can be read by any program invoked by
+ the shell, and thus contains a lot of program configuration. Here
+ is a list of common environment variables and what they mean:
+
+
+
+
+
+ Variable
+ Description
+
+
+
+
+
+ USER
+ Current logged in user's name.
+
+
+
+ PATH
+ Colon separated list of directories to search for
+ binaries.
+
+
+
+ DISPLAY
+ Network name of the X11 display to connect to, if
+ available.
+
+
+
+ SHELL
+ The current shell.
+
+
+
+ TERM
+ The name of the user's terminal. Used to determine the
+ capabilites of the terminal.
+
+
+
+ TERMCAP
+ Database entry of the terminal escape codes to perform
+ various terminal functions.
+
+
+
+ OSTYPE
+ Type of operating system. E.g., FreeBSD.
+
+
+
+ MACHTYPE
+ The CPU architecture that the system is running
+ on.
+
+
+
+ EDITOR
+ The user's preferred text editor.
+
+
+
+ PAGER
+ The user's preferred text pager.
+
+
+
+ MANPATH
+ Colon separated list of directories to search for
+ manual pages.
+
+
+
+
+
+ To view or set an environment variable differs somewhat from
+ shell to shell. For example, in the C-Style shells such as tcsh
+ and csh, you would use setenv to set and view
+ environment variables. Under Bourne shells such as sh and bash, you
+ would use set and export to
+ view and set your current environment variables. For example, to
+ set or modify the EDITOR environment variable, under
+ csh or tcsh a command like this would set EDITOR to
+ /usr/local/bin/emacs:
+
+ setenv EDITOR /usr/local/bin/emacs
+
+ Under Bourne shells:
+
+ export EDITOR="/usr/local/bin/emacs"
+
+ You can also make most shells expand the environment variable by
+ placing a $ character in front of it on the
+ command line. For example, echo $TERM would
+ print out whatever $TERM is set to, because the shell
+ expands $TERM and passes it on to echo.
+
+ Shells treat a lot of special characters, called meta-characters
+ as special representations of data. The most common one is the
+ * character, which represents any number of
+ characters in a filename. These special meta-characters can be used
+ to do file name globing. For example, typing in
+ echo * is almost the same as typing in
+ ls because the shell takes all the files that
+ match * and puts them on the command line for
+ echo to see.
+
+ To prevent the shell from interpreting these special characters,
+ they can be escaped from the shell by putting a backslash
+ (\) character in front of them. echo
+ $TERM prints whatever your terminal is set to.
+ echo \$TERM prints $TERM as
+ is.
+
+
+
+ Text Editors
+
+ A lot of configuration in FreeBSD is done by editing a text
+ file. Because of this, it would be a good idea to become familiar
+ with a text editor. FreeBSD comes with a few as part of the base
+ system, and many more are available in the ports collection.
+
+ The easiest and simplest editor to learn is an editor called
+ ee, which stands for easy editor. To
+ start ee, one would type at the command
+ line ee filename where
+ filename is the name of the file to be edited.
+ For example, to edit /etc/rc.conf, type in
+ ee /etc/rc.conf. Once inside of ee, all of the
+ commands for manipulating the editor's functions are listed at the
+ top of the display. The caret ^ character means
+ the control key on the keyboard, so ^e expands to pressing the
+ control key plus the letter e. To leave
+ ee, hit the escape key, then choose leave
+ editor. The editor will prompt you to save any changes if the file
+ has been modified.
+
+ FreeBSD also comes with more powerful text editors such as
+ vi as part of the base system, and
+ emacs and vim
+ as part of the FreeBSD ports collection. These editors offer much
+ more functionality and power at the expense of being a little more
+ complicated to learn. However if you plan on doing a lot of text
+ editing, learning a more powerful editor such as
+ vim or emacs
+ will save you much more time in the long run.
+
+
+
+ For more information...
+
+
+ Manual pages
+
+ The most comprehensive documentation on FreeBSD is in the form
+ of man pages. Nearly every program on the system comes with a
+ short reference manual explaining the basic operation and various
+ arguments. These manuals can be viewed with the man command. Use
+ of the man command is simple:
+
+ &prompt.user; man command
+
+ command is the name of the command you
+ wish to learn about. For example, to learn more about
+ ls command type:
+
+ &prompt.user; man ls
+
+ The online manual is divided up into numbered sections:
+
+
+
+ User commands.
+
+
+
+ System calls and error numbers.
+
+
+
+ Functions in the C libraries.
+
+
+
+ Device drivers.
+
+
+
+ File formats.
+
+
+
+ Games and other diversions.
+
+
+
+ Miscellaneous information.
+
+
+
+ System maintenance and operation commands.
+
+
+
+ Kernel developers.
+
+
+
+ In some cases, the same topic may appear in more than one
+ section of the online manual. For example, there is a chmod user
+ command and a chmod() system call. In this
+ case, you can tell the man command which one you want by
+ specifying the section:
+
+ &prompt.user; man 1 chmod
+
+ This will display the manual page for the user command
+ chmod. References to a particular section of
+ the online manual are traditionally placed in parenthesis in
+ written documentation, so &man.chmod.1; refers to the
+ chmod user command and &man.chmod.2; refers to
+ the system call.
+
+ This is fine if you know the name of the command and simply
+ wish to know how to use it, but what if you cannot recall the
+ command name? You can use man to search for keywords in the
+ command descriptions by using the
+ switch:
+
+ &prompt.user; man -k mail
+
+ With this command you will be presented with a list of
+ commands that have the keyword “mail” in their
+ descriptions. This is actually functionally equivalent to using
+ the apropos command.
+
+ So, you are looking at all those fancy commands in
+ /usr/bin but do not have the faintest idea
+ what most of them actually do? Simply do a
+ &prompt.user; cd /usr/bin; man -f * or
+ &prompt.user; cd /usr/bin; whatis * which
+ does the same thing.
+
+
+
+ GNU Info Files
+
+ FreeBSD includes many applications and utilities produced by
+ the Free Software Foundation (FSF). In addition to man pages,
+ these programs come with more extensive hypertext documents called
+ info files which can be viewed with the
+ info command or, if you installed
+ emacs, the info mode of
+ emacs.
+
+ To use the &man.info.1; command, simply type:
+
+ &prompt.user; info
+
+ For a brief introduction, type h. For a
+ quick command reference, type ?.
+
-