mirror of https://github.com/mkerrisk/man-pages
261 lines
8.0 KiB
Groff
261 lines
8.0 KiB
Groff
.\" Copyright (c) 2002 Andries Brouwer <aeb@cwi.nl>
|
|
.\"
|
|
.\" Permission is granted to make and distribute verbatim copies of this
|
|
.\" manual provided the copyright notice and this permission notice are
|
|
.\" preserved on all copies.
|
|
.\"
|
|
.\" Permission is granted to copy and distribute modified versions of this
|
|
.\" manual under the conditions for verbatim copying, provided that the
|
|
.\" entire resulting derived work is distributed under the terms of a
|
|
.\" permission notice identical to this one.
|
|
.\"
|
|
.\" Since the Linux kernel and libraries are constantly changing, this
|
|
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
.\" responsibility for errors or omissions, or for damages resulting from
|
|
.\" the use of the information contained herein. The author(s) may not
|
|
.\" have taken the same level of care in the production of this manual,
|
|
.\" which is licensed free of charge, as they might when working
|
|
.\" professionally.
|
|
.\"
|
|
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
.\" the source, must acknowledge the copyright and authors of this work.
|
|
.\"
|
|
.TH INTRO 1 2002-08-06 "Linux" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
intro \- Introduction to user commands
|
|
.SH DESCRIPTION
|
|
Linux is a flavour of Unix, and as a first approximation
|
|
all user commands under Unix work precisely the same under
|
|
Linux (and FreeBSD and lots of other Unix-like systems).
|
|
.LP
|
|
Under Linux there are GUIs (graphical user interfaces), where you
|
|
can point and click and drag, and hopefully get work done without
|
|
first reading lots of documentation. The traditional Unix environment
|
|
is a CLI (command line interface), where you type commands to
|
|
tell the computer what to do. That is faster and more powerful,
|
|
but requires finding out what the commands are.
|
|
Below a bare minimum, to get started.
|
|
.SS "Login"
|
|
In order to start working, you probably first have to login,
|
|
that is, give your username and password. See also
|
|
.BR login (1).
|
|
The program
|
|
.I login
|
|
now starts a
|
|
.I shell
|
|
(command interpreter) for you.
|
|
In case of a graphical login, you get a screen with menus or icons
|
|
and a mouse click will start a shell in a window. See also
|
|
.BR xterm (1).
|
|
.SS "The shell"
|
|
One types commands to the
|
|
.IR shell ,
|
|
the command interpreter. It is not built-in, but is just a program
|
|
and you can change your shell. Everybody has her own favourite one.
|
|
The standard one is called
|
|
.IR sh .
|
|
See also
|
|
.BR ash (1),
|
|
.BR bash (1),
|
|
.BR csh (1),
|
|
.BR zsh (1),
|
|
.BR chsh (1).
|
|
.LP
|
|
A session might go like
|
|
|
|
.RS
|
|
.nf
|
|
.BI "knuth login: " aeb
|
|
.BI "Password: " ********
|
|
.BI "% " date
|
|
Tue Aug 6 23:50:44 CEST 2002
|
|
.BI "% " cal
|
|
August 2002
|
|
Su Mo Tu We Th Fr Sa
|
|
1 2 3
|
|
4 5 6 7 8 9 10
|
|
11 12 13 14 15 16 17
|
|
18 19 20 21 22 23 24
|
|
25 26 27 28 29 30 31
|
|
|
|
.BI "% " ls
|
|
bin tel
|
|
.BI "% " "ls \-l"
|
|
total 2
|
|
drwxrwxr-x 2 aeb 1024 Aug 6 23:51 bin
|
|
-rw-rw-r-- 1 aeb 37 Aug 6 23:52 tel
|
|
.BI "% " "cat tel"
|
|
maja 0501-1136285
|
|
peter 0136-7399214
|
|
.BI "% " "cp tel tel2"
|
|
.BI "% " "ls \-l"
|
|
total 3
|
|
drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin
|
|
-rw-r--r-- 1 aeb 37 Aug 6 23:52 tel
|
|
-rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2
|
|
.BI "% " "mv tel tel1"
|
|
.BI "% " "ls \-l"
|
|
total 3
|
|
drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin
|
|
-rw-r--r-- 1 aeb 37 Aug 6 23:52 tel1
|
|
-rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2
|
|
.BI "% " "diff tel1 tel2"
|
|
.BI "% " "rm tel1"
|
|
.BI "% " "grep maja tel2"
|
|
maja 0501-1136285
|
|
.BI "% "
|
|
.fi
|
|
.RE
|
|
and here typing Control-D ended the session.
|
|
The
|
|
.B "% "
|
|
here was the command prompt \(em it is the shell's way of indicating
|
|
that it is ready for the next command. The prompt can be customized
|
|
in lots of ways, and one might include stuff like user name,
|
|
machine name, current directory, time, etc.
|
|
An assignment PS1="What next, master? "
|
|
would change the prompt as indicated.
|
|
.LP
|
|
We see that there are commands
|
|
.I date
|
|
(that gives date and time), and
|
|
.I cal
|
|
(that gives a calendar).
|
|
.LP
|
|
The command
|
|
.I ls
|
|
lists the contents of the current directory \(em it tells you what
|
|
files you have. With a \-l option it gives a long listing,
|
|
that includes the owner and size and date of the file, and the
|
|
permissions people have for reading and/or changing the file.
|
|
For example, the file "tel" here is 37 bytes long, owned by aeb
|
|
and the owner can read and write it, others can only read it.
|
|
Owner and permissions can be changed by the commands
|
|
.I chown
|
|
and
|
|
.IR chmod .
|
|
.LP
|
|
The command
|
|
.I cat
|
|
will show the contents of a file.
|
|
(The name is from "concatenate and print": all files given as
|
|
parameters are concatenated and sent to "standard output", here
|
|
the terminal screen.)
|
|
.LP
|
|
The command
|
|
.I cp
|
|
(from "copy") will copy a file.
|
|
On the other hand, the command
|
|
.I mv
|
|
(from "move") only renames it.
|
|
.LP
|
|
The command
|
|
.I diff
|
|
lists the differences between two files.
|
|
Here there was no output because there were no differences.
|
|
.LP
|
|
The command
|
|
.I rm
|
|
(from "remove") deletes the file, and be careful! it is gone.
|
|
No wastepaper basket or anything. Deleted means lost.
|
|
.LP
|
|
The command
|
|
.I grep
|
|
(from "g/re/p") finds occurrences of a string in one or more files.
|
|
Here it finds Maja's telephone number.
|
|
.SS "Pathnames and the current directory"
|
|
Files live in a large tree, the file hierarchy.
|
|
Each has a
|
|
.I "pathname"
|
|
describing the path from the root of the tree (which is called /)
|
|
to the file. For example, such a full pathname might be /home/aeb/tel.
|
|
Always using full pathnames would be inconvenient, and the name
|
|
of a file in the current directory may be abbreviated by only giving
|
|
the last component. That is why "/home/aeb/tel" can be abbreviated
|
|
to "tel" when the current directory is "/home/aeb".
|
|
.LP
|
|
The command
|
|
.I pwd
|
|
prints the current directory.
|
|
.LP
|
|
The command
|
|
.I cd
|
|
changes the current directory.
|
|
Try "cd /" and "pwd" and "cd" and "pwd".
|
|
.SS "Directories"
|
|
The command
|
|
.I mkdir
|
|
makes a new directory.
|
|
.LP
|
|
The command
|
|
.I rmdir
|
|
removes a directory if it is empty, and complains otherwise.
|
|
.LP
|
|
The command
|
|
.I find
|
|
(with a rather baroque syntax) will find files with given name
|
|
or other properties. For example, "find . \-name tel" would find
|
|
the file "tel" starting in the present directory (which is called ".").
|
|
And "find / \-name tel" would do the same, but starting at the root
|
|
of the tree. Large searches on a multi-GB disk will be time-consuming,
|
|
and it may be better to use
|
|
.BR locate (1).
|
|
.SS "Disks and Filesystems"
|
|
The command
|
|
.I mount
|
|
will attach the filesystem found on some disk (or floppy, or CDROM or so)
|
|
to the big filesystem hierarchy. And
|
|
.I umount
|
|
detaches it again.
|
|
The command
|
|
.I df
|
|
will tell you how much of your disk is still free.
|
|
.SS "Processes"
|
|
On a Unix system many user and system processes run simultaneously.
|
|
The one you are talking to runs in the
|
|
.IR foreground ,
|
|
the others in the
|
|
.IR background .
|
|
The command
|
|
.I ps
|
|
will show you which processes are active and what numbers these
|
|
processes have.
|
|
The command
|
|
.I kill
|
|
allows you to get rid of them. Without option this is a friendly
|
|
request: please go away. And "kill \-9" followed by the number
|
|
of the process is an immediate kill.
|
|
Foreground processes can often be killed by typing Control-C.
|
|
.SS "Getting information"
|
|
There are thousands of commands, each with many options.
|
|
Traditionally commands are documented on
|
|
.IR "man pages" ,
|
|
(like this one), so that the command "man kill" will document
|
|
the use of the command "kill" (and "man man" document the command "man").
|
|
The program
|
|
.I man
|
|
sends the text through some
|
|
.IR pager ,
|
|
usually
|
|
.IR less .
|
|
Hit the space bar to get the next page, hit q to quit.
|
|
.LP
|
|
In documentation it is customary to refer to man pages
|
|
by giving the name and section number, as in
|
|
.BR man (1).
|
|
Man pages are terse, and allow you to find quickly some forgotten
|
|
detail. For newcomers an introductory text with more examples
|
|
and explanations is useful.
|
|
.LP
|
|
A lot of GNU/FSF software is provided with info files. Type "info info"
|
|
for an introduction on the use of the program "info".
|
|
.LP
|
|
Special topics are often treated in HOWTOs. Look in
|
|
.I /usr/share/doc/howto/en
|
|
and use a browser if you find HTML files there.
|
|
.\"
|
|
.\" Actual examples? Separate section for each of cat, cp, ...?
|
|
.\" gzip, bzip2, tar, rpm
|
|
.SH "SEE ALSO"
|
|
.BR standards (7)
|