Commit | Line | Data |
---|---|---|
522e24e0 KD |
1 | .\" Copyright (c) 1980 Regents of the University of California. |
2 | .\" All rights reserved. The Berkeley software License Agreement | |
3 | .\" specifies the terms and conditions for redistribution. | |
4 | .\" | |
cab013e2 | 5 | .\" @(#)csh.g 6.1 (Berkeley) %G% |
522e24e0 | 6 | .\" |
cab013e2 | 7 | |
522e24e0 KD |
8 | .SH |
9 | Glossary | |
10 | .PP | |
11 | This glossary lists the most important terms introduced in the | |
12 | introduction to the | |
13 | shell and gives references to sections of the shell | |
14 | document for further information about them. | |
15 | References of the form | |
16 | `pr (1)' | |
17 | indicate that the command | |
18 | .I pr | |
cab013e2 KD |
19 | is in the \s-2UNIX\s0 User Reference manual in section 1. |
20 | You can look at an online copy of its manual page by doing | |
522e24e0 KD |
21 | .DS |
22 | man 1 pr | |
23 | .DE | |
24 | References of the form (2.5) | |
25 | indicate that more information can be found in section 2.5 of this | |
26 | manual. | |
27 | .IP \&\fB.\fR 15n | |
28 | Your current directory has the name `.' as well as the name printed | |
29 | by the command | |
30 | .I pwd; | |
31 | see also | |
32 | .I dirs. | |
33 | The current directory `.' is usually the first | |
34 | .I component | |
35 | of the search path contained in the variable | |
36 | .I path , | |
37 | thus commands which are in `.' are found first (2.2). | |
38 | The character `.' is also used in separating | |
39 | .I components | |
40 | of filenames | |
41 | (1.6). | |
42 | The character `.' at the beginning of a | |
43 | .I component | |
44 | of a | |
45 | .I pathname | |
46 | is treated specially and not matched by the | |
47 | .I "filename expansion" | |
48 | metacharacters `?', `*', and `[' `]' pairs (1.6). | |
49 | .IP \&\fB..\fR | |
50 | Each directory has a file `..' in it which is a reference to its | |
51 | parent directory. | |
52 | After changing into the directory with | |
53 | .I chdir , | |
54 | i.e. | |
55 | .DS | |
56 | chdir paper | |
57 | .DE | |
58 | you can return to the parent directory by doing | |
59 | .DS | |
60 | chdir .. | |
61 | .DE | |
62 | The current directory is printed by | |
63 | .I pwd | |
64 | (2.7). | |
65 | .IP a.out | |
66 | Compilers which create executable images create them, by default, in the | |
67 | file | |
68 | .I a.out. | |
69 | for historical reasons (2.3). | |
70 | .IP "absolute pathname" | |
71 | .br | |
72 | A | |
73 | .I pathname | |
74 | which begins with a `/' is | |
75 | .I absolute | |
76 | since it specifies the | |
77 | .I path | |
78 | of directories from the beginning | |
79 | of the entire directory system \- called the | |
80 | .I root | |
81 | directory. | |
82 | .I Pathname s | |
83 | which are not | |
84 | .I absolute | |
85 | are called | |
86 | .I relative | |
87 | (see definition of | |
88 | .I "relative pathname" ) | |
89 | (1.6). | |
90 | .IP alias | |
91 | An | |
92 | .I alias | |
93 | specifies a shorter or different name for a \s-2UNIX\s0 | |
94 | command, or a transformation on a command to be performed in | |
95 | the shell. | |
96 | The shell has a command | |
97 | .I alias | |
98 | which establishes | |
99 | .I aliases | |
100 | and can print their current values. | |
101 | The command | |
102 | .I unalias | |
103 | is used to remove | |
104 | .I aliases | |
105 | (2.4). | |
106 | .IP argument | |
107 | Commands in \s-2UNIX\s0 receive a list of | |
108 | .I argument | |
109 | words. | |
110 | Thus the command | |
111 | .DS | |
112 | echo a b c | |
113 | .DE | |
114 | consists of the | |
115 | .I "command name" | |
116 | `echo' and three | |
117 | .I argument | |
118 | words `a', `b' and `c'. | |
119 | The set of | |
120 | .I arguments | |
121 | after the | |
122 | .I "command name" | |
123 | is said to be the | |
124 | .I "argument list" | |
125 | of the command (1.1). | |
126 | .IP argv | |
127 | The list of arguments to a command written in the shell language | |
128 | (a shell script or shell procedure) is stored in a variable called | |
129 | .I argv | |
130 | within the shell. | |
131 | This name is taken from the conventional name in the | |
132 | C programming language (3.4). | |
133 | .IP background | |
134 | Commands started without waiting for them to complete are called | |
135 | .I background | |
136 | commands (2.6). | |
137 | .IP base | |
138 | A filename is sometimes thought of as consisting of a | |
139 | .I base | |
140 | part, before any `.' character, and an | |
141 | .I extension | |
142 | \- the part after | |
143 | the `.'. See | |
144 | .I filename | |
145 | and | |
146 | .I extension | |
cab013e2 | 147 | (1.6) and basename (1). |
522e24e0 KD |
148 | .IP bg |
149 | The | |
150 | .I bg | |
151 | command causes a | |
152 | .I suspended | |
153 | job to continue execution in the | |
154 | .I background | |
155 | (2.6). | |
156 | .IP bin | |
157 | A directory containing binaries of programs and shell scripts to be | |
158 | executed is typically called a | |
159 | .I bin | |
160 | directory. | |
161 | The standard system | |
162 | .I bin | |
163 | directories are `/bin' containing the most | |
164 | heavily used commands and `/usr/bin' which contains most other user | |
165 | programs. | |
166 | Programs developed at UC Berkeley live in `/usr/ucb', while locally | |
167 | written programs live in `/usr/local'. Games are kept in the directory | |
168 | `/usr/games'. | |
169 | You can place binaries in any directory. | |
170 | If you wish to execute them often, the name of the directories | |
171 | should be a | |
172 | .I component | |
173 | of the variable | |
174 | .I path . | |
175 | .IP break | |
176 | .I Break | |
177 | is a builtin command used to exit from loops within the control | |
178 | structure of the shell (3.7). | |
179 | .IP breaksw | |
180 | The | |
181 | .I breaksw | |
182 | builtin command is used to exit from a | |
183 | .I switch | |
184 | control structure, like a | |
185 | .I break | |
186 | exits from loops (3.7). | |
187 | .IP builtin | |
188 | A command executed directly by the shell is called a | |
189 | .I builtin | |
190 | command. | |
191 | Most commands in \s-2UNIX\s0 are not built into the shell, | |
192 | but rather exist as files in | |
193 | .I bin | |
194 | directories. | |
195 | These commands are accessible because the directories in which | |
196 | they reside are named in the | |
197 | .I path | |
198 | variable. | |
199 | .IP case | |
200 | A | |
201 | .I case | |
202 | command is used as a label in a | |
203 | .I switch | |
204 | statement in the shell's control structure, similar to that of the | |
205 | language C. | |
cab013e2 | 206 | Details are given in the shell documentation `csh (1)' (3.7). |
522e24e0 KD |
207 | .IP cat |
208 | The | |
209 | .I cat | |
210 | program catenates a list of specified files on the | |
211 | .I "standard output" . | |
212 | It is usually used to look at the contents of a single file on the terminal, | |
213 | to `cat a file' (1.8, 2.3). | |
214 | .IP cd | |
215 | The | |
216 | .I cd | |
217 | command is used to change the | |
218 | .I "working directory" . | |
219 | With no arguments, | |
220 | .I cd | |
221 | changes your | |
222 | .I "working directory" | |
223 | to be your | |
224 | .I home | |
225 | directory (2.4, 2.7). | |
226 | .IP chdir | |
227 | The | |
228 | .I chdir | |
229 | command is a synonym for | |
230 | .I cd . | |
231 | .I Cd | |
232 | is usually used because it is easier to type. | |
233 | .IP chsh | |
234 | The | |
235 | .I chsh | |
236 | command is used to change the shell which you use on \s-2UNIX\s0. | |
237 | By default, you use an different version of the shell | |
238 | which resides in `/bin/sh'. | |
239 | You can change your shell to `/bin/csh' by doing | |
240 | .DS | |
241 | chsh your-login-name /bin/csh | |
242 | .DE | |
243 | Thus I would do | |
244 | .DS | |
245 | chsh bill /bin/csh | |
246 | .DE | |
247 | It is only necessary to do this once. | |
248 | The next time you log in to \s-2UNIX\s0 after doing this command, | |
249 | you will be using | |
250 | .I csh | |
251 | rather than the shell in `/bin/sh' (1.9). | |
252 | .IP cmp | |
253 | .I Cmp | |
254 | is a program which compares files. | |
255 | It is usually used on binary files, or to see if two files are identical (3.6). | |
256 | For comparing text files the program | |
257 | .I diff , | |
258 | described in `diff (1)' is used. | |
259 | .IP command | |
260 | A function performed by the system, either by the shell | |
261 | (a builtin | |
262 | .I command ) | |
263 | or by a program residing in a file in | |
264 | a directory within the \s-2UNIX\s0 system, is called a | |
265 | .I command | |
266 | (1.1). | |
267 | .IP "command name" | |
268 | .br | |
269 | When a command is issued, it consists of a | |
270 | .I "command name" , | |
271 | which is the first word of the command, | |
272 | followed by arguments. | |
273 | The convention on \s-2UNIX\s0 is that the first word of a | |
274 | command names the function to be performed (1.1). | |
275 | .IP "command substitution" | |
276 | .br | |
277 | The replacement of a command enclosed in `\`' characters | |
278 | by the text output by that command | |
279 | is called | |
280 | .I "command substitution" | |
281 | (4.3). | |
282 | .IP component | |
283 | A part of a | |
284 | .I pathname | |
285 | between `/' characters is called a | |
286 | .I component | |
287 | of that | |
288 | .I pathname . | |
289 | A variable | |
290 | which has multiple strings as value is said to have | |
291 | several | |
292 | .I component s; | |
293 | each string is a | |
294 | .I component | |
295 | of the variable. | |
296 | .IP continue | |
297 | A builtin command which causes execution of the enclosing | |
298 | .I foreach | |
299 | or | |
300 | .I while | |
301 | loop to cycle prematurely. | |
302 | Similar to the | |
303 | .I continue | |
304 | command in the programming language C (3.6). | |
305 | .IP control- | |
306 | Certain special characters, called | |
307 | .I control | |
308 | characters, are produced by holding down the \s-2CONTROL\s0 key | |
309 | on your terminal and simultaneously pressing another character, much like | |
310 | the \s-2SHIFT\s0 key is used to produce upper case characters. Thus | |
311 | .I control- c | |
312 | is produced by holding down the \s-2CONTROL\s0 key while pressing the | |
cab013e2 | 313 | `c' key. Usually \s-2UNIX\s0 prints an caret (^) followed by the |
522e24e0 KD |
314 | corresponding letter when you type a |
315 | .I control | |
cab013e2 | 316 | character (e.g. `^C' for |
522e24e0 KD |
317 | .I control- c |
318 | (1.8). | |
319 | .IP "core\ dump" | |
320 | When a program terminates abnormally, the system places an image | |
321 | of its current state in a file named `core'. | |
322 | This | |
323 | .I "core dump" | |
cab013e2 KD |
324 | can be examined with the system debugger `adb (1)' |
325 | or `sdb (1)' in order to determine what went wrong with the program (1.8). | |
522e24e0 KD |
326 | If the shell produces a message of the form |
327 | .DS | |
328 | Illegal instruction (core dumped) | |
329 | .DE | |
330 | (where `Illegal instruction' is only one of several possible | |
331 | messages), you should report this to the author of the program | |
332 | or a system administrator, | |
333 | saving the `core' file. | |
334 | .IP cp | |
335 | The | |
336 | .I cp | |
337 | (copy) program is used to copy the contents of one file into another | |
338 | file. | |
339 | It is one of the most commonly used \s-2UNIX\s0 commands (1.6). | |
340 | .IP csh | |
341 | The name of the shell | |
342 | program that this document describes. | |
343 | .IP \&.cshrc | |
344 | The file | |
345 | .I \&.cshrc | |
346 | in your | |
347 | .I home | |
348 | directory is read by each shell as it begins execution. | |
349 | It is usually used to change the setting of the variable | |
350 | .I path | |
351 | and to set | |
352 | .I alias | |
353 | parameters which are to take effect globally (2.1). | |
354 | .IP cwd | |
355 | The | |
356 | .I cwd | |
357 | variable in the shell holds the | |
358 | .I "absolute pathname" | |
359 | of the current | |
360 | .I "working directory" \&. | |
361 | It is changed by the shell whenever your current | |
362 | .I "working directory" | |
363 | changes and should not be changed otherwise (2.2). | |
364 | .IP date | |
365 | The | |
366 | .I date | |
367 | command prints the current date and time (1.3). | |
368 | .IP debugging | |
369 | .I Debugging | |
370 | is the process of correcting mistakes in programs and shell scripts. | |
371 | The shell has several options and variables which may be used | |
372 | to aid in shell | |
373 | .I debugging | |
374 | (4.4). | |
375 | .IP default: | |
376 | The label | |
377 | .I default: | |
378 | is used within shell | |
379 | .I switch | |
380 | statements, as it is in the C language | |
381 | to label the code to be executed if none of the | |
382 | .I case | |
383 | labels matches the value switched on (3.7). | |
384 | .IP \s-2DELETE\s0 | |
385 | The | |
386 | \s-2DELETE\s0 | |
387 | or | |
388 | \s-2RUBOUT\s0 | |
389 | key on the terminal normally causes an interrupt to be sent to the current job. | |
cab013e2 | 390 | Many users change the interrupt character to be ^C. |
522e24e0 KD |
391 | .IP detached |
392 | A command that continues running in the | |
393 | .I background | |
394 | after you logout is said to be | |
395 | .I detached . | |
396 | .IP diagnostic | |
397 | An error message produced by a program is often referred to as a | |
398 | .I diagnostic . | |
399 | Most error messages are not written to the | |
400 | .I "standard output" , | |
401 | since that is often directed away from the terminal (1.3, 1.5). | |
402 | Error messsages are instead written to the | |
403 | .I "diagnostic output" | |
404 | which may be directed away from the terminal, but usually is not. | |
405 | Thus | |
406 | .I diagnostics | |
407 | will usually appear on the terminal (2.5). | |
408 | .IP directory | |
409 | A structure which contains files. | |
410 | At any time you are in one particular | |
411 | .I directory | |
412 | whose names can be printed by the command | |
413 | .I pwd . | |
414 | The | |
415 | .I chdir | |
416 | command will change you to another | |
417 | .I directory , | |
418 | and make the files | |
419 | in that | |
420 | .I directory | |
421 | visible. The | |
422 | .I directory | |
423 | in which you are when you first login is your | |
424 | .I home | |
425 | directory (1.1, 2.7). | |
426 | .IP "directory\ stack" | |
427 | The shell saves the names of previous | |
428 | .I "working directories" | |
429 | in the | |
430 | .I "directory stack" | |
431 | when you change your current | |
432 | .I "working directory" | |
433 | via the | |
434 | .I pushd | |
435 | command. The | |
436 | .I "directory stack" | |
437 | can be printed by using the | |
438 | .I dirs | |
439 | command, which includes your current | |
440 | .I "working directory" | |
441 | as the first directory name on the left (2.7). | |
442 | .IP dirs | |
443 | The | |
444 | .I dirs | |
445 | command prints the shell's | |
446 | .I "directory stack" | |
447 | (2.7). | |
448 | .IP du | |
449 | The | |
450 | .I du | |
cab013e2 | 451 | command is a program (described in `du (1)') which |
522e24e0 KD |
452 | prints the number of disk blocks is all directories below |
453 | and including your current | |
454 | .I "working directory" | |
455 | (2.6). | |
456 | .IP echo | |
457 | The | |
458 | .I echo | |
459 | command prints its arguments (1.6, 3.6). | |
460 | .IP else | |
461 | The | |
462 | .I else | |
463 | command is part of the `if-then-else-endif' control | |
464 | command construct (3.6). | |
465 | .IP endif | |
466 | If an | |
467 | .I if | |
468 | statement is ended with the word | |
469 | .I then , | |
470 | all lines following the | |
471 | .I if | |
472 | up to a line starting with the word | |
473 | .I endif | |
474 | or | |
475 | .I else | |
476 | are executed if the condition between parentheses after the | |
477 | .I if | |
478 | is true (3.6). | |
479 | .IP \s-2EOF\s0 | |
480 | An | |
481 | .I "end\f1-\fPof\f1-\fPfile" | |
482 | is generated by the terminal by a control-d, | |
483 | and whenever a command reads to the end of a file which | |
484 | it has been given as input. | |
485 | Commands receiving input from a | |
486 | .I pipe | |
487 | receive an | |
488 | .I "end\f1-\fPof\f1-\fPfile" | |
489 | when the command sending them input completes. | |
490 | Most commands terminate when they receive an | |
491 | .I "end\f1-\fPof\f1-\fPfile" . | |
492 | The shell has an option to ignore | |
493 | .I "end\f1-\fPof\f1-\fPfile" | |
494 | from a terminal | |
495 | input which may help you keep from logging out accidentally | |
496 | by typing too many control-d's (1.1, 1.8, 3.8). | |
497 | .IP escape | |
498 | A character `\e' used to prevent the special meaning of a metacharacter | |
499 | is said to | |
500 | .I escape | |
501 | the character from its special meaning. | |
502 | Thus | |
503 | .DS | |
504 | echo \e* | |
505 | .DE | |
506 | will echo the character `*' while just | |
507 | .DS | |
508 | echo * | |
509 | .DE | |
510 | will echo the names of the file in the current directory. | |
511 | In this example, \e | |
512 | .I escape s | |
513 | `*' (1.7). | |
514 | There is also a non-printing character called | |
515 | .I escape , | |
516 | usually labelled | |
517 | \s-2ESC\s0 | |
518 | or | |
519 | \s-2ALTMODE\s0 | |
520 | on terminal keyboards. | |
521 | Some older \s-2UNIX\s0 systems use this character to indicate that | |
522 | output is to be | |
523 | .I suspended . | |
524 | Most systems use control-s to stop the output and control-q to start it. | |
525 | .IP /etc/passwd | |
526 | This file contains information about the accounts currently on the | |
527 | system. | |
528 | It consists of a line for each account with fields separated by | |
529 | `:' characters (1.8). | |
530 | You can look at this file by saying | |
531 | .DS | |
532 | cat /etc/passwd | |
533 | .DE | |
534 | The commands | |
535 | .I finger | |
536 | and | |
537 | .I grep | |
538 | are often used to search for information in this file. | |
cab013e2 | 539 | See `finger (1)', `passwd(5)', and `grep (1)' for more details. |
522e24e0 KD |
540 | .IP exit |
541 | The | |
542 | .I exit | |
543 | command is used to force termination of a shell script, | |
544 | and is built into the shell (3.9). | |
545 | .IP "exit\ status" | |
546 | A command which discovers a problem may reflect this back to the command | |
547 | (such as a shell) which invoked (executed) it. | |
548 | It does this by returning a non-zero number as its | |
549 | .I "exit status" , | |
550 | a status of zero being considered | |
551 | `normal termination'. | |
552 | The | |
553 | .I exit | |
554 | command can be used to force a shell command script to give a non-zero | |
555 | .I "exit status" | |
556 | (3.6). | |
557 | .IP expansion | |
558 | The replacement of strings in the shell input which contain metacharacters | |
559 | by other strings is referred to as the process of | |
560 | .I expansion . | |
561 | Thus the replacement of the word `*' by a sorted list of files | |
562 | in the current directory is a `filename expansion'. | |
563 | Similarly the replacement of the characters `!!' by the text of | |
564 | the last command is a `history expansion'. | |
565 | .I Expansions | |
566 | are also referred to as | |
567 | .I substitutions | |
568 | (1.6, 3.4, 4.2). | |
569 | .IP expressions | |
570 | .I Expressions | |
571 | are used in the shell | |
572 | to control the conditional structures used in the writing of shell | |
573 | scripts and in calculating values for these scripts. | |
574 | The operators available in shell | |
575 | .I expressions | |
576 | are those of the language | |
577 | C (3.5). | |
578 | .IP extension | |
579 | Filenames often consist of a | |
580 | .I base | |
581 | name and an | |
582 | .I extension | |
583 | separated by the character `.'. | |
584 | By convention, groups of related files often share the same | |
585 | .I root | |
586 | name. | |
587 | Thus if `prog.c' were a C program, then the object file for this | |
588 | program would be stored in `prog.o'. | |
589 | Similarly a paper written with the | |
590 | `\-me' | |
591 | nroff macro package might be stored in | |
592 | `paper.me' | |
593 | while a formatted version of this paper might be kept in | |
594 | `paper.out' and a list of spelling errors in | |
595 | `paper.errs' (1.6). | |
596 | .IP fg | |
597 | The | |
598 | .I "job control" | |
599 | command | |
600 | .I fg | |
601 | is used to run a | |
602 | .I background | |
603 | or | |
604 | .I suspended | |
605 | job in the | |
606 | .I foreground | |
607 | (1.8, 2.6). | |
608 | .IP filename | |
609 | Each file in \s-2UNIX\s0 has a name consisting of up to 14 characters | |
610 | and not including the character `/' which is used in | |
611 | .I pathname | |
612 | building. Most | |
613 | .I filenames | |
614 | do not begin with the character `.', and contain | |
615 | only letters and digits with perhaps a `.' separating the | |
616 | .I base | |
617 | portion of the | |
618 | .I filename | |
619 | from an | |
620 | .I extension | |
621 | (1.6). | |
622 | .IP "filename expansion" | |
623 | .br | |
624 | .I "Filename expansion" | |
625 | uses the metacharacters `*', `?' and `[' and `]' | |
626 | to provide a convenient mechanism for naming files. | |
627 | Using | |
628 | .I "filename expansion" | |
629 | it is easy to name all the files in | |
630 | the current directory, or all files which have a common | |
631 | .I root | |
632 | name. Other | |
633 | .I "filename expansion" | |
634 | mechanisms use the metacharacter `~' and allow | |
635 | files in other users' directories to be named easily (1.6, 4.2). | |
636 | .IP flag | |
637 | Many \s-2UNIX\s0 commands accept arguments which are not the names | |
638 | of files or other users but are used to modify the action of the commands. | |
639 | These are referred to as | |
640 | .I flag | |
641 | options, and by convention consist of one or more letters preceded by | |
642 | the character `\-' (1.2). | |
643 | Thus the | |
644 | .I ls | |
645 | (list files) command has an option | |
646 | `\-s' to list the sizes of files. | |
647 | This is specified | |
648 | .DS | |
649 | ls \-s | |
650 | .DE | |
651 | .IP foreach | |
652 | The | |
653 | .I foreach | |
654 | command is used in shell scripts and at the terminal to specify | |
655 | repetition of a sequence of commands while the value of a certain | |
656 | shell variable ranges through a specified list (3.6, 4.1). | |
657 | .IP foreground | |
658 | When commands are executing in the normal way such that the | |
659 | shell is waiting for them to finish before prompting for another | |
660 | command they are said to be | |
661 | .I "foreground jobs" | |
662 | or | |
663 | .I "running in the foreground" \&. | |
664 | This is as opposed to | |
665 | .I background . | |
666 | .I Foreground | |
667 | jobs can be stopped by signals | |
668 | from the terminal caused by typing different | |
669 | control characters at the keyboard (1.8, 2.6). | |
670 | .IP goto | |
671 | The shell has a command | |
672 | .I goto | |
673 | used in shell scripts to transfer control to a given label (3.7). | |
674 | .IP grep | |
675 | The | |
676 | .I grep | |
677 | command searches through a list of argument files for a specified string. | |
678 | Thus | |
679 | .DS | |
680 | grep bill /etc/passwd | |
681 | .DE | |
682 | will print each line in the file | |
683 | .I "/etc/passwd" | |
684 | which contains the string `bill'. | |
685 | Actually, | |
686 | .I grep | |
687 | scans for | |
688 | .I "regular expressions" | |
689 | in the sense of the editors | |
cab013e2 | 690 | `ed (1)' and `ex (1)'. |
522e24e0 KD |
691 | .I Grep |
692 | stands for | |
693 | `globally find | |
694 | .I "regular expression" | |
695 | and print' (2.4). | |
696 | .IP head | |
697 | The | |
698 | .I head | |
699 | command prints the first few lines of one or more files. | |
700 | If you have a bunch of files containing text which you are wondering | |
701 | about it is sometimes useful to run | |
702 | .I head | |
703 | with these files as arguments. | |
704 | This will usually show enough of what is in these files to let you decide | |
705 | which you are interested in (1.5). | |
706 | .br | |
707 | .I Head | |
708 | is also used to describe the part of a | |
709 | .I pathname | |
710 | before and including the last `/' character. The | |
711 | .I tail | |
712 | of a | |
713 | .I pathname | |
714 | is the part after the last `/'. The `:h' and `:t' modifiers allow the | |
715 | .I head | |
716 | or | |
717 | .I tail | |
718 | of a | |
719 | .I pathname | |
720 | stored in a shell variable to be used (3.6). | |
721 | .IP history | |
722 | The | |
723 | .I history | |
724 | mechanism of the shell allows previous commands to be repeated, | |
725 | possibly after modification to correct typing mistakes or to change | |
726 | the meaning of the command. | |
727 | The shell has a | |
728 | .I "history list" | |
729 | where these commands are kept, and a | |
730 | .I history | |
731 | variable which controls how large this list is (2.3). | |
732 | .IP "home\ directory" | |
733 | .br | |
734 | Each user has a | |
735 | .I "home directory" , | |
736 | which is given in your entry | |
737 | in the password file, | |
738 | .I /etc/passwd . | |
739 | This is the directory which you are placed in when you first login. | |
740 | The | |
741 | .I cd | |
742 | or | |
743 | .I chdir | |
744 | command with no arguments takes you back to this directory, whose | |
745 | name is recorded in the shell variable | |
746 | .I home . | |
747 | You can also access the | |
748 | .I "home directories" | |
749 | of other users in forming | |
750 | filenames using a | |
751 | .I "filename expansion" | |
752 | notation and the character `~' (1.6). | |
753 | .IP if | |
754 | A conditional command within the shell, the | |
755 | .I if | |
756 | command is used in shell command scripts to make decisions | |
757 | about what course of action to take next (3.6). | |
758 | .IP ignoreeof | |
759 | Normally, your shell will exit, printing | |
760 | `logout' | |
761 | if you type a control-d at a prompt of `% '. | |
762 | This is the way you usually log off the system. | |
763 | You can | |
764 | .I set | |
765 | the | |
766 | .I ignoreeof | |
767 | variable if you wish in your | |
768 | .I \&.login | |
769 | file and then use the command | |
770 | .I logout | |
771 | to logout. | |
772 | This is useful if you sometimes accidentally type too many control-d | |
773 | characters, logging yourself off | |
774 | (2.2). | |
775 | .IP input | |
776 | Many commands on \s-2UNIX\s0 take information from the terminal or from | |
777 | files which they then act on. | |
778 | This information is called | |
779 | .I input . | |
780 | Commands normally read for | |
781 | .I input | |
782 | from their | |
783 | .I "standard input" | |
784 | which is, by default, the terminal. | |
785 | This | |
786 | .I "standard input" | |
787 | can be redirected from a file using a shell metanotation | |
788 | with the character `<'. | |
789 | Many commands will also read from a file specified as argument. | |
790 | Commands placed in | |
791 | .I pipelines | |
792 | will read from the output of the previous | |
793 | command in the | |
794 | .I pipeline . | |
795 | The leftmost command in a | |
796 | .I pipeline | |
797 | reads from the terminal if | |
798 | you neither redirect its | |
799 | .I input | |
800 | nor give it a filename to use as | |
801 | .I "standard input" . | |
802 | Special mechanisms exist for supplying input to commands in shell | |
803 | scripts (1.5, 3.8). | |
804 | .IP interrupt | |
805 | An | |
806 | .I interrupt | |
cab013e2 KD |
807 | is a signal to a program that is generated by typing ^C. (On older versions |
808 | of UNIX the \s-2RUBOUT\s0 or \s-2DELETE\s0 key were used for this purpose.) | |
522e24e0 KD |
809 | It causes most programs to stop execution. |
810 | Certain programs, such as the shell and the editors, | |
811 | handle an | |
812 | .I interrupt | |
813 | in special ways, usually by stopping what they | |
814 | are doing and prompting for another command. | |
815 | While the shell is executing another command and waiting for it | |
816 | to finish, the shell does not listen to | |
817 | .I interrupts. | |
818 | The shell often wakes up when you hit | |
819 | .I interrupt | |
820 | because many commands | |
821 | die when they receive an | |
822 | .I interrupt | |
823 | (1.8, 3.9). | |
824 | .IP job | |
825 | One or more commands | |
826 | typed on the same input line separated by `|' or `;' characters | |
827 | are run together and are called a | |
828 | .I job \&. | |
829 | Simple commands run by themselves without any `|' or `;' characters | |
830 | are the simplest | |
831 | .I jobs. | |
832 | .I Jobs | |
833 | are classified as | |
834 | .I foreground , | |
835 | .I background , | |
836 | or | |
837 | .I suspended | |
838 | (2.6). | |
839 | .IP "job\ control" | |
840 | The builtin functions that control the execution of | |
841 | jobs are called | |
842 | .I "job control" | |
843 | commands. These are | |
844 | .I "bg, fg, stop, kill" | |
845 | (2.6). | |
846 | .IP "job\ number" | |
847 | When each job | |
848 | is started it is assigned a small number called a | |
849 | .I "job number" | |
850 | which is printed next to the job in the output of the | |
851 | .I jobs | |
852 | command. This number, preceded by a `%' character, can be used as an argument | |
853 | to | |
854 | .I "job control" | |
855 | commands to indicate | |
856 | a specific job (2.6). | |
857 | .IP jobs | |
858 | The | |
859 | .I jobs | |
860 | command prints a table showing | |
861 | jobs that are either running in the | |
862 | .I background | |
863 | or are | |
864 | .I suspended | |
865 | (2.6). | |
866 | .IP kill | |
867 | A command which sends a | |
868 | signal | |
869 | to a job causing it to terminate (2.6). | |
870 | .IP \&.login | |
871 | The file | |
872 | .I \&.login | |
873 | in your | |
874 | .I home | |
875 | directory is read by the shell each time you login to \s-2UNIX\s0 | |
876 | and the commands there are executed. | |
877 | There are a number of commands which are usefully placed here, | |
878 | especially | |
879 | .I set | |
880 | commands to the shell itself (2.1). | |
881 | .IP "login\ shell" | |
882 | The shell that is started on your terminal when you login is called | |
883 | your | |
884 | .I "login shell" . | |
885 | It is different from other shells which you may run (e.g. on | |
886 | shell scripts) | |
887 | in that it reads the | |
888 | .I \&.login | |
889 | file before reading commands from the terminal and it reads the | |
890 | .I \&.logout | |
891 | file after you logout | |
892 | (2.1). | |
893 | .IP logout | |
894 | The | |
895 | .I logout | |
896 | command causes a login shell to exit. | |
897 | Normally, a login shell will exit when you hit control-d | |
898 | generating an | |
899 | .I end\f1-\fPof\f1-\fPfile, | |
900 | but if you have set | |
901 | .I ignoreeof | |
902 | in you | |
903 | .I \&.login | |
904 | file then this will not work and you must use | |
905 | .I logout | |
906 | to log off the \s-2UNIX\s0 system (2.8). | |
907 | .IP \&.logout | |
908 | When you log off of \s-2UNIX\s0 the shell will execute commands from | |
909 | the file | |
910 | .I \&.logout | |
911 | in your | |
912 | .I home | |
913 | directory after it prints `logout'. | |
914 | .IP lpr | |
915 | The command | |
916 | .I lpr | |
917 | is the line printer daemon. | |
918 | The standard input of | |
919 | .I lpr | |
920 | spooled and printed on the \s-2UNIX\s0 line printer. | |
921 | You can also give | |
922 | .I lpr | |
923 | a list of filenames as arguments to be printed. | |
924 | It is most common to use | |
925 | .I lpr | |
926 | as the last component of a | |
927 | .I pipeline | |
928 | (2.3). | |
929 | .IP ls | |
930 | The | |
931 | .I ls | |
932 | (list files) command is one of the most commonly used \s-2UNIX\s0 | |
933 | commands. | |
934 | With no argument filenames it prints the names of the files in the | |
935 | current directory. | |
936 | It has a number of useful | |
937 | .I flag | |
938 | arguments, and can also be given the names of directories | |
939 | as arguments, in which case it lists the names of the files in these | |
940 | directories (1.2). | |
941 | .IP mail | |
942 | The | |
943 | .I mail | |
944 | program is used to send and receive messages from other \s-2UNIX\s0 | |
cab013e2 | 945 | users (1.1, 2.1), whether they are logged on or not. |
522e24e0 KD |
946 | .IP make |
947 | The | |
948 | .I make | |
949 | command is used to maintain one or more related files and to | |
950 | organize functions to be performed on these files. | |
951 | In many ways | |
952 | .I make | |
953 | is easier to use, and more helpful than | |
954 | shell command scripts (3.2). | |
955 | .IP makefile | |
956 | The file containing commands for | |
957 | .I make | |
958 | is called | |
959 | .I makefile | |
cab013e2 KD |
960 | or |
961 | .I Makefile | |
522e24e0 KD |
962 | (3.2). |
963 | .IP manual | |
964 | The | |
965 | .I manual | |
966 | often referred to is the | |
cab013e2 KD |
967 | `\s-2UNIX\s0 manual'. |
968 | It contains 8 numbered sections with a description of each \s-2UNIX\s0 | |
969 | program (section 1), system call (section 2), subroutine (section 3), | |
970 | device (section 4), special data structure (section 5), game (section 6), | |
971 | miscellaneous item (section 7) and system administration program (section 8). | |
972 | There are also supplementary documents (tutorials and reference guides) | |
973 | for individual programs which require explanation in more detail. | |
522e24e0 KD |
974 | An online version of the |
975 | .I manual | |
976 | is accessible through the | |
977 | .I man | |
978 | command. | |
979 | Its documentation can be obtained online via | |
980 | .DS | |
981 | man man | |
982 | .DE | |
cab013e2 KD |
983 | If you can't decide what manual page to look in, try the |
984 | .I apropos (1) | |
985 | command. | |
986 | The supplementary documents are in subdirectories of /usr/doc. | |
522e24e0 KD |
987 | .IP metacharacter |
988 | .br | |
989 | Many characters which are neither letters nor digits have special meaning | |
990 | either to the shell or to \s-2UNIX\s0. | |
991 | These characters are called | |
992 | .I metacharacters . | |
993 | If it is necessary to place these characters in arguments to commands | |
994 | without them having their special meaning then they must be | |
995 | .I quoted . | |
996 | An example of a | |
997 | .I metacharacter | |
998 | is the character `>' which is used | |
999 | to indicate placement of output into a file. | |
1000 | For the purposes of the | |
1001 | .I history | |
1002 | mechanism, | |
1003 | most unquoted | |
1004 | .I metacharacters | |
1005 | form separate words (1.4). | |
1006 | The appendix to this user's manual lists the | |
1007 | .I metacharacters | |
1008 | in groups by their function. | |
1009 | .IP mkdir | |
1010 | The | |
1011 | .I mkdir | |
1012 | command is used to create a new directory. | |
1013 | .IP modifier | |
1014 | Substitutions with the | |
1015 | .I history | |
1016 | mechanism, keyed by the character `!' | |
1017 | or of variables using the metacharacter `$', are often subjected | |
1018 | to modifications, indicated by placing the character `:' after the | |
1019 | substitution and following this with the | |
1020 | .I modifier | |
1021 | itself. | |
1022 | The | |
1023 | .I "command substitution" | |
1024 | mechanism can also be used to perform modification in a similar way, | |
1025 | but this notation is less clear (3.6). | |
1026 | .IP more | |
1027 | The program | |
1028 | .I more | |
1029 | writes a file on your terminal allowing you to control how much text | |
1030 | is displayed at a time. | |
1031 | .I More | |
1032 | can move through the file screenful by screenful, line by line, | |
1033 | search forward for a string, or start again at the beginning of the file. | |
1034 | It is generally the easiest way of viewing a file (1.8). | |
1035 | .IP noclobber | |
1036 | The shell has a variable | |
1037 | .I noclobber | |
1038 | which may be set in the file | |
1039 | .I \&.login | |
1040 | to prevent accidental destruction of files by the `>' output redirection | |
1041 | metasyntax of the shell (2.2, 2.5). | |
1042 | .IP noglob | |
1043 | The shell variable | |
1044 | .I noglob | |
1045 | is set to suppress the | |
1046 | .I "filename expansion" | |
1047 | of arguments containing the metacharacters `~', `*', `?', `[' and `]' (3.6). | |
1048 | .IP notify | |
1049 | The | |
1050 | .I notify | |
1051 | command tells the shell to report on the termination of a specific | |
1052 | .I "background job" | |
1053 | at the exact time it occurs as opposed to waiting | |
1054 | until just before the next prompt to report the termination. | |
1055 | The | |
1056 | .I notify | |
1057 | variable, if set, causes the shell to always report the termination | |
1058 | of | |
1059 | .I background | |
1060 | jobs exactly when they occur (2.6). | |
1061 | .IP onintr | |
1062 | The | |
1063 | .I onintr | |
1064 | command is built into the shell and is used to control the action | |
1065 | of a shell command script when an | |
1066 | .I interrupt | |
1067 | signal is received (3.9). | |
1068 | .IP output | |
1069 | Many commands in \s-2UNIX\s0 result in some lines of text which are | |
1070 | called their | |
1071 | .I output. | |
1072 | This | |
1073 | .I output | |
1074 | is usually placed on what is known as the | |
1075 | .I "standard output" | |
1076 | which is normally connected to the user's terminal. | |
1077 | The shell has a syntax using the metacharacter `>' for redirecting | |
1078 | the | |
1079 | .I "standard output" | |
1080 | of a command to a file (1.3). | |
1081 | Using the | |
1082 | .I pipe | |
1083 | mechanism and the metacharacter `|' it is also possible for | |
1084 | the | |
1085 | .I "standard output" | |
1086 | of one command to become the | |
1087 | .I "standard input" | |
1088 | of another command (1.5). | |
1089 | Certain commands such as the line printer daemon | |
1090 | .I p | |
1091 | do not place their results on the | |
1092 | .I "standard output" | |
1093 | but rather in more | |
1094 | useful places such as on the line printer (2.3). | |
1095 | Similarly the | |
1096 | .I write | |
1097 | command places its output on another user's terminal rather than its | |
1098 | .I "standard output" | |
1099 | (2.3). | |
1100 | Commands also have a | |
1101 | .I "diagnostic output" | |
1102 | where they write their error messages. | |
1103 | Normally these go to the terminal even if the | |
1104 | .I "standard output" | |
1105 | has been sent to a file or another command, but it is possible | |
1106 | to direct error diagnostics along with | |
1107 | .I "standard output" | |
1108 | using a special metanotation (2.5). | |
522e24e0 KD |
1109 | .IP path |
1110 | The shell has a variable | |
1111 | .I path | |
1112 | which gives the names of the directories in which it searches for | |
1113 | the commands which it is given. | |
1114 | It always checks first to see if the command it is given is | |
1115 | built into the shell. | |
1116 | If it is, then it need not search for the command as it can do it internally. | |
1117 | If the command is not builtin, then the shell searches for a file | |
1118 | with the name given in each of the directories in the | |
1119 | .I path | |
1120 | variable, left to right. | |
1121 | Since the normal definition of the | |
1122 | .I path | |
1123 | variable is | |
1124 | .DS | |
1125 | path (. /usr/ucb /bin /usr/bin) | |
1126 | .DE | |
1127 | the shell normally looks in the current directory, and then in | |
1128 | the standard system directories `/usr/ucb', `/bin' and `/usr/bin' for the named | |
1129 | command (2.2). | |
1130 | If the command cannot be found the shell will print an error diagnostic. | |
1131 | Scripts of shell commands will be executed using another shell to interpret | |
1132 | them if they have `execute' permission set. | |
1133 | This is normally true because a command of the form | |
1134 | .DS | |
1135 | chmod 755 script | |
1136 | .DE | |
1137 | was executed to turn this execute permission on (3.3). | |
1138 | If you add new commands to a directory in the | |
1139 | .I path , | |
1140 | you should issue | |
1141 | the command | |
1142 | .I rehash | |
1143 | (2.2). | |
1144 | .IP pathname | |
1145 | A list of names, separated by `/' characters, forms a | |
1146 | .I pathname. | |
1147 | Each | |
1148 | .I component, | |
1149 | between successive `/' characters, names a directory | |
1150 | in which the next | |
1151 | .I component | |
1152 | file resides. | |
1153 | .I Pathnames | |
1154 | which begin with the character `/' are interpreted relative | |
1155 | to the | |
1156 | .I root | |
1157 | directory in the filesystem. | |
1158 | Other | |
1159 | .I pathnames | |
1160 | are interpreted relative to the current directory | |
1161 | as reported by | |
1162 | .I pwd. | |
1163 | The last component of a | |
1164 | .I pathname | |
1165 | may name a directory, but | |
1166 | usually names a file. | |
1167 | .IP pipeline | |
1168 | A group of commands which are connected together, the | |
1169 | .I "standard output" | |
1170 | of each connected to the | |
1171 | .I "standard input" | |
1172 | of the next, | |
1173 | is called a | |
1174 | .I pipeline. | |
1175 | The | |
1176 | .I pipe | |
1177 | mechanism used to connect these commands is indicated by | |
1178 | the shell metacharacter `|' (1.5, 2.3). | |
1179 | .IP popd | |
1180 | The | |
1181 | .I popd | |
1182 | command changes the shell's | |
1183 | .I "working directory" | |
1184 | to the directory you most recently left using the | |
1185 | .I pushd | |
1186 | command. It returns to the directory without having to type its name, | |
1187 | forgetting the name of the current | |
1188 | .I "working directory" | |
1189 | before doing so (2.7). | |
1190 | .IP port | |
1191 | The part of a computer system to which each terminal is | |
1192 | connected is called a | |
1193 | .I port . | |
1194 | Usually the system has a fixed number of | |
1195 | .I ports , | |
1196 | some of which are connected to telephone lines | |
1197 | for dial-up access, and some of which are permanently | |
1198 | wired directly to specific terminals. | |
1199 | .IP pr | |
1200 | The | |
1201 | .I pr | |
1202 | command is used to prepare listings of the contents of files | |
1203 | with headers giving the name of the file and the date and | |
1204 | time at which the file was last modified (2.3). | |
1205 | .IP printenv | |
1206 | The | |
1207 | .I printenv | |
1208 | command is used | |
1209 | to print the current setting of variables in the environment | |
1210 | (2.8). | |
1211 | .IP process | |
1212 | An instance of a running program is called a | |
1213 | .I process | |
1214 | (2.6). | |
1215 | \s-2UNIX\s0 assigns each | |
1216 | .I process | |
1217 | a unique number when it is | |
1218 | started \- called the | |
1219 | .I "process number" . | |
1220 | .I "Process numbers" | |
1221 | can be used to stop individual | |
1222 | .I processes | |
1223 | using the | |
1224 | .I kill | |
1225 | or | |
1226 | .I stop | |
1227 | commands when the | |
1228 | .I processes | |
1229 | are part of a detached | |
1230 | .I background | |
1231 | job. | |
1232 | .IP program | |
1233 | Usually synonymous with | |
1234 | .I command ; | |
1235 | a binary file or shell command script | |
1236 | which performs a useful function is often | |
1237 | called a | |
1238 | .I program . | |
522e24e0 KD |
1239 | .IP prompt |
1240 | Many programs will print a | |
1241 | .I prompt | |
1242 | on the terminal when they expect input. | |
1243 | Thus the editor | |
cab013e2 | 1244 | `ex (1)' will print a `:' when it expects input. |
522e24e0 KD |
1245 | The shell |
1246 | .I prompts | |
1247 | for input with `% ' and occasionally with `? ' when | |
1248 | reading commands from the terminal (1.1). | |
1249 | The shell has a variable | |
1250 | .I prompt | |
1251 | which may be set to a different value to change the shell's main | |
1252 | .I prompt . | |
1253 | This is mostly used when debugging the shell (2.8). | |
cab013e2 KD |
1254 | .IP pushd |
1255 | The | |
1256 | .I pushd | |
1257 | command, which means `push directory', changes the shell's | |
1258 | .I "working directory" | |
1259 | and also remembers the current | |
1260 | .I "working directory" | |
1261 | before the change is made, allowing you to return to the same | |
1262 | directory via the | |
1263 | .I popd | |
1264 | command later without retyping its name (2.7). | |
522e24e0 KD |
1265 | .IP ps |
1266 | The | |
1267 | .I ps | |
1268 | command is used to show the processes you are currently running. | |
1269 | Each process is shown with its unique process number, | |
1270 | an indication of the terminal name it is attached to, | |
1271 | an indication of the state of the process (whether it is running, | |
1272 | stopped, awaiting some event (sleeping), and whether it is swapped out), | |
1273 | and the amount of \s-2CPU\s0 time it has used so far. | |
1274 | The command is identified by printing some of the words used | |
1275 | when it was invoked (2.6). | |
1276 | Shells, such as the | |
1277 | .I csh | |
1278 | you use to run the | |
1279 | .I ps | |
1280 | command, are not normally shown in the output. | |
1281 | .IP pwd | |
1282 | The | |
1283 | .I pwd | |
1284 | command prints the full | |
1285 | .I pathname | |
1286 | of the current | |
1287 | .I "working directory" \&. | |
1288 | The | |
1289 | .I dirs | |
1290 | builtin command is usually a better and faster choice. | |
1291 | .IP quit | |
1292 | The | |
1293 | .I quit | |
1294 | signal, generated by a control-\e, | |
1295 | is used to terminate programs which are behaving unreasonably. | |
1296 | It normally produces a core image file (1.8). | |
1297 | .IP quotation | |
1298 | The process by which metacharacters are prevented their special | |
1299 | meaning, usually by using the character `\' in pairs, or by | |
1300 | using the character `\e', is referred to as | |
1301 | .I quotation | |
1302 | (1.7). | |
1303 | .IP redirection | |
1304 | The routing of input or output from or to a file is known | |
1305 | as | |
1306 | .I redirection | |
1307 | of input or output (1.3). | |
1308 | .IP rehash | |
1309 | The | |
1310 | .I rehash | |
1311 | command tells the shell to rebuild its internal table of which commands | |
1312 | are found in which directories in your | |
1313 | .I path . | |
1314 | This is necessary when a new program is installed in one of these | |
1315 | directories (2.8). | |
1316 | .IP "relative pathname" | |
1317 | .br | |
1318 | A | |
1319 | .I pathname | |
1320 | which does not begin with a `/' is called a | |
1321 | .I "relative pathname" | |
1322 | since it is interpreted | |
1323 | .I relative | |
1324 | to the current | |
1325 | .I "working directory" . | |
1326 | The first | |
1327 | .I component | |
1328 | of such a | |
1329 | .I pathname | |
1330 | refers to some file or directory in the | |
1331 | .I "working directory" , | |
1332 | and subsequent | |
1333 | .I components | |
1334 | between `/' characters refer to directories below the | |
1335 | .I "working directory" . | |
1336 | .I Pathnames | |
1337 | that are not | |
1338 | .I relative | |
1339 | are called | |
1340 | .I "absolute pathnames" | |
1341 | (1.6). | |
1342 | .IP repeat | |
1343 | The | |
1344 | .I repeat | |
1345 | command iterates another command a specified number of times. | |
1346 | .IP root | |
1347 | The directory | |
1348 | that is at the top of the entire directory structure is called the | |
1349 | .I root | |
1350 | directory since it is the `root' of the entire tree structure of | |
1351 | directories. The name used in | |
1352 | .I pathnames | |
1353 | to indicate the | |
1354 | .I root | |
1355 | is `/'. | |
1356 | .I Pathnames | |
1357 | starting with `/' are said to be | |
1358 | .I absolute | |
1359 | since they start at the | |
1360 | .I root | |
1361 | directory. | |
1362 | .I Root | |
1363 | is also used as the part of a | |
1364 | .I pathname | |
1365 | that is left after removing | |
1366 | the | |
1367 | .I extension . | |
1368 | See | |
1369 | .I filename | |
1370 | for a further explanation (1.6). | |
1371 | .IP \s-2RUBOUT\s0 | |
1372 | The \s-2RUBOUT\s0 or \s-2DELETE\s0 | |
cab013e2 KD |
1373 | key is often used to erase the previously typed character; some users |
1374 | prefer the \s-2BACKSPACE\s0 for this purpose. On older versions of \s-2UNIX\s0 | |
1375 | this key served as the \s-2INTR\s0 character. | |
522e24e0 KD |
1376 | .IP "scratch file" |
1377 | Files whose names begin with a `#' are referred to as | |
1378 | .I "scratch files" , | |
1379 | since they are automatically removed by the system after a couple of | |
1380 | days of non-use, or more frequently if disk space becomes tight (1.3). | |
1381 | .IP script | |
1382 | Sequences of shell commands placed in a file are called shell command | |
1383 | .I scripts . | |
1384 | It is often possible to perform simple tasks using these | |
1385 | .I scripts | |
1386 | without writing a program in a language such as C, by | |
1387 | using the shell to selectively run other programs (3.3, 3.10). | |
1388 | .IP set | |
1389 | The builtin | |
1390 | .I set | |
1391 | command is used to assign new values to shell variables | |
1392 | and to show the values of the current variables. | |
1393 | Many shell variables have special meaning to the shell itself. | |
1394 | Thus by using the | |
1395 | .I set | |
1396 | command the behavior of the shell can be affected (2.1). | |
1397 | .IP setenv | |
cab013e2 | 1398 | Variables in the environment `environ (5)' |
522e24e0 KD |
1399 | can be changed by using the |
1400 | .I setenv | |
1401 | builtin command (2.8). | |
1402 | The | |
1403 | .I printenv | |
1404 | command can be used to print the value of the variables in the environment. | |
1405 | .IP shell | |
1406 | A | |
1407 | .I shell | |
1408 | is a command language interpreter. | |
1409 | It is possible to write and run your own | |
1410 | .I shell , | |
1411 | as | |
1412 | .I shells | |
1413 | are no different than any other programs as far as the | |
1414 | system is concerned. | |
1415 | This manual deals with the details of one particular | |
1416 | .I shell , | |
1417 | called | |
1418 | .I csh. | |
1419 | .IP "shell script" | |
1420 | See | |
1421 | .I script | |
1422 | (3.3, 3.10). | |
1423 | .IP signal | |
1424 | A | |
1425 | .I signal | |
1426 | in \s-2UNIX\s0 is a short message that is sent to a running program | |
1427 | which causes something to happen to that process. | |
1428 | .I Signals | |
1429 | are sent either by typing special | |
1430 | .I control | |
1431 | characters on the keyboard or by using the | |
1432 | .I kill | |
1433 | or | |
1434 | .I stop | |
1435 | commands (1.8, 2.6). | |
1436 | .IP sort | |
1437 | The | |
1438 | .I sort | |
1439 | program sorts a sequence of lines in ways that can be controlled | |
1440 | by argument | |
1441 | .I flags | |
1442 | (1.5). | |
1443 | .IP source | |
1444 | The | |
1445 | .I source | |
1446 | command causes the shell to read commands from a specified file. | |
1447 | It is most useful for reading files such as | |
1448 | .I \&.cshrc | |
1449 | after changing them (2.8). | |
1450 | .IP "special character" | |
1451 | .br | |
1452 | See | |
1453 | .I metacharacters | |
1454 | and the | |
1455 | appendix to this manual. | |
1456 | .IP standard | |
1457 | We refer often to the | |
1458 | .I "standard input" | |
1459 | and | |
1460 | .I "standard output" | |
1461 | of commands. | |
1462 | See | |
1463 | .I input | |
1464 | and | |
1465 | .I output | |
1466 | (1.3, 3.8). | |
1467 | .IP status | |
1468 | A command normally returns a | |
1469 | .I status | |
1470 | when it finishes. | |
1471 | By convention a | |
1472 | .I status | |
1473 | of zero indicates that the command succeeded. | |
1474 | Commands may return non-zero | |
1475 | .I status | |
1476 | to indicate that some abnormal event has occurred. | |
1477 | The shell variable | |
1478 | .I status | |
1479 | is set to the | |
1480 | .I status | |
1481 | returned by the last command. | |
1482 | It is most useful in shell commmand scripts (3.6). | |
1483 | .IP stop | |
1484 | The | |
1485 | .I stop | |
1486 | command causes a | |
1487 | .I background | |
1488 | job to become | |
1489 | .I suspended | |
1490 | (2.6). | |
1491 | .IP string | |
1492 | A sequential group of characters taken together is called a | |
1493 | .I string \&. | |
1494 | .I Strings | |
1495 | can contain any printable characters (2.2). | |
1496 | .IP stty | |
1497 | The | |
1498 | .I stty | |
1499 | program changes certain parameters inside \s-2UNIX\s0 which determine | |
cab013e2 | 1500 | how your terminal is handled. See `stty (1)' for a complete description (2.6). |
522e24e0 KD |
1501 | .IP substitution |
1502 | The shell implements a number of | |
1503 | .I substitutions | |
1504 | where sequences indicated by metacharacters are replaced by other sequences. | |
1505 | Notable examples of this are history | |
1506 | .I substitution | |
1507 | keyed by the | |
1508 | metacharacter `!' and variable | |
1509 | .I substitution | |
1510 | indicated by `$'. | |
1511 | We also refer to | |
1512 | .I substitutions | |
1513 | as | |
1514 | .I expansions | |
1515 | (3.4). | |
1516 | .IP suspended | |
1517 | A job becomes | |
1518 | .I suspended | |
1519 | after a \s-2STOP\s0 signal is sent to it, either by typing a | |
1520 | .I control -z | |
1521 | at the terminal (for | |
1522 | .I foreground | |
1523 | jobs) or by using the | |
1524 | .I stop | |
1525 | command (for | |
1526 | .I background | |
1527 | jobs). When | |
1528 | .I suspended , | |
1529 | a job temporarily stops running until it is restarted by either the | |
1530 | .I fg | |
1531 | or | |
1532 | .I bg | |
1533 | command (2.6). | |
1534 | .IP switch | |
1535 | The | |
1536 | .I switch | |
1537 | command of the shell allows the shell | |
1538 | to select one of a number of sequences of commands based on an | |
1539 | argument string. | |
1540 | It is similar to the | |
1541 | .I switch | |
1542 | statement in the language C (3.7). | |
1543 | .IP termination | |
1544 | When a command which is being executed finishes we say it undergoes | |
1545 | .I termination | |
1546 | or | |
1547 | .I terminates. | |
1548 | Commands normally terminate when they read an | |
1549 | .I end\f1-\fPof\f1-\fPfile | |
1550 | from their | |
1551 | .I "standard input" . | |
1552 | It is also possible to terminate commands by sending them | |
1553 | an | |
1554 | .I interrupt | |
1555 | or | |
1556 | .I quit | |
1557 | signal (1.8). | |
1558 | The | |
1559 | .I kill | |
1560 | program terminates specified jobs (2.6). | |
1561 | .IP then | |
1562 | The | |
1563 | .I then | |
1564 | command is part of the shell's | |
1565 | `if-then-else-endif' control construct used in command scripts (3.6). | |
1566 | .IP time | |
1567 | The | |
1568 | .I time | |
1569 | command can be used to measure the amount of \s-2CPU\s0 | |
1570 | and real time consumed by a specified command as well | |
1571 | as the amount of disk i/o, memory utilized, and number | |
1572 | of page faults and swaps taken by the command (2.1, 2.8). | |
1573 | .IP tset | |
1574 | The | |
1575 | .I tset | |
1576 | program is used to set standard erase and kill characters | |
1577 | and to tell the system what kind of terminal you are using. | |
1578 | It is often invoked in a | |
1579 | .I \&.login | |
1580 | file (2.1). | |
1581 | .IP tty | |
1582 | The word | |
1583 | .I tty | |
1584 | is a historical abbreviation for `teletype' which is frequently used | |
1585 | in \s-2UNIX\s0 to indicate the | |
1586 | .I port | |
1587 | to which a given terminal is connected. The | |
1588 | .I tty | |
1589 | command will print the name of the | |
1590 | .I tty | |
1591 | or | |
1592 | .I port | |
1593 | to which your terminal is presently connected. | |
1594 | .IP unalias | |
1595 | The | |
1596 | .I unalias | |
1597 | command removes aliases (2.8). | |
1598 | .IP \s-2UNIX\s0 | |
1599 | \s-2UNIX\s0 is an operating system on which | |
1600 | .I csh | |
1601 | runs. | |
1602 | \s-2UNIX\s0 provides facilities which allow | |
1603 | .I csh | |
1604 | to invoke other programs such as editors and text formatters which | |
1605 | you may wish to use. | |
1606 | .IP unset | |
1607 | The | |
1608 | .I unset | |
1609 | command removes the definitions of shell variables (2.2, 2.8). | |
1610 | .IP "variable expansion" | |
1611 | .br | |
1612 | See | |
1613 | .I variables | |
1614 | and | |
1615 | .I expansion | |
1616 | (2.2, 3.4). | |
1617 | .IP variables | |
1618 | .I Variables | |
1619 | in | |
1620 | .I csh | |
1621 | hold one or more strings as value. | |
1622 | The most common use of | |
1623 | .I variables | |
1624 | is in controlling the behavior | |
1625 | of the shell. | |
1626 | See | |
1627 | .I path , | |
1628 | .I noclobber , | |
1629 | and | |
1630 | .I ignoreeof | |
1631 | for examples. | |
1632 | .I Variables | |
1633 | such as | |
1634 | .I argv | |
1635 | are also used in writing shell programs (shell command scripts) | |
1636 | (2.2). | |
1637 | .IP verbose | |
1638 | The | |
1639 | .I verbose | |
1640 | shell variable can be set to cause commands to be echoed | |
1641 | after they are history expanded. | |
1642 | This is often useful in debugging shell scripts. | |
1643 | The | |
1644 | .I verbose | |
1645 | variable is set by the shell's | |
1646 | .I \-v | |
1647 | command line option (3.10). | |
1648 | .IP wc | |
1649 | The | |
1650 | .I wc | |
1651 | program calculates the number of characters, words, and lines in the | |
1652 | files whose names are given as arguments (2.6). | |
1653 | .IP while | |
1654 | The | |
1655 | .I while | |
1656 | builtin control construct is used in shell command scripts (3.7). | |
1657 | .IP word | |
1658 | A sequence of characters which forms an argument to a command is called | |
1659 | a | |
1660 | .I word . | |
1661 | Many characters which are neither letters, digits, `\-', `.' nor `/' | |
1662 | form | |
1663 | .I words | |
1664 | all by themselves even if they are not surrounded | |
1665 | by blanks. | |
1666 | Any sequence of characters may be made into a | |
1667 | .I word | |
1668 | by surrounding it | |
1669 | with `\'' characters | |
1670 | except for the characters `\'' and `!' which require special treatment | |
1671 | (1.1). | |
1672 | This process of placing special characters in | |
1673 | .I words | |
1674 | without their special meaning is called | |
1675 | .I quoting . | |
1676 | .IP "working directory" | |
1677 | .br | |
1678 | At any given time you are in one particular directory, called | |
1679 | your | |
1680 | .I "working directory" . | |
1681 | This directory's name is printed by the | |
1682 | .I pwd | |
1683 | command and the files listed by | |
1684 | .I ls | |
1685 | are the ones in this directory. | |
1686 | You can change | |
1687 | .I "working directories" | |
1688 | using | |
1689 | .I chdir . | |
1690 | .IP write | |
1691 | The | |
1692 | .I write | |
cab013e2 KD |
1693 | command is an obsolete way of communicating with other users who are logged in to |
1694 | \s-2UNIX\s0 (you have to take turns typing). If you are both using display | |
1695 | terminals, use \fItalk\fP(1), which is much more pleasant. |