# c

### MODULE

c

### MODULE SUMMARY

Command Interface Module

### DESCRIPTION

The `c` module enables users to enter the short form of some commonly used commands.

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

### EXPORTS

`bt(Pid) -> void()`

Types:

`Pid = pid()`

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

`c(File) -> {ok, Module} | error`
`c(File, Options) -> {ok, Module} | error`

Types:

`File = Filename | Module`
`Filename = string() | atom()`
`Options = [Opt] -- see compile:file/2`
`Module = atom()`

`c/1,2` compiles and then purges and loads the code for a file. `Options` defaults to []. Compilation is equivalent to:

    compile:file(File, Options ++ [report_errors, report_warnings])

Note that purging the code means that any processes lingering in old code for the module are killed without warning. See `code/3` for more information.

`cd(Dir) -> void()`

Types:

`Dir = string() | atom()`

Changes working directory to `Dir`, which may be a relative name, and then prints the name of the new working directory.

    2> cd("../erlang").
    /home/ron/erlang

`flush() -> void()`

Flushes any messages sent to the shell.

`help() -> void()`

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

`i() -> void()`
`ni() -> void()`

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

`i(X, Y, Z) -> void()`

Types:

`X = Y = Z = int()`

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

`l(Module) -> void()`

Types:

`Module = atom()`

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

Note that purging the code means that any processes lingering in old code for the module are killed without warning. See `code/3` for more information.

`lc(Files) -> ok`

Types:

`Files = [File]`
`File = Filename | Module`
`Filename = string() | atom()`
`Module = atom()`

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

`ls() -> void()`

Lists files in the current directory.

`ls(Dir) -> void()`

Types:

`Dir = string() | atom()`

Lists files in directory `Dir`.

`m() -> void()`

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

`m(Module) -> void()`

Types:

`Module = atom()`

Displays information about `Module`.

`memory() -> [{Type, Size}]`

Types:

`Type, Size -- see erlang:memory/0`

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

`memory(Type) -> Size`
`memory([Type]) -> [{Type, Size}]`

Types:

`Type, Size -- see erlang:memory/0`

Memory allocation information. Equivalent to `erlang:memory/1`.

`nc(File) -> {ok, Module} | error`
`nc(File, Options) -> {ok, Module} | error`

Types:

`File = Filename | Module`
`Filename = string() | atom()`
`Options = [Opt] -- see compile:file/2`
`Module = atom()`

Compiles and then loads the code for a file on all nodes. `Options` defaults to []. Compilation is equivalent to:

    compile:file(File, Opts ++ [report_errors, report_warnings])

`nl(Module) -> void()`

Types:

`Module = atom()`

Loads `Module` on all nodes.

`pid(X, Y, Z) -> pid()`

Types:

`X = Y = Z = int()`

Converts `X`, `Y`, `Z` to the pid `<X.Y.Z>`. This function should only be used when debugging.

`pwd() -> void()`

Prints the name of the working directory.

`q() -> void()`

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

`regs() -> void()`
`nregs() -> void()`

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

`xm(ModSpec) -> void()`

Types:

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

This function finds undefined functions, unused functions, and calls to deprecated functions in a module by calling `xref:m/1`.

### See Also

erlang(3)

### AUTHORS

Joe Armstrong - support@erlang.ericsson.se
Robert Virding - support@erlang.ericsson.se
Claes Wikström - support@erlang.ericsson.se

stdlib 1.14
Copyright © 1991-2006 Ericsson AB