| .\" Copyright (c) 2002 Andries Brouwer <aeb@cwi.nl> |
| .\" |
| .\" %%%LICENSE_START(VERBATIM) |
| .\" 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. |
| .\" %%%LICENSE_END |
| .\" |
| .TH INTRO 1 2020-08-13 "Linux" "Linux User's Manual" |
| .SH NAME |
| intro \- introduction to user commands |
| .SH DESCRIPTION |
| Section 1 of the manual describes user commands and tools, |
| for example, file manipulation tools, shells, compilers, |
| web browsers, file and image viewers and editors, and so on. |
| .SH NOTES |
| Linux is a flavor 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). |
| .PP |
| 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 open a session by |
| giving your username and password. |
| The program |
| .BR login (1) |
| 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 their own favorite one. |
| The standard one is called |
| .IR sh . |
| See also |
| .BR ash (1), |
| .BR bash (1), |
| .BR chsh (1), |
| .BR csh (1), |
| .BR dash (1), |
| .BR ksh (1), |
| .BR zsh (1). |
| .PP |
| A session might go like: |
| .PP |
| .in +4n |
| .EX |
| .RB "knuth login: " aeb |
| .RB "Password: " ******** |
| .RB "$ " date |
| Tue Aug 6 23:50:44 CEST 2002 |
| .RB "$ " 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 |
| |
| .RB "$ " ls |
| bin tel |
| .RB "$ " "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 |
| .RB "$ " "cat tel" |
| maja 0501\-1136285 |
| peter 0136\-7399214 |
| .RB "$ " "cp tel tel2" |
| .RB "$ " "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 |
| .RB "$ " "mv tel tel1" |
| .RB "$ " "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 |
| .RB "$ " "diff tel1 tel2" |
| .RB "$ " "rm tel1" |
| .RB "$ " "grep maja tel2" |
| maja 0501\-1136285 |
| $ |
| .EE |
| .in |
| .PP |
| Here typing Control-D ended the session. |
| .PP |
| The |
| .B $ |
| here was the command prompt\(emit 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 username, |
| machine name, current directory, time, and so on. |
| An assignment PS1="What next, master? " |
| would change the prompt as indicated. |
| .PP |
| We see that there are commands |
| .I date |
| (that gives date and time), and |
| .I cal |
| (that gives a calendar). |
| .PP |
| The command |
| .I ls |
| lists the contents of the current directory\(emit tells you what |
| files you have. |
| With a |
| .I \-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 . |
| .PP |
| 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" |
| (see |
| .BR stdout (3)), |
| here |
| the terminal screen.) |
| .PP |
| The command |
| .I cp |
| (from "copy") will copy a file. |
| .PP |
| The command |
| .I mv |
| (from "move"), on the other hand, only renames it. |
| .PP |
| The command |
| .I diff |
| lists the differences between two files. |
| Here there was no output because there were no differences. |
| .PP |
| The command |
| .I rm |
| (from "remove") deletes the file, and be careful! it is gone. |
| No wastepaper basket or anything. |
| Deleted means lost. |
| .PP |
| 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 |
| .IR / ) |
| to the file. |
| For example, such a full pathname might be |
| .IR /home/aeb/tel . |
| Always using full pathnames would be inconvenient, and the name |
| of a file in the current directory may be abbreviated by giving |
| only the last component. |
| That is why |
| .I /home/aeb/tel |
| can be abbreviated |
| to |
| .I tel |
| when the current directory is |
| .IR /home/aeb . |
| .PP |
| The command |
| .I pwd |
| prints the current directory. |
| .PP |
| The command |
| .I cd |
| changes the current directory. |
| .PP |
| Try alternatively |
| .I cd |
| and |
| .I pwd |
| commands and explore |
| .I cd |
| usage: "cd", "cd .", "cd ..", "cd /", and "cd \(ti". |
| .SS Directories |
| The command |
| .I mkdir |
| makes a new directory. |
| .PP |
| The command |
| .I rmdir |
| removes a directory if it is empty, and complains otherwise. |
| .PP |
| 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 |
| .I tel |
| starting in the present directory (which is called |
| .IR . ). |
| 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. |
| .PP |
| 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. |
| .PP |
| A lot of GNU/FSF software is provided with info files. |
| Type "info info" |
| for an introduction on the use of the program |
| .IR info . |
| .PP |
| 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 ash (1), |
| .BR bash (1), |
| .BR chsh (1), |
| .BR csh (1), |
| .BR dash (1), |
| .BR ksh (1), |
| .BR locate (1), |
| .BR login (1), |
| .BR man (1), |
| .BR xterm (1), |
| .BR zsh (1), |
| .BR wait (2), |
| .BR stdout (3), |
| .BR man\-pages (7), |
| .BR standards (7) |