lsns8
List namespaces
Usage
lsns [options]
[namespace
ID]
Overview
lsns lists information about all the currently accessible namespaces or about the given namespace. The namespace identifier is an inode number.
The default output is subject to change. So whenever possible, you should avoid using default outputs in your scripts. Always explicitly define expected output mode (--tree or --list) and columns by using the --output option together with a columns list in environments where a stable output is required.
The NSFS column, printed when net is specified for the --type option, is special; it uses multi-line cells. Use the option --nowrap to switch to ","-separated single-line representation.
Note that lsns reads information directly from the /proc filesystem and for non-root users it may return incomplete information. The current /proc filesystem may be unshared and affected by a PID namespace (see unshare --mount-proc for more details). lsns is not able to see persistent namespaces without processes where the namespace instance is held by a bind mount to /proc/pid/ns/type.
Options
-
-H, --list-columns -
List the columns that can be specified with the
--outputoption. Can be used with--jsonor--rawto get the list in a machine-readable format.
-
-J, --json -
Use JSON output format.
-
-l, --list -
Use list output format.
-
-n, --noheadings -
Do not print a header line.
-
-o, --output list -
Specify which output columns to print. Use
--helpto get a list of all supported columns.The default list of columns may be extended if list is specified in the format +list (e.g., lsns -o +PATH).
-
--output-all -
Output all available columns.
-
-P, --persistent -
Display only the namespaces without processes (aka persistent namespaces), created by bind mounting /proc/pid/ns/type files to a filesystem path.
-
-p, --task PID -
Display only the namespaces held by the process with this PID.
-
-Q, --filter expr -
Print only the namespaces that meet the conditions specified by the expr.
This feature is EXPERIMENTAL. See also scols-filter(5). For example exclude root as username, but print every namespaces more than one process belongs to:
lsns --filter 'USER != "root" and NPROCS > 1'
-
-r, --raw -
Use the raw output format.
-
-t, --type type -
Display the specified type of namespaces only. The supported types are
mnt,net,ipc,user,pid,uts,cgroupandtime. This option may be given more than once.
-
-u, --notruncate -
Do not truncate text in columns.
-
-W, --nowrap -
Do not use multi-line text in columns.
-
-T, --tree[=rel] -
Use tree-like output format. If
processis given as rel, print process tree(s) in each name space. This is default when--treeis not specified. Ifparentis given, print tree(s) constructed by the parent/child relationship. Ifowneris given, print tree(s) constructed by the owner/owned relationship.owneris used as default when rel is omitted.
-
-h, --help -
Display help text and exit.
-
-V, --version -
Display version and exit.
Exit status
The lsns utility exits with one of the following values:
0
Success.
1
General error.
2
An ioctl was unknown to the kernel.
Environment
LSNS_DEBUG=all
enables lsns debug output.
LIBSMARTCOLS_DEBUG=all
enables libsmartcols debug output.
LIBSMARTCOLS_DEBUG_PADDING=on
use visible padding characters.
LIBSMARTCOLS_JSON=compact|lines
Controls JSON output format when using --json. Supported values are compact for JSON output with minimal whitespace, and lines for JSON Lines format (one JSON object per line). If unset or set to any other value, pretty-printed JSON is used.
Releases
6 releases since Debian 9 (Stretch); the text changed 5 times.
--filter since Debian 13 (Trixie);
--list-columns since Debian 13 (Trixie);
--nowrap since Debian 10 (Buster);
--output-all since Debian 10 (Buster);
--persistent since Debian 13 (Trixie);
--tree since Debian 12 (Bookworm);
-H since Debian 13 (Trixie);
-P since Debian 13 (Trixie);
-Q since Debian 13 (Trixie);
-T since Debian 12 (Bookworm);
-W since Debian 10 (Buster).