//po4a: entry man manual
= findmnt(8)
:doctype: manpage
:man manual: System Administration
:man source: util-linux {release-version}
:page-layout: base
:command: findmnt
:plus: +

== NAME

findmnt - find a filesystem

== SYNOPSIS

*findmnt* [options]

*findmnt* [options] _device_|_mountpoint_

*findmnt* [options] [*--source*] _device_ [*--target* _path_|*--mountpoint* _mountpoint_]

== DESCRIPTION

*findmnt* will list all mounted filesystems or search for a filesystem. The *findmnt* command is able to search in _/etc/fstab_, _/etc/mtab_ or _/proc/self/mountinfo_. If _device_ or _mountpoint_ is not given, all filesystems are shown.

The device may be specified by device name, major:minor numbers, filesystem label or UUID, or partition label or UUID. Note that *findmnt* follows *mount*(8) behavior where a device name may be interpreted as a mountpoint (and vice versa) if the *--target*, *--mountpoint* or *--source* options are not specified.

The command-line option *--target* accepts any file or directory and then *findmnt* displays the filesystem for the given path.

The command prints all mounted filesystems in the tree-like format by default. The default output, is subject to change. So whenever possible, you should avoid using default output in your scripts. Always explicitly define expected columns by using *--output columns-list* in environments where a stable output is required.

The relationship between block devices and filesystems is not always one-to-one. The filesystem may use more block devices. This is why *findmnt* provides  SOURCE and SOURCES (pl.) columns. The column SOURCES displays all devices where it is possible to find the same filesystem  UUID (or another tag specified in _fstab_ when executed with *--fstab* and *--evaluate*).

== OPTIONS

*-A*, *--all*::
Disable all built-in filters and print all filesystems.

*-a*, *--ascii*::
Use ascii characters for tree formatting.

*-b*, *--bytes*::
include::man-common/in-bytes.adoc[]

*-C*, *--nocanonicalize*::
Do not canonicalize paths at all. This option affects the comparing of paths and the evaluation of tags (LABEL, UUID, etc.).

*-c*, *--canonicalize*::
Canonicalize all printed paths.

*-D*, *--df*::
Imitate the output of *df*(1). This option is equivalent to *-o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET* but excludes all pseudo filesystems. Use *--all* to print all filesystems. See also *-I*, *--dfi* options.

*-d*, *--direction* _word_::
The search direction, either *forward* or *backward*.

*-e*, *--evaluate*::
Convert all tags (LABEL, UUID, PARTUUID, or PARTLABEL) to the corresponding device names for the SOURCE column.  It's an unusual situation, but the same tag may be duplicated (used for more devices). For this purpose, there is SOURCES (pl.) column. This column displays by multi-line cell all devices where the tag is detected by libblkid. This option makes sense for _fstab_ only.

*-F*, *--tab-file* _path_::
Search in an alternative file. If used with *--fstab*, *--mtab* or *--kernel*, then it overrides the default paths. If specified more than once, then tree-like output is disabled (see the *--list* option).

*-f*, *--first-only*::
Print the first matching filesystem only.

*-H*, *--list-columns*::
List the columns that can be specified with the *--output* option.
Can be used with *--json* or *--raw* to get the list in a machine-readable format.

include::man-common/hyperlink.adoc[]

*-I*, *--dfi*::
Imitate the output of *df*(1) with its *-i* option. This option is equivalent to *-o SOURCE,FSTYPE,INO.TOTAL,INO.USED,INO.AVAIL,INO.USE%,TARGET* but excludes all pseudo filesystems. Use *--all* to print all filesystems.

*-i*, *--invert*::
Invert the sense of matching.

*--id* _number_::
Select a filesystem using the mount node ID.

*--uniq-id* _number_::
Select a filesystem using the mount node 64-bit ID, use with *--kernel=listmount* option.

*-J*, *--json*::
Use JSON output format.

*-k*, *--kernel*[**=**_method_]::
Reads information about filesystems from the kernel. This is the default output. The format is tree-like and only includes mount options managed by the kernel (see also *--mtab*).
+
The optional argument _method_ is supported only for the long variant (*--kernel*). The short variant (*-k*) defaults to the *mountinfo* method for backward compatibility. The supported methods can be either:
+
* *mountinfo* - this is the default method and it reads data from the _/proc/self/mountinfo_ file.
+
* *listmount* - This is an EXPERIMENTAL method that uses the listmount() and statmount() syscalls to generate the mount table. The output may not contain all details about mount nodes (for example, SOURCE is currently missing).

*-l*, *--list*::
Use the list output format. This output format is automatically enabled if the output is restricted by the *-t*, *-O*, *-S* or *-T* option and the option *--submounts* is not used or if more that one source file (the option *-F*) is specified.

*-M*, *--mountpoint* _path_::
Explicitly define the mountpoint file or directory. See also *--target*.

*-m*, *--mtab*::
Search in _/etc/mtab_. The output is in the list format by default (see *--tree*). The output may include user space mount options.

*-N*, *--task* _tid_::
Use alternative namespace _/proc/<tid>/mountinfo_ rather than the default _/proc/self/mountinfo_. If the option is specified more than once, then tree-like output is disabled (see the *--list* option). See also the *unshare*(1) command.

*-n*, *--noheadings*::
Do not print a header line.

*-O*, *--options* _list_::
Limit the set of printed filesystems. More than one option may be specified in a comma-separated list. The *-t* and *-O* options are cumulative in effect. It is different from *-t* in that each option is matched exactly; a leading _no_ at the beginning does not have global meaning. The "no" can used for individual items in the list. The "no" prefix interpretation can be disabled by "{plus}" prefix.
//TRANSLATORS: Keep {plus} untranslated.

*-o*, *--output* _list_::
Define output columns. See the *--help* output to get a list of the currently supported columns. The *TARGET* column contains tree formatting if the *--list* or *--raw* options are not specified.
+
The default list of columns may be extended if _list_ is specified in the format _{plus}list_ (e.g., *findmnt -o {plus}PROPAGATION*).
//TRANSLATORS: Keep {plus} untranslated.

*--output-all*::
Output almost all available columns. The columns that require *--poll* are not included.

*-P*, *--pairs*::
Produce output in the form of key="value" pairs. All potentially unsafe value characters are hex-escaped (\x<code>). See also option *--shell*.
+
Note that SOURCES column, use multi-line cells. In these cases, the column use an array-like formatting in the output, for example *name=("aaa" "bbb" "ccc")*.

*-p*, *--poll*[**=**_list_]::
Monitor changes in the _/proc/self/mountinfo_ file. Supported actions are: mount, umount, remount and move. More than one action may be specified in a comma-separated list. All actions are monitored by default.
+
The time for which *--poll* will block can be restricted with the *--timeout* or *--first-only* options.
+
The standard columns always use the new version of the information from the mountinfo file, except the umount action which is based on the original information cached by *findmnt*. The poll mode allows using extra columns:
+
*ACTION*;;
mount, umount, move or remount action name; this column is enabled by default
*OLD-TARGET*;;
available for umount and move actions
*OLD-OPTIONS*;;
available for umount and remount actions

*--pseudo*::
Print only pseudo filesystems.

*-Q*, *--filter* _expr_::
Print only the filesystems that meet the conditions specified by the expr.
+
This feature is EXPERIMENTAL. See also *scols-filter*(5).
For example, include xfs having more than 50% free space:
____
 findmnt -Q 'INO.USED < INO.AVAIL && FSTYPE == "xfs"'
____

*-R*, *--submounts*::
Print recursively all submounts for the selected filesystems. The restrictions defined by options *-t*, *-O*, *-S*, *-T* and *--direction* are not applied to submounts. All submounts are always printed in tree-like order. The option enables the tree-like output format by default. This option has no effect for *--mtab* or *--fstab*.

*-r*, *--raw*::
Use raw output format. All potentially unsafe characters are hex-escaped (\x<code>).
+
Note that column SOURCES, use multi-line cells. In these cases, the column may produce more strings on the same line.

*--real*::
Print only real filesystems.

*-S*, *--source* _spec_::
Explicitly define the mount source. Supported specifications are _device_, __maj__**:**_min_, **LABEL=**__label__, **UUID=**__uuid__, **PARTLABEL=**__label__ and **PARTUUID=**__uuid__.

*-s*, *--fstab*::
Search in _/etc/fstab_. The output is in the list format (see *--list*).

*--shadowed*::
Print only filesystems that are over-mounted by another filesystem.

*-T*, *--target* _path_::
Define the mount target. If _path_ is not a mountpoint file or directory, then *findmnt* checks the _path_ elements in reverse order to get the mountpoint (this feature is supported only when searching in kernel files and unsupported for *--fstab*). It's recommended to use the option *--mountpoint* when checks of _path_ elements are unwanted and _path_ is a strictly specified mountpoint.

*-t*, *--types* _list_::
Limit the set of printed filesystems. More than one type may be specified in a comma-separated list. The list of filesystem types can be prefixed with *no* to specify the filesystem types on which no action should be taken. For more details see *mount*(8).

*--tree*::
Enable tree-like output if possible. The options is silently ignored for tables where is missing child-parent relation (e.g., _fstab_).

*-U*, *--uniq*::
Ignore filesystems with duplicate mount targets, thus effectively skipping over-mounted mount points.

*-u*, *--notruncate*::
Do not truncate text in columns. The default is to not truncate the *TARGET*, *SOURCE*, *UUID*, *LABEL*, *PARTUUID*, *PARTLABEL* columns. This option disables text truncation also in all other columns.

*-v*, *--nofsroot*::
Do not print a [/dir] in the SOURCE column for bind mounts or btrfs subvolumes.

*--verbose*::
Force *findmnt* to print more information (*--verify* only for now).

*--vfs-all*::
When used with *VFS-OPTIONS* column, print all VFS (fs-independent) flags. This option is designed for auditing purposes to list also default VFS kernel mount options which are normally not listed.

*-w*, *--timeout* _milliseconds_::
Specify an upper limit on the time for which *--poll* will block, in milliseconds.

*-x*, *--verify*::
Check mount table content. The default is to verify _/etc/fstab_ parsability and usability. It's possible to use this option also with *--tab-file*. It's possible to specify source (device) or target (mountpoint) to filter mount table. The option *--verbose* forces *findmnt* to print more details.

*-y*, *--shell*::
The column name will be modified to contain only characters allowed for shell variable identifiers. This is usable, for example, with *--pairs*. Note that this feature has been automatically enabled for *--pairs* in version 2.37, but due to compatibility issues, now it's necessary to request this behavior by *--shell*.

include::man-common/help-version.adoc[]

== EXIT STATUS

The exit value is 0 if there is something to display, or 1 on any error
(for example if no filesystem is found based on the user's filter
specification, or the device path or mountpoint does not exist).

== ENVIRONMENT

*LIBMOUNT_FSTAB*=<path>::
overrides the default location of the _fstab_ file

*LIBMOUNT_MTAB*=<path>::
overrides the default location of the _mtab_ file

*LIBMOUNT_DEBUG*=all::
enables libmount debug output

*LIBSMARTCOLS_DEBUG*=all::
enables libsmartcols debug output

*LIBSMARTCOLS_DEBUG_PADDING*=on::
use visible padding characters.

== EXAMPLES

*findmnt --fstab -t nfs*::
Prints all NFS filesystems defined in _/etc/fstab_.

*findmnt --fstab /mnt/foo*::
Prints all _/etc/fstab_ filesystems where the mountpoint directory is _/mnt/foo_. It also prints bind mounts where _/mnt/foo_ is a source.

*findmnt --fstab --target /mnt/foo*::
Prints all _/etc/fstab_ filesystems where the mountpoint directory is _/mnt/foo_.

*findmnt --fstab --evaluate*::
Prints all _/etc/fstab_ filesystems and converts LABEL= and UUID= tags to the real device names.

*findmnt -n --raw --evaluate --output=target LABEL=/boot*::
Prints only the mountpoint where the filesystem with label "/boot" is mounted.

*findmnt --poll --mountpoint /mnt/foo*::
Monitors mount, unmount, remount and move on _/mnt/foo_.

*findmnt --poll=umount --first-only --mountpoint /mnt/foo*::
Waits for _/mnt/foo_ unmount.

*findmnt --poll=remount -t ext3 -O ro*::
Monitors remounts to read-only mode on all ext3 filesystems.

== AUTHORS

mailto:kzak@redhat.com[Karel Zak]

== SEE ALSO

*fstab*(5),
*mount*(8)
*scols-filter*(5)

include::man-common/bugreports.adoc[]

include::man-common/footer.adoc[]

ifdef::translation[]
include::man-common/translation.adoc[]
endif::[]
