HELP(1)

NAME
help - help for new users and administrators

DESCRIPTION
This document is meant to familiarize new users and system administrators with OpenBSD and, if necessary, UNIX in general.

Firstly, a wealth of information is contained within the system manual pages. In UNIX, the man(1) command is used to view them. Type man man for instructions on how to use it properly. Pay especially close attention to the -k option.

Other OpenBSD references include the FAQ (Frequently Asked Questions) located at https://www.openbsd.org/faq/, which is mostly intended for administrators and assumes the reader possesses a working knowledge of UNIX. There are also mailing lists in place where questions are fielded by OpenBSD developers and other users; see https://www.openbsd.org/mail.html.

System administrators should have already read the afterboot(8) man page which explains a variety of tasks that are typically performed after the first system boot. When configuring any aspect of the system, first consider any possible security implications your changes may have.

  The Unix shell
After logging in, some system messages are typically displayed, and then the user is able to enter commands to be processed by the shell program. The shell is a command-line interpreter that reads user input (normally from a terminal) and executes commands. There are many different shells available; OpenBSD ships with csh(1), ksh(1), and sh(1). Each user's shell is indicated by the last field of their corresponding entry in the system password file (/etc/passwd).

  Basic Unix commands

man Interface to the system manual pages. For any of the commands listed below, type man command for detailed information on what it does and how to use it.

pwd Print working directory. Files are organized in a hierarchy (see hier(7)) called a tree. This command will indicate in which directory you are currently located.

cd  Change working directory. Use this command to navigate throughout the file hierarchy. For example, type cd / to change the working directory to the root.

ls  List directory contents. Type ls -l for a detailed listing.

cat Although it has many more uses, cat filename will print the contents of a plain-text file to the screen.

vi  Edit text files. For example, vi filename. See also mg(1).

mkdir
    Make a directory. For example, mkdir dirname.

rmdir
    Remove a directory.

rm  Remove files. Files are generally only removable by their owners. See the chmod(1) command for information on file permissions.

chmod
    Change file modes, including permissions. It is not immediately obvious how to use this command; please read its manual page carefully, as proper file permissions, especially on system files, are vital in maintaining security and integrity.

cp  Copy files.

mv  Move and rename files.

ps  List active processes. Most UNIX-based operating systems, including OpenBSD, are multitasking, meaning many programs share system resources at the same time. A common usage is ps -auxw, which will display information about all active processes.

kill
    Kill processes. Used mostly for terminating run-away/unresponsive programs, but also used to signal programs for requesting certain operations (e.g., re-read their configuration).

date
    Print the current system date and time.

mail
    Access mailbox.

exit
    Log out of the system.

When a command is entered, it is first checked to see if it is built-in to the shell. If not, the shell looks for the command in any directories contained within the PATH environment variable (see environ(7)). If the command is not found, an error message is printed. Otherwise, the shell runs the command, passing it any arguments specified on the command line.

Shell built-in commands do not have their own manual page, so it's necessary to read the manual page for the user's shell. Tools such as which(1) and “whence”, a ksh(1) built-in command, can be used to see what commands are being executed.

SEE ALSO
csh(1), ksh(1), man(1), whatis(1), whereis(1), which(1), afterboot(8)

HISTORY
This manual page was written by Aaron Campbell <aaron@openbsd.org> and first appeared in OpenBSD 2.6.