.\" Man page for the lsns command.
.\" Copyright 2015 Karel Zak <kzak@redhat.com>
.\" May be distributed under the GNU General Public License

.TH LSNS 8 "December 2015" "util-linux" "System Administration"
.SH NAME
lsns \- list namespaces
.SH SYNOPSIS
.B lsns
[options]
.RI [ namespace ]

.SH DESCRIPTION
.B lsns
lists information about all the currently accessible namespaces or about the
given \fInamespace\fP.  The \fInamespace\fP 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
columns by using the \fB\-\-output\fR option together with a columns list in
environments where a stable output is required.

\fBNSFS\fP column, printed when \fBnet\fP is specified for
\fB\-\-type\fR option, is special; it uses multi-line cells.
Use the option \fB\-\-nowrap\fR is for switching to "," separated single-line
representation.

Note that \fBlsns\fR 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 \fBunshare \-\-mount\-proc\fP for more details).
.B lsns
is not able to see persistent namespaces without processes where the namespace
instance is held by a bind mount to /proc/\fIpid\fR/ns/\fItype\fR.

.SH OPTIONS
.TP
.BR \-J , " \-\-json"
Use JSON output format.
.TP
.BR \-l , " \-\-list"
Use list output format.
.TP
.BR \-n , " \-\-noheadings"
Do not print a header line.
.TP
.BR \-o , " \-\-output " \fIlist\fP
Specify which output columns to print.  Use \fB\-\-help\fR
to get a list of all supported columns.

The default list of columns may be extended if \fIlist\fP is
specified in the format \fB+\fIlist\fP (e.g. \fBlsns \-o +PATH\fP).
.TP
.B \-\-output\-all
Output all available columns.
.TP
.BR \-p , " \-\-task " \fIpid\fP
Display only the namespaces held by the process with this \fIpid\fR.
.TP
.BR \-r , " \-\-raw"
Use the raw output format.
.TP
.BR \-t , " \-\-type " \fItype\fP
Display the specified \fItype\fP of namespaces only.  The supported types are
\fBmnt\fP, \fBnet\fP, \fBipc\fP, \fBuser\fP, \fBpid\fP, \fButs\fP and
\fBcgroup\fP.  This option may be given more than once.
.TP
.BR \-u , " \-\-notruncate"
Do not truncate text in columns.
.TP
.BR \-W , " \-\-nowrap"
Do not use multi-line text in columns.
.TP
.BR \-V , " \-\-version"
Display version information and exit.
.TP
.BR \-h , " \-\-help"
Display help text and exit.

.SH AUTHORS
.nf
Karel Zak <kzak@redhat.com>
.fi

.SH "SEE ALSO"
.BR nsenter (1),
.BR unshare (1),
.BR clone (2),
.BR namespaces (7)

.SH AVAILABILITY
The lsns command is part of the util-linux package and is available from
https://www.kernel.org/pub/linux/utils/util-linux/.
