all commands of linux
Post on 30-May-2018
250 Views
Preview:
TRANSCRIPT
-
8/14/2019 all commands of linux
1/373
- 1 -
AWK....................................................................................................................................4
BC.....................................................................................................................................11
CHGRP .............................................................................................................................16
CHMOD.............................................................................................................................19
CHOWN ............................................................................................................................26
CP .....................................................................................................................................29
CRON................................................................................................................................34
CSH...................................................................................................................................36
CUT...................................................................................................................................71
DATE ................................................................................................................................75
DF .....................................................................................................................................79
DIFF ..................................................................................................................................84
ENV...................................................................................................................................89
EXPR ................................................................................................................................92
FIND..................................................................................................................................96
GREP..............................................................................................................................104
KILL ................................................................................................................................111
KSH.................................................................................................................................116
LN ...................................................................................................................................181
LS....................................................................................................................................186
-
8/14/2019 all commands of linux
2/373
- 2 -
MAKE..............................................................................................................................194
MAN................................................................................................................................234
MORE .............................................................................................................................241
MV...................................................................................................................................251
NROFF............................................................................................................................254
OD...................................................................................................................................257
PRINTF ...........................................................................................................................265
PS ...................................................................................................................................271
REGEXP .........................................................................................................................283
RM...................................................................................................................................292
SCRIPT...........................................................................................................................297
SED.................................................................................................................................298
SHUTDOWN...................................................................................................................309
SLEEP ............................................................................................................................312
SORT ..............................................................................................................................314
SPELL.............................................................................................................................324
SUM ................................................................................................................................328
TAR.................................................................................................................................330
TR ...................................................................................................................................342
TROFF ............................................................................................................................349
-
8/14/2019 all commands of linux
3/373
- 3 -
UNIQ ...............................................................................................................................352
VI.....................................................................................................................................355
WC ..................................................................................................................................365
WHICH ............................................................................................................................367
WHO ...............................................................................................................................370
-
8/14/2019 all commands of linux
4/373
- 4 -
awkawk - pattern scanning and processing language
SYNOPSIS/usr/bin/awk [ -f progfile ] [ -Fc ] [ 'prog' ][ parameters ] [ filename...]
/usr/xpg4/bin/awk [ -F ERE ] [ -v assignment ... ]
'program' | -f progfile ... [ argument ... ]
DESCRIPTION
The /usr/xpg4/bin/awk utility is described on the nawk(1)
manual page.
The /usr/bin/awk utility scans each input filename for lines
that match any of a set of patterns specified in prog. The
prog string must be enclosed in single quotes (') to protect
it from the shell. For each pattern in prog there may be an
associated action performed when a line of a filename
matches the pattern. The set of pattern-action statements
may appear literally as prog or in a file specified with the
-f progfile option. Input files are read in order; if there
are no files, the standard input is read. The file name '-'
means the standard input.
OPTIONS
-f progfile awk uses the set of patterns it reads from
progfile.
-Fc Use the character c as the field separator
(FS) character. See the discussion of FS
below.
USAGE
Input Lines
Each input line is matched against the pattern portion of
every pattern-action statement; the associated action is
performed for each matched pattern. Any filename of the
form var=value is treated as an assignment, not a filename,
and is executed at the time it would have been opened if it
were a filename. Variables assigned in this manner are not
available inside a BEGIN rule, and are assigned after previ-
-
8/14/2019 all commands of linux
5/373
- 5 -
ously specified files have been read.
An input line is normally made up of fields separated by
white spaces. (This default can be changed by using the FS
built-in variable or the -Fc option.) The default is to
ignore leading blanks and to separate fields by blanks
and/or tab characters. However, if FS is assigned a value
that does not include any of the white spaces, then leading
blanks are not ignored. The fields are denoted $1, $2, ...;
$0 refers to the entire line.
Pattern-action Statements
A pattern-action statement has the form:
pattern { action }
Either pattern or action may be omitted. If there is no
action, the matching line is printed. If there is no pat-
tern, the action is performed on every input line.
Pattern-action statements are separated by newlines or semi-
colons.
Patterns are arbitrary Boolean combinations ( !, ||, &&, and
parentheses) of relational expressions and regular expres-
sions. A relational expression is one of the following:
expression relop expression
expression matchop regular_expression
where a relop is any of the six relational operators in C,and a matchop is either ~ (contains) or !~ (does not con-
tain). An expression is an arithmetic expression, a rela-
tional expression, the special expression
var in array
or a Boolean combination of these.
Regular expressions are as in egrep(1). In patterns they
must be surrounded by slashes. Isolated regular expressions
in a pattern apply to the entire line. Regular expressionsmay also occur in relational expressions. A pattern may
consist of two patterns separated by a comma; in this case,
the action is performed for all lines between the occurrence
of the first pattern to the occurrence of the second pat-
tern.
The special patterns BEGIN and END may be used to capture
-
8/14/2019 all commands of linux
6/373
- 6 -
control before the first input line has been read and after
the last input line has been read respectively. These key-
words do not combine with any other patterns.
Built-in Variables
Built-in variables include:
FILENAME name of the current input file
FS input field separator regular expression
(default blank and tab)
NF number of fields in the current record
NR ordinal number of the current record
OFMT output format for numbers (default %.6g)
OFS output field separator (default blank)
ORS output record separator (default new-
line)
RS input record separator (default new-
line)
An action is a sequence of statements. A statement may be
one of the following:
if ( expression ) statement [ else statement ]while ( expression ) statement
do statement while ( expression )
for ( expression ; expression ; expression ) statement
for ( var in array ) statement
break
continue
{ [ statement ] ... }
expression # commonly variable = expression
print [ expression-list ] [ >expression ]
printf format [ , expression-list ] [ >expression ]
next # skip remaining patterns on this input lineexit [expr] # skip the rest of the input; exit status
is expr
Statements are terminated by semicolons, newlines, or right
braces. An empty expression-list stands for the whole input
line. Expressions take on string or numeric values as
appropriate, and are built using the operators +, -, *, /,
-
8/14/2019 all commands of linux
7/373
- 7 -
%, ^ and concatenation (indicated by a blank). The opera-
tors ++, --, +=, -=, *=, /=, %=, ^=, >, >=, 0.
The string functions are as follows:
index(s, t) Return the position in string s where
string t first occurs, or 0 if it does
not occur at all.
int(s) truncates s to an integer value. If s
is not specified, $0 is used.
length(s) Return the length of its argument taken
as a string, or of the whole line if
there is no argument.
-
8/14/2019 all commands of linux
8/373
- 8 -
match(s, re) Return the position in string s where
the regular expression re occurs, or 0
if it does not occur at all.
split(s, a, fs)
Split the string s into array elements
a[1], a[2], a[n], and returns n. The
separation is done with the regular
expression fs or with the field separa-
tor FS if fs is not given.
sprintf(fmt, expr, expr,...)
Format the expressions according to the
printf(3S) format given by fmt and
returns the resulting string.
substr(s, m, n)
returns the n-character substring of s
that begins at position m.
The input/output function is as follows:
getline Set $0 to the next input record from the
current input file. getline returns 1
for successful input, 0 for end of file,
and -1 for an error.
Large File Behavior
See largefile(5) for the description of the behavior of awk
when encountering files greater than or equal to 2 Gbyte(2**31 bytes).
EXAMPLES
Print lines longer than 72 characters:
length > 72
Print first two fields in opposite order:
{ print $2, $1 }
Same, with input fields separated by comma and/or blanks and
tabs:
BEGIN { FS = ",[ \t]*|[ \t]+" }
{ print $2, $1 }
-
8/14/2019 all commands of linux
9/373
- 9 -
Add up first column, print sum and average:
{ s + = $ 1 }
END { print "sum is", s, " average is", s/NR }
Print fields in reverse order:
{ for (i = NF; i > 0; --i) print $i }
Print all lines between start/stop pairs:
/start/, /stop/
Print all lines whose first field is different from previous
one:
$1 != prev { print; prev = $1 }
Print a file, filling in page numbers starting at 5:
/Page/ { $2 = n++; }
{ print }
Assuming this program is in a file named prog, the following
command line prints the file input numbering its pages
starting at 5: awk -f prog n=5 input.
ENVIRONMENTSee environ(5) for descriptions of the following environment
variables that affect the execution of awk: LC_CTYPE and
LC_MESSAGES.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
/usr/bin/awk
__________________________________
| ATTRIBUTE TYPE| ATTRIBUTE VALUE|
|_______________|_________________|| Availability | SUNWesu |
| CSI | Enabled |
|_______________|_________________|
/usr/xpg4/bin/awk
__________________________________
| ATTRIBUTE TYPE| ATTRIBUTE VALUE|
-
8/14/2019 all commands of linux
10/373
- 10 -
|_______________|_________________|
| Availability | SUNWxcu4 |
| CSI | Enabled |
|_______________|_________________|
SEE ALSO
egrep(1), grep(1), nawk(1), sed(1), printf(3S), attri-
butes(5), environ(5), largefile(5), xpg4(5)
NOTES
Input white space is not preserved on output if fields are
involved.
There are no explicit conversions between numbers and
strings. To force an expression to be treated as a number
add 0 to it; to force it to be treated as a string concaten-
ate the null string ("") to it.
-
8/14/2019 all commands of linux
11/373
- 11 -
bcbc - arbitrary precision arithmetic language
SYNOPSIS
bc [ -c ] [ -l ] [ file...]
DESCRIPTION
The bc utility implements an arbitrary precision calculator.
It takes input from any files given, then reads from the
standard input. If the standard input and standard output
to bc are attached to a terminal, the invocation of bc is
interactive , causing behavioural constraints described in
the following sections. bc processes a language that resem-
bles C and is a preprocessor for the desk calculator program
dc, which it invokes automatically unless the -c option is
specified. In this case the dc input is sent to the stan-
dard output instead.
USAGE
The syntax for bc programs is as follows:
L means a letter a-z,
E means an expression: a (mathematical or logical)
value, an operand that takes a value, or a combina-
tion of operands and operators that evaluates to a
value,
S means a statement.
Comments
Enclosed in /* and */.
Names (Operands)
Simple variables: L.
Array elements: L [ E ] (up to BC_DIM_MAX dimen-sions).
The words ibase, obase (limited to BC_BASE_MAX), and
scale (limited to BC_SCALE_MAX).
Other Operands
Arbitrarily long numbers with optional sign and
decimal point.
-
8/14/2019 all commands of linux
12/373
- 12 -
Strings of fewer than BC_STRING_MAX characters,
between double quotes (").
( E )
sqrt ( E ) Square root
length ( E ) Number of significant
decimal digits.
scale ( E ) Number of digits right
of decimal point.
L ( E , ... , E )
Operators
+ - * / % ^ (% is remainder; ^ is
power)
++ -- (prefix and postfix;
apply to names)
== = != < >
= =+ =- =* =/ =% =^
Statements
E
{ S ;... ; S }
if ( E ) Sw h i l e ( E ) S
for ( E ; E ; E ) S
null statement
break
quit
.string
Function Definitions
define L ( L ,..., L ) {
auto L ,..., L
S ;... Sreturn ( E )
}
Functions in -l Math Library
s(x) sine
c(x) cosine
e(x) exponential
-
8/14/2019 all commands of linux
13/373
- 13 -
l(x) log
a(x) arctangent
j(n,x) Bessel function
All function arguments are passed by value.
The value of a statement that is an expression is printed
unless the main operator is an assignment. Either semi-
colons or new-lines may separate statements. Assignment to
scale influences the number of digits to be retained on
arithmetic operations in the manner of dc. Assignments to
ibase or obase set the input and output number radix respec-
tively.
The same letter may be used as an array, a function, and a
simple variable simultaneously. All variables are global to
the program. auto variables are stacked during function
calls. When using arrays as function arguments or defining
them as automatic variables, empty square brackets must fol-
low the array name.
OPTIONS
-c Compile only. The output is dc commands that are
sent to the standard output.
-l Define the math functions and initialize scale to
20, instead of the default zero.
OPERANDSThe following operands are supported:
file A pathname of a text file containing bc program
statements. After all cases of file have been read,
bc will read the standard input.
EXAMPLES
In the shell, the following assigns an approximation of the
first ten digits of -n to the variable x :x=$(printf "%s\n" 'scale = 10; 104348/33215' | bc)
Defines a function to compute an approximate value of the
exponential function:
scale = 20
define e(x){
auto a, b, c, i, s
-
8/14/2019 all commands of linux
14/373
- 14 -
a = 1
b = 1
s = 1
for(i=1; 1==1; i++){
a = a * x
b = b * i
c = a / b
if(c == 0) return(s)
s = s + c
}
}
Prints approximate values of the exponential function of the
first ten integers:
for(i=1; i
-
8/14/2019 all commands of linux
15/373
- 15 -
SEE ALSO
dc(1), awk(1), attributes(5)
NOTES
The bc command does not recognize the logical operators &&and ||.
The for statement must have all three expressions (E's).
-
8/14/2019 all commands of linux
16/373
- 16 -
chgrpchgrp - change file group ownership
SYNOPSIS
chgrp [ -fhR ] group file
DESCRIPTION
The chgrp utility will set the group ID of the file named by
each file operand to the group ID specified by the group
operand.
For each file operand, it will perform actions equivalent to
the chown(2) function, called with the following arguments:
o The file operand will be used as the path argument.
o The user ID of the file will be used as the owner argu-
ment.
o The specified group ID will be used as the group argu-
ment.
Unless chgrp is invoked by a process with appropriate
privileges, the set-user-ID and set-group-ID bits of a regu-
lar file will be cleared upon successful completion; theset-user-ID and set-group-ID bits of other file types may be
cleared.
The operating system has a configuration option
{_POSIX_CHOWN_RESTRICTED}, to restrict ownership changes.
When this option is in effect, the owner of the file may
change the group of the file only to a group to which the
owner belongs. Only the super-user can arbitrarily change
owner IDs, whether or not this option is in effect. To set
this configuration option, include the following line in
/etc/system:set rstchown = 1
To disable this option, include the following line in
/etc/system:
set rstchown = 0
{_POSIX_CHOWN_RESTRICTED} is enabled by default. See sys-
tem(4) and fpathconf(2).
-
8/14/2019 all commands of linux
17/373
- 17 -
OPTIONS
-f Force. Do not report errors.
-h If the file is a symbolic link, change the group
of the symbolic link. Without this option, the
group of the file referenced by the symbolic linkis changed.
-R Recursive. chgrp descends through the directory,
and any subdirectories, setting the specified
group ID as it proceeds. When a symbolic link is
encountered, the group of the target file is
changed (unless the -h option is specified), but
no recursion takes place.
OPERANDS
The following operands are supported:
group A group name from the group database or a numeric
group ID. Either specifies a group ID to be given
to each file named by one of the file operands. If
a numeric group operand exists in the group database
as a group name, the group ID number associated with
that group name is used as the group ID.
file A path name of a f ile whose g roup ID is to b e modi-
fied.
USAGE
See largefile(5) for the description of the behavior of
chgrp when encountering files greater than or equal to 2
Gbyte (2**31 bytes).
ENVIRONMENT
See environ(5) for descriptions of the following environment
variables that affect the execution of chgrp: LC_CTYPE,
LC_MESSAGES, and NLSPATH.
EXIT STATUS
The following exit values are returned:
0 The utility executed successfully and all requested
changes were made.
>0 An error occurred.
-
8/14/2019 all commands of linux
18/373
- 18 -
FILES
/etc/group group file
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
______________________________________
| ATTRIBUTE TYPE| ATTRIBUTE VALUE |
|_______________|_____________________|
| Availability | SUNWcsu |
| CSI | Enabled (see NOTES)|
|_______________|_____________________|
SEE ALSO
chmod(1), chown(1), id(1M), chown(2), fpathconf(2),
group(4), passwd(4), system(4), attributes(5), environ(5),
largefile(5)
NOTES
chgrp is CSI-enabled except for the group name.
-
8/14/2019 all commands of linux
19/373
- 19 -
chmodchmod - change the permissions mode of a file
SYNOPSIS
chmod [ -fR ] file...
chmod [ -fR ] file...
DESCRIPTION
chmod changes or assigns the mode of a file. The mode of a
file specifies its permissions and other attributes. The
mode may be absolute or symbolic.
Absolute mode
An absolute mode is specified using octal numbers:
chmod nnnn file ...
where:
n a number from 0 to 7. An absolute mode is
constructed from the OR of any of the follow-
ing modes:
4000 Set user ID on execution.
20#0 Set group ID on execution if # is7, 5, 3, or 1.
Enable mandatory locking if # is 6,
4, 2, or 0.
For directories, files are created
with BSD semantics for propagation
of the group ID. With this option,
files and subdirectories created in
the directory inherit the group ID
of the directory, rather than of
the current process. It may be
cleared only by using symbolicmode.
1000 Turn on sticky bit. See chmod(2).
0400 Allow read by owner.
0200 Allow write by owner.
0100 Allow execute (search in directory)
by owner.
0700 Allow read, write, and execute
-
8/14/2019 all commands of linux
20/373
- 20 -
(search) by owner.
0040 Allow read by group.
0020 Allow write by group.
0010 Allow execute (search in directory)
by group.
0070 Allow read, write, and execute
(search) by group.
0004 Allow read by others.
0002 Allow write by others.
0001 Allow execute (search in directory)
by others.
0007 Allow read, write, and execute
(search) by others.
Note that the setgid bit cannot be set (or cleared) in abso-
lute mode; it must be set (or cleared) in symbolic mode
using g+s (or g-s).
Symbolic mode
A symbolic mode specification has the following format:
chmod file...
where: is a comma-separated list (with
no intervening whitespace) of symbolic mode expressions of
the form:
[who] operator [permissions]
Operations are performed in the order given. Multiple per-missions letters following a single operator cause the
corresponding operations to be performed simultaneously.
who zero or more of the characters u, g, o, and a
specifying whose permissions are to be
changed or assigned:
u user's permissions
g group's permissions
o others' permissions
a all permissions (user, group, andother)
If who is omitted, it defaults to a, but the
setting of the file mode creation mask (see
umask in sh(1) or csh(1) for more informa-
tion) is taken into account. When who is
omitted, chmod will not override the restric-
-
8/14/2019 all commands of linux
21/373
- 21 -
tions of your user mask.
operator either +, -, or =, signifying how permissions
are to be changed:
+ Add permissions.
If permissions is omitted, nothing
is added.
If who is omitted, add the file
mode bits represented by permis-
sions, except for the those with
corresponding bits in the file mode
creation mask.
If who is present, add the file
mode bits represented by the per-
missions.
- Take away permissions.
If permissions is omitted, do noth-
ing.
If who is omitted, clear the file
mode bits represented by permis-
sions, except for those with
corresponding bits in the file modecreation mask.
If who is present, clear the file
mode bits represented by permis-
sions.
= Assign permissions absolutely.
If who is omitted, clear all file
mode bits; if who is present, clear
the file mode bits represented bywho.
If permissions is omitted, do noth-
ing else.
If who is omitted, add the file
mode bits represented by permis-
-
8/14/2019 all commands of linux
22/373
- 22 -
sions, except for the those with
corresponding bits in the file mode
creation mask.
If who is present, add the file
mode bits represented by permis-
sions.
Unlike other symbolic operations, = has an
absolute effect in that it resets all other
bits represented by who. Omitting permis-
sions is useful only with = to take away all
permissions.
permission
any compatible combination of the following
letters:
r read permission
w write permission
x execute permission
l mandatory locking
s user or group set-ID
t sticky bit
u,g,o indicate that permission is to be
taken from the current user, group
or other mode respectively.
Permissions to a file may vary depending onyour user identification number (UID) or
group identification number (GID). Permis-
sions are described in three sequences each
having three characters:
User Group Other
rwx rwx rwx
This example (user, group, and others all
have permission to read, write, and execute a
given file) demonstrates two categories forgranting permissions: the access class and
the permissions themselves.
The letter s is only meaningful with u or g,
and t only works with u.
Mandatory file and record locking (l) refers
-
8/14/2019 all commands of linux
23/373
- 23 -
to a file's ability to have its reading or
writing permissions locked while a program is
accessing that file.
In a directory which has the set-group-ID bit
set (reflected as either -----s--- or -----
l--- in the output of 'ls -ld'), files and
subdirectories are created with the group-ID
of the parent directory-not that of current
process.
It is not possible to permit group execution
and enable a file to be locked on execution
at the same time. In addition, it is not
possible to turn on the set-group-ID bit and
enable a file to be locked on execution at
the same time. The following examples,
therefore, are invalid and elicit error mes-
sages:
chmod g+x,+l file
chmod g+s,+l file
Only the owner of a file or directory (or the
super-user) may change that file's or
directory's mode. Only the super-user may
set the sticky bit on a non-directory file.
If you are not super-user, chmod will mask
the sticky-bit but will not return an error.In order to turn on a file's set-group-ID
bit, your own group ID must correspond to the
file's and group execution must be set.
OPTIONS
The following options are supported:
-f Force. chmod will not complain if it fails to
change the mode of a file.
-R Recursively descend through directory arguments,
setting the mode for each file as described above.
When symbolic links are encountered, the mode of
the target file is changed, but no recursion takes
place.
OPERANDS
-
8/14/2019 all commands of linux
24/373
- 24 -
The following operands are supported:
mode Represents the change to be made to the file mode
bits of each file named by one of the file
operands; see DESCRIPTION.
file A path name of a file whose file mode bits are to
be modified.
USAGE
See largefile(5) for the description of the behavior of
chmod when encountering files greater than or equal to 2
Gbyte (2**31 bytes).
EXAMPLES
Deny execute permission to everyone:
example% chmod a-x file
Allow only read permission to everyone:
example% chmod 444 file
Make a file readable and writable by the group and others:
example% chmod go+rw file
example% chmod 066 file
Cause a file to be locked during access:
example% chmod +l file
Allow everyone to read, write, and execute the file and turn
on the set group-ID.
example% chmod a=rwx,g+s file
example% chmod 2777 file
ENVIRONMENT
See environ(5) for descriptions of the following environment
variables that affect the execution of chmod: LC_CTYPE,
LC_MESSAGES, and NLSPATH.
EXIT STATUS
The following exit values are returned:
-
8/14/2019 all commands of linux
25/373
- 25 -
0 Successful completion.
>0 An error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-butes:
__________________________________
| ATTRIBUTE TYPE| ATTRIBUTE VALUE|
|_______________|_________________|
| Availability | SUNWcsu |
| CSI | enabled |
|_______________|_________________|
SEE ALSO
ls(1), chmod(2), attributes(5), environ(5), largefile(5)
NOTES
Absolute changes don't work for the set-group-ID bit of a
directory. You must use g+s or g-s.
chmod permits you to produce useless modes so long as they
are not illegal (for instance, making a text file execut-
able). chmod does not check the file type to see if manda-
tory locking is meaningful.
If the filesystem is mounted with the nosuid option, setuid
execution is not allowed.
-
8/14/2019 all commands of linux
26/373
- 26 -
chownchown - change file ownership
SYNOPSIS
chown [ -fhR ] owner[:group] file...
DESCRIPTION
The chown utility will set the user ID of the file named by
each file to the user ID specified by owner, and, option-
ally, will set the group ID to that specified by group.
If chown is invoked by other than the super-user, the set-
user-ID bit is cleared.
Only the owner of a file (or the super-user) may change the
owner of that file.
The operating system has a configuration option
{_POSIX_CHOWN_RESTRICTED}, to restrict ownership changes.
When this option is in effect the owner of the file is
prevented from changing the owner ID of the file. Only the
super-user can arbitrarily change owner IDs whether or not
this option is in effect. To set this configuration option,
include the following line in /etc/system:
set rstchown = 1
To disable this option, include the following line in
/etc/system:
set rstchown = 0
{_POSIX_CHOWN_RESTRICTED} is enabled by default. See sys-
tem(4) and fpathconf(2).
OPTIONS
The following options are supported:
-f Do not report errors.
-h If the file is a symbolic link, change the owner of the
symbolic link. Without this option, the owner of the
-
8/14/2019 all commands of linux
27/373
- 27 -
file referenced by the symbolic link is changed.
-R Recursive. chown descends through the directory, and
any subdirectories, setting the ownership ID as it
proceeds. When a symbolic link is encountered, the
owner of the target file is changed (unless the -h
option is specified), but no recursion takes place.
OPERANDS
The following operands are supported:
owner[:group] A user ID and optional group ID to be
assigned to file. The owner portion of this
operand must be a user name from the user
database or a numeric user ID. Either speci-
fies a user ID to be given to each file named
by file. If a numeric owner exists in the
user database as a user name, the user ID
number associated with that user name will be
used as the user ID. Similarly, if the group
portion of this operand is present, it must
be a group name from the group database or a
numeric group ID. Either specifies a group
ID to be given to each file. If a numeric
group operand exists in the group database as
a group name, the group ID number associated
with that group name will be used as the
group ID.
file A path name of a file whose user ID is to bemodified.
USAGE
See largefile(5) for the description of the behavior of
chown when encountering files greater than or equal to 2
Gbyte (2**31 bytes).
ENVIRONMENT
See environ(5) for descriptions of the following environmentvariables that affect the execution of chown: LC_CTYPE,
LC_MESSAGES, and NLSPATH.
EXIT STATUS
The following exit values are returned:
0 The utility executed successfully and all requested
-
8/14/2019 all commands of linux
28/373
- 28 -
changes were made.
>0 An error occurred.
FILES
/etc/passwd system password file
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
______________________________________
| ATTRIBUTE TYPE| ATTRIBUTE VALUE |
|_______________|_____________________|
| Availability | SUNWcsu |
| CSI | Enabled (see NOTES)|
|_______________|_____________________|
SEE ALSO
chgrp(1), chmod(1), chown(2), fpathconf(2), passwd(4), sys-
tem(4), attributes(5), environ(5), largefile(5)
NOTES
chown is CSI-enabled except for the owner and group names.
-
8/14/2019 all commands of linux
29/373
- 29 -
cpcp - copy files
SYNOPSIS
/usr/bin/cp [-fip] source_file target_file
/usr/bin/cp [-fip] source_file... target
/usr/bin/cp -r|-R [-fip] source_dir... target
/usr/xpg4/bin/cp [-fip] source_file target_file
/usr/xpg4/bin/cp [-fip] source_file... target
/usr/xpg4/bin/cp -r|-R [-fip] source_dir... target
DESCRIPTION
In the first synopsis form, neither source_file nor
target_file are directory files, nor can they have the same
name. The cp utility will copy the contents of source_file
to the destination path named by target_file. If
target_file exists, cp will overwrite its contents, but the
mode (and ACL if applicable), owner, and group associated
with it are not changed. The last modification time of
target_file and the last access time of source_file are set
to the time the copy was made. If target_file does not
exist, cp creates a new file named target_file that has the
same mode as source_file except that the sticky bit is not
set unless the user is superuser; the owner and group oftarget_file are those of the owner. If target_file is a
link to another file with links, the other links remain and
target_file becomes a new file.
In the second synopsis form, one or more source_files are
copied to the directory specified by target. For each
source_file specified, a new file with the same mode (and
ACL if applicable), is created in target; the owner and
group are those of the user making the copy. It is an error
if any source_file is a file of type directory, if target
either does not exist or is not a directory.
In the third synopsis form, one or more directories speci-
fied by source_dir are copied to the directory specified by
target. Either -r or -R must be specified. For each
source_dir, cp will copy all files and subdirectories.
-
8/14/2019 all commands of linux
30/373
- 30 -
OPTIONS
The following options are supported for both /usr/bin/cp and
/usr/xpg4/bin/cp:
-f Unlink. If a file descriptor for a destination file
cannot be obtained, attempt to unlink the destina-tion file and proceed.
-i Interactive. cp will prompt for confirmation when-
ever the copy would overwrite an existing target. A
y answer means that the copy should proceed. Any
other answer prevents cp from overwriting target.
-r Recursive. cp will copy the directory and all its
files, including any subdirectories and their files
to target.
-R Same as -r, except pipes are replicated, not read
from.
/usr/bin/cp
The following option is supported for /usr/bin/cp only:
-p Preserve. cp duplicates not only the contents of
source_file, but also preserves the owner and group id,
permissions modes, modification and access time, and
ACLs if applicable. Note that the command may fail if
ACLs are copied to a file system that does not support
ACLs. The command will not fail if unable to preserve
modification and access time or permission modes. If
unable to preserve owner and group id, cp will not
fail, and it will clear S_ISUID and S_ISGID bits in the
target. cp will print a diagnostic message to stderr
and return a non-zero exit status if unable to clear
these bits.
In order to preserve the owner and group id, permission
modes, and modification and access times, users must
have the appropriate file access permissions; this
includes being superuser or the same owner id as thedestination file.
/usr/xpg4/bin/cp
The following option is supported for /usr/xpg4/bin/cp only:
-p Preserve. cp duplicates not only the contents of
source_file, but also preserves the owner and group id,
-
8/14/2019 all commands of linux
31/373
- 31 -
permission modes, modification and access time, and
ACLs if applicable. Note that the command may fail if
ACLs are copied to a file system that does not support
ACLs. If unable to duplicate the modification and
access time or the permission modes, cp will print a
diagnostic message to stderr and return a non-zero exit
status. If unable to preserve owner and group id, cp
will not fail, and it will clear S_ISUID and S_ISGID
bits in the target. cp will print a diagnostic message
to stderr and return a non-zero exit status if unable
to clear these bits.
In order to preserve the owner and group id, permission
modes, and modification and access times, users must
have the appropriate file access permissions; this
includes being superuser or the same owner id as the
destination file.
OPERANDS
The following operands are supported:
source_file A path name of a regular file to be copied.
source_dir A path name of a directory to be copied.
target_file A pathname of an existing or non-existing
file, used for the output when a single file
is copied.
target A pathname of a directory to contain the
copied files.
USAGE
See largefile(5) for the description of the behavior of cp
when encountering files greater than or equal to 2 Gbyte
(2**31 bytes).
EXAMPLES1. To copy a file:
example% cp goodies goodies.old
example% ls goodies*
goodies goodies.old
2. To copy a list of files to a destination directory:
-
8/14/2019 all commands of linux
32/373
- 32 -
example% cp ~/src/* /tmp
3. To copy a directory, first to a new, and then to an
existing destination directory:
example% ls ~/bkup
/usr/example/fred/bkup not found
example% cp -r ~/src ~/bkup
example% ls -R ~/bkup
x.c y.c z.sh
example% cp -r ~/src ~/bkup
example% ls -R ~/bkup
src x.c y.c z.sh
src:
x.c y.c z.sh
ENVIRONMENT
See environ(5) for descriptions of the following environment
variables that affect the execution of cp: LC_COLLATE,
LC_CTYPE, LC_MESSAGES, and NLSPATH.
EXIT STATUS
The following exit values are returned:
0 All files were copied successfully.
>0 An error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
/usr/bin/cp
__________________________________
| ATTRIBUTE TYPE| ATTRIBUTE VALUE|
|_______________|_________________|
| Availability | SUNWcsu |
| CSI | enabled |
|_______________|_________________|
/usr/xpg4/bin/cp
__________________________________
| ATTRIBUTE TYPE| ATTRIBUTE VALUE|
|_______________|_________________|
| Availability | SUNWxcu4 |
| CSI | enabled |
-
8/14/2019 all commands of linux
33/373
- 33 -
|_______________|_________________|
SEE ALSO
chmod(1), chown(1), setfacl(1), utime(2), attributes(5),
environ(5), largefile(5), xpg4(5)
NOTES
The permission modes of the source file are preserved in the
copy.
A -- permits the user to mark the end of any command line
options explicitly, thus allowing cp to recognize filename
arguments that begin with a -.
If a -- and a - both appear on the same command line, the
second will be interpreted as a filename.
-
8/14/2019 all commands of linux
34/373
- 34 -
croncron - clock daemon
SYNOPSIS
/usr/sbin/cron
DESCRIPTION
The cron command starts a process that executes commands at
specified dates and times. Regularly scheduled commands can
be specified according to instructions found in crontab
files in the directory /var/spool/cron/crontabs. Users can
submit their own crontab file using the crontab(1) command.
Commands which are to be executed only once may be submitted
using the at(1) command.
cron only examines crontab or at command files during its
own process initialization phase and when the crontab or at
command is run. This reduces the overhead of checking for
new or changed files at regularly scheduled intervals.
Since cron never exits, it should be executed only once.
This is done routinely through /etc/rc2.d/S75cron at system
boot time. The file /etc/cron.d/FIFO is used (among other
things) as a lock file to prevent the execution of more than
one instance of cron.
cron captures the output of the job's stdout and stderr
streams, and, if it is non-empty, mails the output to the
user. If the job does not produce output, no mail is sent
to the user (unless the job is an at(1) job and the -m
option was specified when the job was submitted).
Setting cron Defaults
To keep a log of all actions taken by cron, CRONLOG=YES (by
default) must be specified in the /etc/default/cron file.
If CRONLOG=NO is specified, no logging is done. Keeping thelog is a user configurable option since cron usually creates
huge log files.
The PATH for user cron jobs can be set using PATH= in
/etc/default/cron. The PATH for root cron jobs can be set
using SUPATH= in /etc/default/cron. The security implica-
tions of setting PATH and SUPATH should be carefully con-
-
8/14/2019 all commands of linux
35/373
- 35 -
sidered.
Example /etc/default/cron file:
CRONLOG=YES
PATH=/usr/bin:/usr/ucb:
This example enables logging and sets the default PATH used
by non-root jobs to /usr/bin:/usr/ucb:. Root jobs will
continue to use /usr/sbin:/usr/bin.
/etc/cron.d/logchecker is a script that checks to see if the
log file has exceeded the system ulimit. If so, the log
file is moved to /var/cron/olog.
FILES
/etc/cron.d main cron directory
/etc/cron.d/FIFO used as a lock file
/etc/default/cron contains cron default settings
/var/cron/log cron history information
/var/spool/cron spool area
/etc/cron.d/logchecker moves log file to /var/cron/olog if
log file exceeds system ulimit.
/etc/cron.d/queuedefs queue description file for at,
batch, and cron.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-butes:
__________________________________
| ATTRIBUTE TYPE| ATTRIBUTE VALUE|
|_______________|_________________|
| Availability | SUNWcsu |
|_______________|_________________|
SEE ALSO
at(1), crontab(1), sh(1), queuedefs(4), attributes(5)
DIAGNOSTICS
A history of all actions taken by cron is stored in
/var/cron/log and (possibly) /var/cron/olog.
-
8/14/2019 all commands of linux
36/373
- 36 -
cshcsh - shell command interpreter with a C-like syntax
SYNOPSIS
csh [ -bcefinstvVxX ] [ argument... ]
DESCRIPTION
csh, the C shell, is a command interpreter with a syntax
reminiscent of the C language. It provides a number of con-
venient features for interactive use that are not available
with the Bourne shell, including filename completion, com-
mand aliasing, history substitution, job control, and a
number of built-in commands. As with the Bourne shell, the
C shell provides variable, command and filename substitu-
tion.
Initialization and Termination
When first started, the C shell normally performs commands
from the .cshrc file in your home directory, provided that
it is readable and you either own it or your real group ID
matches its group ID. If the shell is invoked with a name
that starts with `-', as when started by login(1), the shell
runs as a login shell.
If the shell is a login shell, this is the sequence of invo-cations: First, commands in /etc/.login are executed.
Next, commands from the .cshrc file your home directory are
executed. Then the shell executes commands from the .login
file in your home directory; the same permission checks as
those for .cshrc are applied to this file. Typically, the
.login file contains commands to specify the terminal type
and environment. (For an explanation of file interpreters,
see below "Command Execution" and exec(2).)
As a login shell terminates, it performs commands from the
.logout file in your home directory; the same permissionchecks as those for .cshrc are applied to this file.
Interactive Operation
After startup processing is complete, an interactive C shell
begins reading commands from the terminal, prompting with
hostname% (or hostname# for the privileged user). The shell
then repeatedly performs the following actions: a line of
-
8/14/2019 all commands of linux
37/373
- 37 -
command input is read and broken into words. This sequence
of words is placed on the history list and then parsed, as
described under USAGE, below. Finally, the shell executes
each command in the current line.
Noninteractive Operation
When running noninteractively, the shell does not prompt for
input from the terminal. A noninteractive C shell can exe-
cute a command supplied as an argument on its command line,
or interpret commands from a file, also known as a script.
OPTIONS
-b Force a "break" from option processing. Subsequent
command line arguments are not interpreted as C
shell options. This allows the passing ofOPTIONS
to a script without confusion. The shell does not
run set-user-ID or set-group-ID scripts unless
this option is present.
-c Execute the first argument (which must be
present). Remaining arguments are placed in argv,
the argument-list variable, and passed directly to
csh.
-e Exit if a command terminates abnormally or yields
a nonzero exit status.
-f Fast start. Read neither the .cshrc file, nor the
.login file (if a login shell) upon startup.
-i Forced interactive. Prompt for command line input,
even if the standard input does not appear to be a
terminal (character-special device).
-n Parse (interpret), but do not execute commands.
This option can be used to check C shell scripts
for syntax errors.
-s Take commands from the standard input.
-t Read and execute a single command line. A `\'
(backslash) can be used to escape each newline for
continuation of the command line onto subsequent
input lines.
-
8/14/2019 all commands of linux
38/373
- 38 -
-v Verbose. Set the verbose predefined variable; com-
mand input is echoed after history substitution
(but before other substitutions) and before execu-
tion.
-V Set verbose before reading .cshrc.
-x Echo. Set the echo variable; echo commands after
all substitutions and just before execution.
-X Set echo before reading .cshrc.
Except with the options -c, -i, -s, or -t, the first nonop-
tion argument is taken to be the name of a command or
script. It is passed as argument zero, and subsequent argu-
ments are added to the argument list for that command or
script.
USAGE
Filename Completion
When enabled by setting the variable filec, an interactive C
shell can complete a partially typed filename or user name.
When an unambiguous partial filename is followed by an ESC
character on the terminal input line, the shell fills in the
remaining characters of a matching filename from the working
directory.
If a partial filename is followed by the EOF character (usu-ally typed as CTRL-d), the shell lists all filenames that
match. It then prompts once again, supplying the incomplete
command line typed in so far.
When the last (partial) word begins with a tilde (~), the
shell attempts completion with a user name, rather than a
file in the working directory.
The terminal bell signals errors or multiple matches; this
can be inhibited by setting the variable nobeep. You can
exclude files with certain suffixes by listing those suf-fixes in the variable fignore. If, however, the only possi-
ble completion includes a suffix in the list, it is not
ignored. fignore does not affect the listing of filenames by
the EOF character.
Lexical Structure
The shell splits input lines into words at space and tab
-
8/14/2019 all commands of linux
39/373
- 39 -
characters, except as noted below. The characters &, |, ;,
, (, and ) form separate words; if paired, the pairs
form single words. These shell metacharacters can be made
part of other words, and their special meaning can be
suppressed by preceding them with a `\' (backslash). A new-
line preceded by a \ is equivalent to a space character.
In addition, a string enclosed in matched pairs of single-
quotes ('), double-quotes ("), or backquotes (`), forms a
partial word; metacharacters in such a string, including any
space or tab characters, do not form separate words. Within
pairs of backquote (`) or double-quote (") characters, a
newline preceded by a `\' (backslash) gives a true newline
character. Additional functions of each type of quote are
described, below, under Variable Substitution, Command Sub-
stitution, and Filename Substitution.
When the shell's input is not a terminal, the character #
introduces a comment that continues to the end of the input
line. Its special meaning is suppressed when preceded by a
\ or enclosed in matching quotes.
Command Line Parsing
A simple command is composed of a sequence of words. The
first word (that is not part of an I/O redirection) speci-
fies the command to be executed. A simple command, or a set
of simple commands separated by | or |& characters, forms a
pipeline. With |, the standard output of the preceding com-
mand is redirected to the standard input of the command that
follows. With |&, both the standard error and the standardoutput are redirected through the pipeline.
Pipelines can be separated by semicolons (;), in which case
they are executed sequentially. Pipelines that are separated
by && or || form conditional sequences in which the execu-
tion of pipelines on the right depends upon the success or
failure, respectively, of the pipeline on the left.
A pipeline or sequence can be enclosed within parentheses `(
)' to form a simple c ommand t hat c an b e a component i n a
pipeline or sequence.
A sequence of pipelines can be executed asynchronously or
"in the background" by appending an `&'; rather than waiting
for the sequence to finish before issuing a prompt, the
shell displays the job number (see Job Control, below) and
associated process IDs and prompts immediately.
-
8/14/2019 all commands of linux
40/373
- 40 -
History Substitution
History substitution allows you to use words from previous
command lines in the command line you are typing. This sim-
plifies spelling corrections and the repetition of compli-
cated commands or arguments. Command lines are saved in the
history list, the size of which is controlled by the history
variable. The most recent command is retained in any case.
A history substitution begins with a ! (although you can
change this with the histchars variable) and may occur any-
where on the command line; history substitutions do not
nest. The ! can be escaped with \ to suppress its special
meaning.
Input lines containing history substitutions are echoed on
the terminal after being expanded, but before any other sub-
stitutions take place or the command gets executed.
Event Designators
An event designator is a reference to a command line entry
in the history list.
! Start a history substitution, except when followed
by a space character, tab, newline, = or (.
!! Refer to the previous command. By itself, this
substitution repeats the previous command.
!n Refer to command line n.
!-n Refer to the current command line minus n.
!str Refer to the most recent command starting with
str.
!?str?Refer to the most recent command containing str.
!?str? additional
Refer to the most recent command containing str
and append additional to that referenced command.
!{command} additional
Refer to the most recent command beginning with
command and append additional to that referenced
command.
^previous_word^replacement^
Repeat the previous command line replacing the
string previous_word with the string replacement.This is equivalent to the history substitution:
!:s/previous_word/replacement/.
To re-execute a specific previous command AND make
such a substitution, say, re-executing command #6,
!:6s/previous_word/replacement/.
-
8/14/2019 all commands of linux
41/373
- 41 -
Word Designators
A `:' (colon) separates the event specification from the
word designator. It can be omitted if the word designator
begins with a ^, $, *, - or %. If the word is to be
selected from the previous command, the second ! character
can be omitted from the event specification. For instance,
!!:1 and !:1 both refer to the first word of the previous
command, while !!$ and !$ both refer to the last word in the
previous command. Word designators include:
# The entire command line typed so far.
0 The first input word (command).
n The n'th argument.
^ The first argument, that is, 1.
$ The last argument.
% The word matched by (the most recent) ?s search.
x-y A range of words; -y abbreviates 0-y.
* All the arguments, or a null value if there is
just one word in the event.
x* Abbreviates x-$.
x- Like x* but omitting word $.
Modifiers
After the optional word designator, you can add one of the
following modifiers, preceded by a :.
h Remove a trailing pathname component, leaving the
head.
r Remove a trailing suffix of the form `.xxx', leav-ing the basename.
e Remove all but the suffix, leaving the Extension.
s/l/r/
Substitute r for l.
t Remove all leading pathname components, leaving
the tail.
& Repeat the previous substitution.
g Apply the change to the first occurrence of a
match in each word, by prefixing the above (for
example, g&).
p Print the new command but do not execute it.q Quote the substituted words, escaping further sub-
stitutions.
x Like q, but break into words at each space charac-
ter, tab or newline.
Unless preceded by a g, the modification is applied only to
the first string that matches l; an error results if no
-
8/14/2019 all commands of linux
42/373
- 42 -
string matches.
The left-hand side of substitutions are not regular expres-
sions, but character strings. Any character can be used as
the delimiter in place of /. A backslash quotes the delim-
iter character. The character &, in the right hand side, is
replaced by the text from the left-hand-side. The & can be
quoted with a backslash. A null l uses the previous string
either from a l or from a contextual scan string s from !?s.
You can omit the rightmost delimiter if a newline immedi-
ately follows r; the rightmost ? in a context scan can
similarly be omitted.
Without an event specification, a history reference refers
either to the previous command, or to a previous history
reference on the command line (if any).
Quick Substitution
^l^r^
This is equivalent to the history substitution:
!:s/l/r/.
Aliases
The C shell maintains a list of aliases that you can create,
display, and modify using the alias and unalias commands.
The shell checks the first word in each command to see if it
matches the name of an existing alias. If it does, the com-
mand is reprocessed with the alias definition replacing its
name; the history substitution mechanism is made availableas though that command were the previous input line. This
allows history substitutions, escaped with a backslash in
the definition, to be replaced with actual command line
arguments when the alias is used. If no history substitu-
tion is called for, the arguments remain unchanged.
Aliases can be nested. That is, an alias definition can con-
tain the name of another alias. Nested aliases are expanded
before any history substitutions is applied. This is useful
in pipelines such as
alias lm 'ls -l \!* | more'
which when called, pipes the output of ls(1) through
more(1).
Except for the first word, the name of the alias may not
appear in its definition, nor in any alias referred to by
its definition. Such loops are detected, and cause an error
-
8/14/2019 all commands of linux
43/373
- 43 -
message.
I/O Redirection
The following metacharacters indicate that the subsequent
word is the name of a file to which the command's standard
input, standard output, or standard error is redirected;
this word is variable, command, and filename expanded
separately from the rest of the command.
< Redirect the standard input.
! >& >&!
Redirect the standard output to a file. If
the file does not exist, it is created. If
it does exist, it is overwritten; its previ-
ous contents are lost.
When set, the variable noclobber prevents
destruction of existing files. It also
prevents redirection to terminals and
/dev/null, unless one of the ! forms is
used. The & forms redirect both standard
output and the standard error (diagnostic
output) to the file.
>> >>& >>! >>&!
Append the standard output. Like >, but
places output at the end of the file rather
than overwriting it. If noclobber is set, itis an error for the file not to exist, unless
one of the ! forms is used. The & forms
append both the standard error and standard
output to the file.
Variable Substitution
The C shell maintains a set of variables, each of which is
-
8/14/2019 all commands of linux
44/373
- 44 -
composed of a name and a value. A variable name consists of
up to 20 letters and digits, and starts with a letter (the
underscore is considered a letter). A variable's value is a
space-separated list of zero or more words.
To refer to a variable's value, precede its name with a `$'.
Certain references (described below) can be used to select
specific words from the value, or to display other informa-
tion about the variable. Braces can be used to insulate the
reference from other characters in an input-line word.
Variable substitution takes place after the input line is
analyzed, aliases are resolved, and I/O redirections are
applied. Exceptions to this are variable references in I/O
redirections (substituted at the time the redirection is
made), and backquoted strings (see Command Substitution).
Variable substitution can be suppressed by preceding the $
with a \, except within double-quotes where it always
occurs. Variable substitution is suppressed inside of
single-quotes. A $ is escaped if followed by a space char-
acter, tab or newline.
Variables can be created, displayed, or destroyed using the
set and unset commands. Some variables are maintained or
used by the shell. For instance, the argv variable contains
an image of the shell's argument list. Of the variables
used by the shell, a number are toggles; the shell does not
care what their value is, only whether they are set or not.
Numerical values can be operated on as numbers (as with the
@ built-in command). With numeric operations, an empty
value is considered to be zero; the second and subsequent
words of multiword values are ignored. For instance, when
the verbose variable is set to any value (including an empty
value), command input is echoed on the terminal.
Command and filename substitution is subsequently applied to
the words that result from the variable substitution, except
when suppressed by double-quotes, when noglob is set(suppressing filename substitution), or when the reference
is quoted with the :q modifier. Within double-quotes, a
reference is expanded to form (a portion of) a quoted
string; multiword values are expanded to a string with
embedded space characters. When the :q modifier is applied
to the reference, it is expanded to a list of space-
separated words, each of which is quoted to prevent subse-
-
8/14/2019 all commands of linux
45/373
- 45 -
quent command or filename substitutions.
Except as noted below, it is an error to refer to a variable
that is not set.
$var
${var} These are replaced by words from the value of
var, each separated by a space character. If
var is an environment variable, its value is
returned (but `:' modifiers and the other
forms given below are not available).
$var[index]
${var[index]} These select only the indicated words from
the value of var. Variable substitution is
applied to index, which may consist of (or
result in) a either single number, two
numbers separated by a `-', or an asterisk.
Words are indexed starting from 1; a `*'
selects all words. If the first number of a
range is omitted (as with $argv[-2]), it
defaults to 1. If the last number of a range
is omitted (as with $argv[1-]), it defaults
to $#var (the word count). It is not an
error for a range to be empty if the second
argument is omitted (or within range).
$#name
${#name} These give the number of words in the vari-able.
$0 This substitutes the name of the file from
which command input is being read except for
setuid shell scripts. An error occurs if the
name is not known.
$n
${n} Equivalent to $argv[n].
$* Equivalent to $argv[*].
The modifiers :e, :h, :q, :r, :t, and :x can be applied (see
History Substitution), as can :gh, :gt, and :gr. If {}
(braces) are used, then the modifiers must appear within the
braces. The current implementation allows only one such
modifier per expansion.
The following references may not be modified with : modif-
-
8/14/2019 all commands of linux
46/373
- 46 -
iers.
$?var
${?var}
Substitutes t he s tring 1 if v ar i s set o r 0 if it is
not set.
$?0 Substitutes 1 if the current input filename is known or
0 if it is not.
$$ Substitute the process number of the (parent) shell.
$< Substitutes a line from the standard input, with no
further interpretation thereafter. It can be used to
read from the keyboard in a C shell script.
Command and Filename Substitutions
Command and filename substitutions are applied selectively
to the arguments of built-in commands. Portions of expres-
sions that are not evaluated are not expanded. For non-
built-in commands, filename expansion of the command name is
done separately from that of the argument list; expansion
occurs in a subshell, after I/O redirection is performed.
Command Substitution
A command enclosed by backquotes (`...`) is performed by a
subshell. Its standard output is broken into separate words
at each space character, tab and newline; null words are
discarded. This text replaces the backquoted string on thecurrent command line. Within double-quotes, only newline
characters force new words; space and tab characters are
preserved. However, a final newline is ignored. It is
therefore possible for a command substitution to yield a
partial word.
Filename Substitution
Unquoted words containing any of the characters *, ?, [ or
{, or that begin with ~, are expanded (also known as glob-
bing) to an alphabetically sorted list of filenames, as fol-
lows:
* Match any (zero or more) characters.
? Match any single character.
[ ... ] Match any single character in the enclosed
list(s) or range(s). A list is a string of
-
8/14/2019 all commands of linux
47/373
- 47 -
characters. A range is two characters
separated by a dash (-), and includes all the
characters in between in the ASCII collating
sequence (see ascii(5)).
{ str, s tr, . .. }
Expand to each string (or filename-matching
pattern) in the comma-separated list. Unlike
the pattern-matching expressions above, the
expansion of this construct is not sorted.
For instance, {b,a} expands to `b' `a', (not
`a' `b'). As special cases, the characters {
and }, along with the string {}, are passed
undisturbed.
~[user] Your home directory, as indicated by the
value of the variable home, or that of user,
as indicated by the password entry for user.
Only the patterns *, ? and [...] imply pattern matching;
an error results if no filename matches a pattern that con-
tains them. The `.' (dot character), when it is the first
character in a filename or pathname component, must be
matched explicitly. The / (slash) must also be matched
explicitly.
Expressions and Operators
A number of C shell built-in commands accept expressions, in
which the operators are similar to those of C and have the
same precedence. These expressions typically appear in the@, exit, if, set and while commands, and are often used to
regulate the flow of control for executing commands. Com-
ponents of an expression are separated by white space.
Null or missing values are considered 0. The result of all
expressions is a string, which may represent decimal
numbers.
The following C shell operators are grouped in order of pre-
cedence:
(...) grouping
~ one's complement
! logical negation
* / % multiplication, division, remainder
(These are right associative, which
can lead to unexpected results.
Group combinations explicitly with
-
8/14/2019 all commands of linux
48/373
- 48 -
parentheses.)
+ - addition, subtraction (also right
associative)
> bitwise shift left, bitwise shift
right
< > = less than, greater than, less than
or equal to, greater than or equal
to
== != =~ !~ equal to, not equal to, filename-
substitution pattern match
(described below), filename-
substitution pattern mismatch
& bitwise AND
^ bitwise XOR (exclusive or)
| bitwise inclusive OR
&& logical AND
|| logical OR
The operators: ==, !=, =~, and !~ compare their arguments
as strings; other operators use numbers. The operators =~
and !~ each check whether or not a string to the left
matches a filename substitution pattern on the right. This
reduces the need for switch statements when pattern-matching
between strings is all that is required.
Also available are file inquiries:
-r filename Return true, or 1 if the user has read
access. Otherwise it returns false, or 0.
-w filename True if the user has write access.-x filename True if the user has execute permission
(or search permission on a directory).
-e filename True if filename exists.
-o filename True if the user owns filename.
-z filename True if filename is of zero length
(empty).
-f filename True if filename is a plain file.
-d filename True if filename is a directory.
If filename does not exist or is inaccessible, then all
inquiries return false.
An inquiry as to the success of a command is also available:
{ command } If command runs successfully, the expres-
sion evaluates to true, 1. Otherwise, it
evaluates to false, 0. (Note: Con-
versely, command itself typically returns
-
8/14/2019 all commands of linux
49/373
- 49 -
0 when it runs successfully, or some other
value if it encounters a problem. If you
want to get at the status directly, use
the value of the status variable rather
than this expression).
Control Flow
The shell contains a number of commands to regulate the flow
of control in scripts and within limits, from the terminal.
These commands operate by forcing the shell either to reread
input (to loop), or to skip input under certain conditions
(to branch).
Each occurrence of a foreach, switch, while, if...then and
else built-in command must appear as the first word on its
own input line.
If the shell's input is not seekable and a loop is being
read, that input is buffered. The shell performs seeks
within the internal buffer to accomplish the rereading
implied by the loop. (To the extent that this allows, back-
ward goto commands will succeed on nonseekable inputs.)
Command Execution
If the command is a C shell built-in command, the shell exe-
cutes it directly. Otherwise, the shell searches for a file
by that name with execute access. If the command name con-
tains a /, the shell takes it as a pathname, and searches
for it. If the command name does not contain a /, the shell
attempts to resolve it to a pathname, searching each direc-tory in the path variable for the command. To speed the
search, the shell uses its hash table (see the rehash
built-in command) to eliminate directories that have no
applicable files. This hashing can be disabled with the -c
or -t, options, or the unhash built-in command.
As a special case, if there is no / in the name of the
script and there is an alias for the word shell, the expan-
sion of the shell alias is prepended (without modification)
to the command line. The system attempts to execute the
first word of this special (late-occurring) alias, whichshould be a full pathname. Remaining words of the alias's
definition, along with the text of the input line, are
treated as arguments.
When a pathname is found that has proper execute permis-
sions, the shell forks a new process and passes it, along
with its arguments, to the kernel using the execve() system
-
8/14/2019 all commands of linux
50/373
- 50 -
call (see exec(2)). The kernel then attempts to overlay the
new process with the desired program. If the file is an
executable binary (in a.out(4) format) the kernel succeeds
and begins executing the new process. If the file is a text
file and the first line begins with #!, the next word is
taken to be the pathname of a shell (or command) to inter-
pret that script. Subsequent words on the first line are
taken as options for that shell. The kernel invokes (over-
lays) the indicated shell, using the name of the script as
an argument.
If neither of the above conditions holds, the kernel cannot
overlay the file and the execve() call fails (see exec(2));
the C shell then attempts to execute the file by spawning a
new shell, as follows:
+ If the first character of the file is a #, a C shell
is invoked.
+ Otherwise, a Bourne shell is invoked.
Signal Handling
The shell normally ignores QUIT signals. Background jobs
are immune to signals generated from the keyboard, including
hangups (HUP). Other signals have the values that the C
shell inherited from its environment. The shell's handling
of interrupt and terminate signals within scripts can be
controlled by the onintr built-in command. Login shells
catch the TERM signal; otherwise, this signal is passed on
to child processes. In no case are interrupts allowed when
a login shell is reading the .logout file.
Job Control
The shell associates a numbered job with each command
sequence to keep track of those commands that are running in
the background or have been stopped with TSTP signals (typi-
cally CTRL-z). When a command or command sequence (semi-
colon separated list) is started in the background using the
& metacharacter, the shell displays a line with the job
number in brackets and a list of associated process numbers:
[1] 1234
To see the current list of jobs, use the jobs built-in com-
mand. The job most recently stopped (or put into the back-
ground if none are stopped) is referred to as the current
job and is indicated with a `+'. The previous job is indi-
cated with a `-'; when the current job is terminated or
moved to the foreground, this job takes its place (becomes
-
8/14/2019 all commands of linux
51/373
-
8/14/2019 all commands of linux
52/373
-
8/14/2019 all commands of linux
53/373
-
8/14/2019 all commands of linux
54/373
- 54 -
goto label
The specified label is a filename and a command
expanded to yield a label. The shell rewinds its
input as much as possible and searches for a line
of the form label: possibly preceded by space or
tab characters. Execution continues after the
indicated line. It is an error to jump to a label
that occurs between a while or for built-in com-
mand and its corresponding end.
hashstat Print a statistics line indicating how effective
the internal hash table for the path variable has
been at locating commands (and avoiding execs).
An exec is attempted for each component of the
path where the hash function indicates a possible
hit and in each component that does not begin with
a `/'. These statistics only reflect the effec-
tiveness of the path variable, not the cdpath
variable.
history [ -hr ] [ n ]
Display the history list; if n is given, display
only the n most recent events.
-r Reverse the order of printout to be most
recent first rather than oldest first.
-h Display the history list without leadingnumbers. This is used to produce files suit-
able for sourcing using the -h option to
source.
if (expr) command
If the specified expression evaluates to true, the
single command with arguments is executed. Vari-
able substitution on command happens early, at the
same time it does for the rest of the if command.
command must be a simple command, not a pipeline,
a command list, or a parenthesized command list.
Note: I/O redirection occurs even if expr isfalse, when command is not executed (this is a
bug).
if (expr) then
...
else if (expr2) then
...
-
8/14/2019 all commands of linux
55/373
- 55 -
else
...
endif If expr is true, commands up to the first else are
executed. Otherwise, if expr2 is true, the com-
mands between the else if and the second else are
executed. Otherwise, commands between the else
and the endif are executed. Any number of else if
pairs are allowed, but only one else. Only one
endif is needed, but it is required. The words
else and endif must be the first nonwhite charac-
ters o n a line. The i f m ust a ppear a lone on its
input line or after an else.
jobs[-l] List the active jobs under job control.
-l List process IDs, in addition to the normal
information.
kill [ -sig ] [ pid ] [ %job ] ...
kill -l Send the TERM (terminate) signal, by default, or
the signal specified, to the specified process ID,
the job indicated, or the current job. Signals
are either given by number or by name. There is
no default. Typing kill does not send a signal to
the current job. If the signal being sent is TERM
(terminate) or HUP (hangup), then the job or pro-
cess is sent a CONT (continue) signal as well.
-l List the signal names that can be sent.
limit [ -h ] [ resource [ max-use ] ]
Limit the consumption by the current process or
any process it spawns, each not to exceed max-use
on the specified resource. If max-use is omitted,
print the current limit; if resource is omitted,
display all limits. (Run the sysdef(1M) command
to obtain the maximum possible limits for your
system. The values reported are in hexadecimal,
but can be translated into decimal numbers using
the bc(1) command).
-h Use hard limits instead of the current lim-
its. Hard limits impose a ceiling on the
values of the current limits. Only the
privileged user may raise the hard limits.
resource is one of:
-
8/14/2019 all commands of linux
56/373
- 56 -
cputime Maximum CPU seconds per pro-
cess.
filesize Largest single file allowed;
limited to the size of the
filesystem. (see df(1M)).
datasize (heapsize)
Maximum data size (including
stack) for the process. This
is the size of your virtual
memory See swap(1M).
stacksize Maximum stack size for the
process. See swap(1M).
coredumpsize Maximum size of a core dump
(file). This limited to the
size of the filesystem.
descriptors Maximum number of file
descriptors. Run sysdef().
memorysize Maximum size of virtual
memory.
max-use is a number, with an optional scaling fac-
tor, as follows:
nh Hours (for cputime).
nk n kilobytes. This is the default
for all but cputime.
nm n megabytes or minutes (for cpu-
time).mm:ss Minutes and seconds (for cputime).
Example of limit: to limit the size of a core
file dump to 0 Megabytes, type the following:
limit coredumpsize 0M
login [ username| -p ]
Terminate a login shell and invoke login(1). The
.logout file is not processed. If username is
omitted, login prompts for the name of a user.
-p Preserve the current environment (variables).
logout Terminate a login shell.
nice [ +n | -n ] [ command ]
Increment the process priority value for the shell
or for command by n. The higher the priority
value, the lower the priority of a process, and
-
8/14/2019 all commands of linux
57/373
- 57 -
the slower it runs. When given, command is always
run in a subshell, and the restrictions placed on
commands in simple if commands apply. If command
is omitted, nice increments the value for the
current shell. If no increment is specified, nice
sets the process priority value to 4. The range
of process priority values is from -20 to 20.
Values of n outside this range set the value to
the lower, or to the higher boundary, respec-
tively.
+n Increment the process priority value by n.
-n Decrement by n. This argument can be used
only by the privileged user.
nohup [ command ]
Run command with HUPs ignored. With no arguments,
ignore HUPs throughout the remainder of a script.
When given, command is always run in a subshell,
and the restrictions placed on commands in simple
if statements apply. All processes detached with
& are effectively nohup'd.
notify [ %job ] ...
Notify the user asynchronously when the status of
the current job or specified jobs changes.
onintr [ -| label]Control the action of the shell on interrupts.
With no arguments, onintr restores the default
action of the shell on interrupts. (The shell
terminates shell scripts and returns to the termi-
nal command input level). With the - argument,
the shell ignores all interrupts. With a label
argument, the shell executes a goto label when an
interrupt is received or a child process ter-
minates because it was interrupted.
popd [ +n ] Pop the directory stack and cd to the new topdirectory. The elements of the directory stack
are numbered from 0 starting at the top.
+n Discard the n'th entry in the stack.
pushd [ +n | dir]
Push a directory onto the directory stack. With
no arguments, exchange the top two elements.
top related