c (stdlib v3.15.2)

This module enables users to enter the short form of some commonly used commands.

These functions are intended for interactive use in the Erlang shell only. The module prefix can be omitted.

See Also

filename(3), compile(3), erlang(3), yecc(3), xref(3)

Link to this section Summary

Functions

Stack backtrace for a process. Equivalent to erlang:process_display(Pid, backtrace).

c/1

Works like c(Module, []).

c/2

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.

c/3

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.

h/1

Print the documentation for Module

h/2

Print the documentation for all Module:Functions (regardless of arity).

h/3

Print the documentation for Module:Function/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.

i/0

i/0 displays system information, listing information about all processes. ni/0 does the same, but for all nodes the network.

i/3

Displays information about a process, Equivalent to process_info(pid(X, Y, Z)), but location transparent.

l/1

Purges and loads, or reloads, a module by calling code:purge(Module) followed by code:load_file(Module).

  • Files = [File]
  • File

Compiles a list of files by calling compile:file(File, [report_errors, report_warnings]) for each File in Files.

Reloads all currently loaded modules that have changed on disk (see mm()). Returns the list of results from calling l(M) for each such M.

Lists files in the current directory.

Lists files in directory Dir or, if Dir is a file, only lists it.

m/0

Displays information about the loaded modules, including the files from which they have been loaded.

m/1

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.

regs/0 displays information about all registered processes. nregs/0 does the same, but for all nodes in the network.

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.

q/0

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.

  • ModSpec = Module | Filename
  •  Module = atom()
  •  Filename = string()

Finds undefined functions, unused functions, and calls to deprecated functions in a module by calling xref:m/1.

  • File = name()
  • YeccRet

Generates an LALR-1 parser. Equivalent to

  • File = name()
  • Options, YeccRet

Generates an LALR-1 parser. Equivalent to

Link to this section Functions

Specs

bt(Pid) -> ok | undefined when Pid :: pid().

Stack backtrace for a process. Equivalent to erlang:process_display(Pid, backtrace).

Specs

c(Module) -> {ok, ModuleName} | error when Module :: file:name(), ModuleName :: module().

Works like c(Module, []).

Specs

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.

Link to this function

c/3

(since OTP 20.0)

Specs

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.

Specs

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
Link to this function

erlangrc/1

(since OTP 21.0)

Specs

erlangrc(PathList) -> {ok, file:filename()} | {error, term()}
            when PathList :: [Dir :: file:name()].

Search PathList and load .erlang resource file if found.

Specs

flush() -> ok.

Flushes any messages sent to the shell.

Link to this function

h/1

(since OTP 23.0)

Specs

h(module()) -> h_return().

Print the documentation for Module

Link to this function

h/2

(since OTP 23.0)

Specs

h(module(), function()) -> hf_return().

Print the documentation for all Module:Functions (regardless of arity).

Link to this function

h/3

(since OTP 23.0)

Specs

h(module(), function(), arity()) -> hf_return().

Print the documentation for Module:Function/Arity.

Specs

help() -> ok.

Displays help information: all valid shell internal commands, and commands in this module.

Link to this function

ht/1

(since OTP 23.0)

Specs

ht(module()) -> h_return().

Print the type documentation for Module

Link to this function

ht/2

(since OTP 23.0)

Specs

ht(module(), Type :: atom()) -> ht_return().

Print the type documentation for Type in Module regardless of arity.

Link to this function

ht/3

(since OTP 23.0)

Specs

ht(module(), Type :: atom(), arity()) -> ht_return().

Print the type documentation for Type/Arity in Module.

Specs

i() -> ok.

i/0 displays system information, listing information about all processes. ni/0 does the same, but for all nodes the network.

Specs

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.

Specs

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.

Link to this function

lc(Files) -> ok

Specs

lc(Files) -> ok | error when Files :: [File :: erl_compile:cmd_line_arg()].
  • Files = [File]
  • File

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().

Link to this function

lm/0

(since OTP 20.0)

Specs

lm() -> [code:load_ret()].

Reloads all currently loaded modules that have changed on disk (see mm()). Returns the list of results from calling l(M) for each such M.

Specs

ls() -> ok.

Lists files in the current directory.

Specs

ls(Dir) -> ok when Dir :: file:name().

Lists files in directory Dir or, if Dir is a file, only lists it.

Specs

m() -> ok.

Displays information about the loaded modules, including the files from which they have been loaded.

Specs

m(Module) -> ok when Module :: module().

Displays information about Module.

Specs

memory() -> [{Type, Size}] when Type :: atom(), Size :: non_neg_integer().

Memory allocation information. Equivalent to erlang:memory/0.

Specs

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.

Link to this function

mm/0

(since OTP 20.0)

Specs

mm() -> [module()].

Lists all modified modules. Shorthand for code:modified_modules/0.

Specs

nc(File) -> {ok, Module} | error when File :: file:name(), 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])

Specs

nc(File, Options) -> {ok, Module} | error
      when
          File :: file:name(),
          Options :: [Option] | Option,
          Option :: compile:option(),
          Module :: module().

Specs

ni() -> ok.

Specs

nl(Module) -> abcast | error when Module :: module().

Loads Module on all nodes.

Specs

nregs() -> ok.

regs/0 displays information about all registered processes. nregs/0 does the same, but for all nodes in the network.

Specs

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.

Specs

pwd() -> ok.

Prints the name of the working directory.

Specs

q() -> no_return().

This function is shorthand for init:stop(), that is, it causes the node to stop in a controlled fashion.

Specs

regs() -> ok.
Link to this function

uptime/0

(since OTP 18.0)

Specs

uptime() -> ok.

Prints the node uptime (as specified by erlang:statistics(wall_clock)) in human-readable form.

Link to this function

xm(ModSpec) -> void()

  • ModSpec = Module | Filename
  •  Module = atom()
  •  Filename = string()

Finds undefined functions, unused functions, and calls to deprecated functions in a module by calling xref:m/1.

Link to this function

y(File) -> YeccRet

  • File = name()
  • YeccRet

Generates an LALR-1 parser. Equivalent to:

yecc:file(File)

For information about File = name(), see filename(3). For information about YeccRet, see yecc:file/2.

Link to this function

y(File, Options) -> YeccRet

  • File = name()
  • Options, YeccRet

Generates an LALR-1 parser. Equivalent to:

yecc:file(File, Options)

For information about File = name(), see filename(3). For information about Options and YeccRet, see yecc:file/2.