View Source c (stdlib v6.0)
Command line interface module.
This module enables users to enter the short form of some commonly used commands.
Note
These functions are intended for interactive use in the Erlang shell only. The module prefix can be omitted.
See Also
Summary
Functions
Stack backtrace for a process. Equivalent to
erlang:process_display(Pid, backtrace)
.
Works like c(Module, [])
.
Compiles and then purges and loads the code for a module. Module
can be either
a module name or a source file path, with or without .erl
extension.
Compiles and then purges and loads the code for module Module
, which must be
an atom.
Changes working directory to Dir
, which can be a relative name, and then
prints the name of the new working directory.
Search PathList
and load .erlang
resource file if found.
Flushes any messages sent to the shell.
Print the documentation for Module
Print the documentation for all Module:Function
s (regardless of arity).
Print the documentation for Module:Function/Arity
.
Print the callback documentation for Module
Print the callback documentation for all Module:Callback
s (regardless of
arity).
Print the callback documentation for Module:Callback/Arity
.
Displays help information: all valid shell internal commands, and commands in this module.
Print the type documentation for Module
Print the type documentation for Type
in Module
regardless of arity.
Print the type documentation for Type/Arity
in Module
.
Displays information about a process, Equivalent to
process_info(pid(X, Y, Z))
, but location transparent.
Purges and loads, or reloads, a module by calling code:purge(Module)
followed
by code:load_file(Module)
.
lc(Files) -> ok
Lists files in the current directory.
Lists files in directory Dir
or, if Dir
is a file, only lists it.
Displays information about the loaded modules, including the files from which they have been loaded.
Displays information about Module
.
Memory allocation information. Equivalent to erlang:memory/0
.
Memory allocation information. Equivalent to erlang:memory/1
.
Lists all modified modules. Shorthand for code:modified_modules/0
.
Compiles and then loads the code for a file on all nodes. Options
defaults to
[]
. Compilation is equivalent to
Loads Module
on all nodes.
Converts X
, Y
, Z
to pid <X.Y.Z>
. This function is only to be used when
debugging.
Prints the name of the working directory.
This function is shorthand for init:stop()
, that is, it causes the node to
stop in a controlled fashion.
Prints the node uptime (as specified by erlang:statistics(wall_clock)
) in
human-readable form.
xm(ModSpec) -> term()
y(File) -> YeccRet
y(File, Options) -> YeccRet
Types
-type h_return() :: ok | {error, missing | {unknown_format, unicode:chardata()}}.
-type hcb_return() :: h_return() | {error, callback_missing}.
-type hf_return() :: h_return() | {error, function_missing}.
-type ht_return() :: h_return() | {error, type_missing}.
Functions
-spec bt(Pid) -> ok | undefined when Pid :: pid().
Stack backtrace for a process. Equivalent to
erlang:process_display(Pid, backtrace)
.
Works like c(Module, [])
.
-spec c(Module, Options) -> {ok, ModuleName} | error when Module :: file:name(), Options :: [compile:option()] | compile:option(), ModuleName :: module().
Compiles and then purges and loads the code for a module. Module
can be either
a module name or a source file path, with or without .erl
extension.
If Module
is a string, it is assumed to be a source file path, and the
compiler will attempt to compile the source file with the options Options
. If
compilation fails, the old object file (if any) is deleted.
If Module
is an atom, a source file with that exact name or with .erl
extension will be looked for. If found, the source file is compiled with the
options Options
. If compilation fails, the old object file (if any) is
deleted.
If Module
is an atom and is not the path of a source file, then the code path
is searched to locate the object file for the module and extract its original
compiler options and source path. If the source file is not found in the
original location, filelib:find_source/1
is used to search for it relative to
the directory of the object file.
The source file is compiled with the the original options appended to the given
Options
, the output replacing the old object file if and only if compilation
succeeds.
Notice that purging the code means that any processes lingering in old code for
the module are killed without warning. For more information, see the code
module.
-spec c(Module, Options, Filter) -> {ok, ModuleName} | error when Module :: atom(), Options :: [compile:option()], Filter :: fun((compile:option()) -> boolean()), ModuleName :: module().
Compiles and then purges and loads the code for module Module
, which must be
an atom.
The code path is searched to locate the object file for module Module
and
extract its original compiler options and source path. If the source file is not
found in the original location, filelib:find_source/1
is used to search for it
relative to the directory of the object file.
The source file is compiled with the the original options appended to the given
Options
, the output replacing the old object file if and only if compilation
succeeds. The function Filter
specifies which elements to remove from the
original compiler options before the new options are added. The Filter
fun
should return true
for options to keep, and false
for options to remove.
Notice that purging the code means that any processes lingering in old code for
the module are killed without warning. For more information, see the code
module.
-spec cd(Dir) -> ok when Dir :: file:name().
Changes working directory to Dir
, which can be a relative name, and then
prints the name of the new working directory.
Example:
2> cd("../erlang").
/home/ron/erlang
-spec erlangrc(PathList) -> {ok, file:filename()} | {error, term()} when PathList :: [Dir :: file:name()].
Search PathList
and load .erlang
resource file if found.
-spec flush() -> ok.
Flushes any messages sent to the shell.
Print the documentation for Module
Print the documentation for all Module:Function
s (regardless of arity).
Print the documentation for Module:Function/Arity
.
Print the callback documentation for Module
-spec hcb(module(), Callback :: atom()) -> hcb_return().
Print the callback documentation for all Module:Callback
s (regardless of
arity).
-spec hcb(module(), Callback :: atom(), arity()) -> hcb_return().
Print the callback documentation for Module:Callback/Arity
.
-spec help() -> ok.
Displays help information: all valid shell internal commands, and commands in this module.
Print the type documentation for Module
Print the type documentation for Type
in Module
regardless of arity.
Print the type documentation for Type/Arity
in Module
.
-spec i() -> ok.
Equivalent to ni/0
-spec i(X, Y, Z) -> [{atom(), term()}] when X :: non_neg_integer(), Y :: non_neg_integer(), Z :: non_neg_integer().
Displays information about a process, Equivalent to
process_info(pid(X, Y, Z))
, but location transparent.
-spec l(Module) -> code:load_ret() when Module :: module().
Purges and loads, or reloads, a module by calling code:purge(Module)
followed
by code:load_file(Module)
.
Notice that purging the code means that any processes lingering in old code for
the module are killed without warning. For more information, see code/3
.
-spec lc(Files) -> ok | error when Files :: [File :: cmd_line_arg()].
lc(Files) -> ok
Compiles a list of files by calling
compile:file(File, [report_errors, report_warnings])
for each File
in
Files
.
For information about File
, see file:filename/0
.
-spec lm() -> [code:load_ret()].
Reloads all currently loaded modules that have changed on disk (see mm/0
).
Returns the list of results from calling l(M)
for each such M
.
-spec ls() -> ok.
Lists files in the current directory.
-spec ls(Dir) -> ok when Dir :: file:name().
Lists files in directory Dir
or, if Dir
is a file, only lists it.
-spec m() -> ok.
Displays information about the loaded modules, including the files from which they have been loaded.
-spec m(Module) -> ok when Module :: module().
Displays information about Module
.
-spec memory() -> [{Type, Size}] when Type :: atom(), Size :: non_neg_integer().
Memory allocation information. Equivalent to erlang:memory/0
.
-spec memory(Type) -> Size when Type :: atom(), Size :: non_neg_integer(); (Types) -> [{Type, Size}] when Types :: [Type], Type :: atom(), Size :: non_neg_integer().
Memory allocation information. Equivalent to erlang:memory/1
.
-spec mm() -> [module()].
Lists all modified modules. Shorthand for code:modified_modules/0
.
Equivalent to nc/2
-spec nc(File, Options) -> {ok, Module} | error when File :: file:name(), Options :: [Option] | Option, Option :: compile:option(), Module :: module().
Compiles and then loads the code for a file on all nodes. Options
defaults to
[]
. Compilation is equivalent to:
compile:file(File, Options ++ [report_errors, report_warnings])
-spec ni() -> ok.
i/0
displays system information, listing information about all processes.
ni/0
does the same, but for all nodes in the network.
-spec nl(Module) -> abcast | error when Module :: module().
Loads Module
on all nodes.
-spec nregs() -> ok.
Equivalent to regs/0
-spec pid(X, Y, Z) -> pid() when X :: non_neg_integer(), Y :: non_neg_integer(), Z :: non_neg_integer().
Converts X
, Y
, Z
to pid <X.Y.Z>
. This function is only to be used when
debugging.
-spec pwd() -> ok.
Prints the name of the working directory.
-spec q() -> no_return().
This function is shorthand for init:stop()
, that is, it causes the node to
stop in a controlled fashion.
-spec regs() -> ok.
regs/0
displays information about all registered processes. nregs/0
does the
same, but for all nodes in the network.
-spec uptime() -> ok.
Prints the node uptime (as specified by erlang:statistics(wall_clock)
) in
human-readable form.
-spec xm(module() | file:filename()) -> XRefMRet :: term().
xm(ModSpec) -> term()
Finds undefined functions, unused functions, and calls to deprecated functions
in a module by calling xref:m/1
.
y(File) -> YeccRet
Generates an LALR-1 parser. Equivalent to:
yecc:file(File)
For information about File = name()
, see filename
. For information about
YeccRet
, see yecc:file/2
.
-spec y(file:name(), [yecc:option()]) -> YeccFileRet :: yecc:yecc_ret().
y(File, Options) -> YeccRet
Generates an LALR-1 parser. Equivalent to:
yecc:file(File, Options)
For information about File = name()
, see filename
. For information about
Options
and YeccRet
, see yecc:file/2
.