SYNOPSIS<sysutil $action [option ...] $arg [...]>
DESCRIPTION
The sysutil function provides various file and system
utilities. The $action argument determines the action;
its possible values and the expected syntax of successive arguments
are as follows:
mkdir or md $dir [$dir ...]
Creates each directory named in $dir and successive
arguments. If a permissions mode is given as an option (see
below), the directory will be created with that mode; the default
is 0777. In either case the mode is masked by the process's
umask.chown or lchown $owner $file [$file ...]
Changes ownership of each file named by $file and
successive arguments to the user and/or group named by the
parallel value of $owner. If there are more file values
than $owner values, the last $owner value is
re-used. If the owner value has a period or colon appended, an
optional group name may appear afterwards, in which case the group
will be changed as well. If the group name is empty, the named
user's default group will be used. If the named user is empty but
a group is present (e.g. value starts with period or colon), only
the group is changed; in this case the behavior is that of
chgrp or lchgrp. If lchown is used, the
owner of symlinks is changed instead of the file the symbolic link
points to. Note: These actions are unimplemented under
Windows.chgrp or lchgrp $group $file [$file ...]
Changes the group of each file named by $file and
successive arguments to the group named by the corresponding value
of $group. If there are more file values than
$group values, the last $group value is re-used. If
lchgrp is used instead of chgrp, the group of
symlinks is changed instead of the file the symbolic link points
to. Note: These actions are unimplemented under Windows.chmod $mode $file [$file ...]
Changes the file permissions of each file named by $file
and successive arguments to the mode named by the parallel value
of $mode. If there are more file values than $mode
values, the last $mode value is re-used. A mode value may
be octal numeric (e.g. "0666") or symbolic ("ugo+rw").attrib $attrs $file [$file ...]
Changes the file attributes of each file named by $file
and successive arguments to the value named by the parallel value
of $attrs. If there are more file values than $attrs
values, the last $attrs value is re-used. An attribute
value may be octal numeric (e.g. "040" for the archive bit)
or symbolic. Symbolic values follow a similar syntax to chmod
symbolic values: {+|-|=}token[,token...][,{+|-|=}token[,token...]],
i.e. one of the operator characters plus, minus or equals, followed
by zero or more comma-separated attribute tokens.
The possible tokens are: readonly,
hidden, system, volumelabel,
directory, archive, device, normal,
temporary, sparsefile, reparsepoint,
compressed, offline, notcontentindexed,
encrypted. Not all attributes are settable, e.g. the
directory and device attributes cannot be modified.
The normal attribute, if set, must be set alone and with
the set (=) operator. This is a Windows-specific operation;
on other OSes (e.g. Unix), attrib may be emulated to a limited
extent, and chmod is preferred.
Added in version 5.01.1245200000 20090616.rm or del or delete $file [$file ...]
Removes each file named by $file and successive arguments.rmdir or rd $dir [$dir ...]
Removes each directory named by $dir and successive arguments.mv or rename $src [$src ...] $dest
Moves each file named by $src and successive arguments
(except the last) to the corresponding value of $dest. If
there are more source values than $dest values (either as
given or due to wildcard globbing or recursion), the $dest
value must exist and be a directory, in which case the source
files are moved into it. Moving files across filesystems is
supported.cp or copy $src [$src ...] $dest
Copies each file named by $src and successive arguments
(except the last) to the corresponding value of $dest. If
there are more source values than $dest values (either as
given or due to wildcard globbing or recursion), the $dest
value must exist and be a directory, in which case the source
files are copied into it.link or symlink $target [$target ...] $name
Creates a link $name to the specified $target. If
there are more targets than names, the last $name must be a
directory, in which case the links are created in it. If
symlink is used instead of link, a symbolic link
instead of a hard link is created. Note: These actions are
unimplemented under Windows.sync
Calls sync() to flush system write buffers to disk. Not
implemented under Windows. Added in version 5.01.1099669738 20041105.touch $file [$file ...]
Touches - i.e. updates last-access/last-modification times to
"now" - each $file, creating it if nonexistent. Can be
passed nocreate, date, reference,
setaccess, setmodify options (see below). Added in
version 6.00.1302850000 20110415.
After the $action argument and before any successive
arguments, the following options may be given:
msg
Turns on the generation of file-related putmsg calls for
this action. Overrides the current filemsg value set with
vxcp (here).nomsg
Turns off the generation of file-related putmsg calls for
this action. Overrides the current filemsg value set with
vxcp (here).glob
Enables globbing of source filenames: the characters "*"
and "?" become significant as wildcard characters. Note
that all filename(s) expanded from a given source argument still
correspond to the same destination argument (if applicable for the
action).recurse
Enables recursive descent of source directories, e.g. for removing
or copying an entire directory tree. For cp, the
additional descended path will be appended to the destination
path, so that the copied tree has the same hierarchy as the
source.force
Force the removal of files or directories, even if the file does
not have write permission.preserve
Preserve the file attributes (owner, permissions) of copied files,
for cp. (This flag is always on for mv.)asis
Copy non-directories "as-is" for cp, e.g. symlinks are
created for symlinks. The default is to copy non-directories as
regular files. Not applicable under Windows. (This flag is
always on for mv.)parents
For mkdir, create the parents of the named directory if
they do not already exist. Useful for creating a multi-level
directory path in one call.nocreate
For touch, do not create the file if it does not exist.
Default is to create a new file if nonexistent.
date $date
For touch, next arg is a Texis-parseable date to use for
access/modification times, instead of current time.
reference $file
For touch, next arg is a file to copy access/modification
times from, instead of using current time.
setaccess
For touch, set access time. Default if neither
setaccess nor setmodify is given is to set both
times.
setmodify
For touch, set modify time. Default if neither
setaccess nor setmodify is given is to set both
times.
[ugoa]=[rwx]
For mkdir, an optional file permission mode may be given to
use instead of the default 0777.--
Signifies the end of options. This is useful to avoid
misinterpreting following file arguments as options, if they may
have the same name.
DIAGNOSTICSsysutil returns an empty string on success, otherwise a string
describing the first error encountered.
EXAMPLE<sysutil rm recurse force $dir>
The above example deletes the entire directory tree rooted at $dir.
CAVEATS
The sysutil function was added in version 3.01.984600000 20010314.