FINDMNT(8)

๐Ÿ’ซ findmnt โ€” the manual page, but make it make sense ๐Ÿ’ซ

okay bestie, welcome to findmnt(8) from the System Administration corner of the manual. she's a classic, she's an icon, and she's about to become your new fave. let's go ๐ŸŽ€


๐ŸŒธ NAME ๐ŸŒธ

findmnt โ€” find a filesystem. that's it, that's the whole vibe. she finds filesystems. ๐Ÿ”


โœจ SYNOPSIS โœจ

findmnt [options]

findmnt [options] device|mountpoint

findmnt [options] [--source] device [--target path|--mountpoint
mountpoint]

three ways in, all iconic, all valid. pick your fighter ๐Ÿ’…


๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

so, findmnt will list all your mounted filesystems, or search for one specific filesystem. no cap.

she can search in /etc/fstab, /etc/mtab, or /proc/self/mountinfo โ€” she's got range, she's got options. and if you don't hand her a device or a mountpoint? she just shows you everything. every single filesystem. the whole wardrobe. ๐Ÿ‘‘

now here's the tea about the device โ€” you can specify it by:

  • device name
  • major:minor numbers
  • filesystem label or UUID
  • partition label or UUID

like, so many ways to name her, she answers to all of them. ๐Ÿ’–

heads up though โ€” findmnt follows mount(8) behavior, which means a device name may be interpreted as a mountpoint (and vice versa) if the --target, --mountpoint or --source options aren't specified. yes, they can swap roles. it's giving chaos but it's on purpose.

the command-line option --target is the flexible one, fr fr โ€” she accepts any file or directory, and then findmnt displays the filesystem for that given path. any path. she'll find it. ๐Ÿงš

by default, the command prints all mounted filesystems in the tree-like format. very demure, very mindful, very aesthetically pleasing. ๐ŸŒณ

okay but listen โ€” the default output is subject to change. so whenever possible, you should avoid using the default output in your scripts. seriously. always explicitly define your expected columns by using --output columns-list in environments where a stable output is required. protect your scripts bestie, they deserve it. ๐Ÿ˜ญ

and now, the deep lore: the relationship between block devices and filesystems is not always one-to-one. the filesystem may use more block devices. multiple. she's polyamorous like that. ๐Ÿซถ

that's exactly why findmnt provides the SOURCE and SOURCES (plural, with the lil period abbreviation) columns. the SOURCES column displays all devices where it's possible to find the same filesystem UUID โ€” or another tag specified in fstab when executed with --fstab and --evaluate. so when one filesystem lives across a whole squad of devices, SOURCES shows you the whole group chat. ๐Ÿ’€โœจ


more coming, don't go anywhere โ€” this page keeps going and she does NOT disappoint ๐Ÿ’œ

๐Ÿ‘‘ OPTIONS ๐Ÿ‘‘

okay bestie, this is the part where findmnt gets specific. there are SO many flags and honestly? each one is a little baddie. let's go one by one, no skipping ๐Ÿ’…

  • -A, --all โ€” turns OFF all the built-in filters and just prints every single filesystem. no gatekeeping, no filtering, everyone's invited ๐Ÿซถ
  • -a, --ascii โ€” uses plain ascii characters for the tree formatting instead of the pretty ones. for when your terminal is giving "not like other girls" energy.
  • -b, --bytes โ€” prints sizes in raw bytes instead of human-readable form. โœจ by default, sizes show up in units that are powers of 1024 bytes, and the formal abbreviations for those units (KiB, MiB, GiB, ...) get further shortened to just their first letter: K, M, G, ....
  • -C, --nocanonicalize โ€” does NOT canonicalize paths at all. this option affects comparing paths and the evaluation of tags (LABEL, UUID, etc.). it's giving "i said what i said" ๐Ÿ’€
  • -c, --canonicalize โ€” canonicalizes ALL printed paths. glow up for every path.
  • -D, --df โ€” imitates the output of df(1). this is literally equivalent to -o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET but it excludes all pseudo filesystems. wanna print everything? use --all. see also the -I, --dfi options ๐Ÿ’–
  • -d, --direction word โ€” sets the search direction. either forward or backward. pick your vibe.
  • -e, --evaluate โ€” converts all tags (LABEL, UUID, PARTUUID, or PARTLABEL) into the corresponding device names for the SOURCE column. it's a rare situation, but the same tag can be duplicated (used for more than one device). for that, there's the SOURCES (pl.) column โ€” it displays, by multi-line cell, all the devices where the tag is detected by libblkid. this option only makes sense for fstab, bestie.
  • -F, --tab-file path โ€” searches in an alternative file. if it's used with --fstab, --mtab or --kernel, then it overrides the default paths. and if you specify it more than once, tree-like output gets disabled (see the --list option). ๐Ÿ”ฅ
  • -f, --first-only โ€” prints only the first matching filesystem. main character only, no ensemble cast.
  • -H, --list-columns โ€” lists all the columns you can specify with the --output option. can be used with --json or --raw to get that list in a machine-readable format. โœจ
  • --hyperlink[=when] โ€” prints paths as terminal hyperlinks. the optional when argument can be always, never, or auto. if you leave the argument out, it defaults to auto, which means hyperlinks only get used when the output actually goes to a terminal. ๐ŸŒˆ
  • -I, --dfi โ€” imitates the output of df(1) with its -i option. this 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 โ€” inverts the sense of matching. plot twist ๐Ÿ˜ญ
  • --id number โ€” selects a filesystem using the mount node ID.
  • --uniq-id number โ€” selects a filesystem using the mount node 64-bit ID. use it with the --kernel=listmount option.
  • -J, --json โ€” uses JSON output format. for the girlies who speak API. ๐Ÿ’…
  • -k, --kernel[=method] โ€” reads information about filesystems from the kernel. this is the default output. the format is tree-like and it only includes mount options managed by the kernel (see also --mtab). the optional method argument is supported only for the long variant (--kernel). the short variant (-k) defaults to the mountinfo method for backward compatibility. the supported methods are 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(2) and statmount(2) syscalls to generate the mount table. the output may not contain all details about mount nodes (for example, SOURCE is currently missing). โš ๏ธ
  • -l, --list โ€” uses the list output format. this 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 than one source file (the option -F) is specified.
  • -M, --mountpoint path โ€” explicitly defines the mountpoint file or directory. see also --target.
  • -m, --mtab โ€” searches in /etc/mtab. the output is in list format by default (see --tree). the output may include user space mount options.
  • -N, --task tid โ€” uses the alternative namespace /proc/<tid>/mountinfo instead of the default /proc/self/mountinfo. if this option is specified more than once, then tree-like output gets disabled (see the --list option). see also the unshare(1) command. ๐Ÿฆ‹
  • -n, --noheadings โ€” does not print a header line. minimalism queen.
  • -O, --options list โ€” limits 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's different from -t in that each option is matched exactly; a leading no at the beginning does not have global meaning. the "no" can be used for individual items in the list. and the "no" prefix interpretation can be disabled by the "+" prefix. ๐ŸŽ€
  • -o, --output list โ€” defines output columns. check 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 +list (e.g., findmnt -o +PROPAGATION).
  • --output-all โ€” outputs almost all available columns. the columns that require --poll are not included. ๐Ÿ™ˆ
  • -P, --pairs โ€” produces output in the form of key="value" pairs. all potentially unsafe value characters are hex-escaped (\x<code>). see also the option --shell. note that the SOURCES column uses multi-line cells. in these cases, the column uses an array-like formatting in the output, for example name=("aaa" "bbb" "ccc"). โœจ
  • -p, --poll[=list] โ€” monitors changes in the /proc/self/mountinfo file. the 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 โ€” the 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 โ€” prints only pseudo filesystems. fake it till you make it ๐Ÿ’…
  • -Q, --filter expr โ€” prints 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 โ€” prints 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. this option enables the tree-like output format by default. it has no effect for --mtab or --fstab. ๐ŸŒธ
  • -r, --raw โ€” uses raw output format. all potentially unsafe characters are hex-escaped (\x<code>). note that the column SOURCES uses multi-line cells. in these cases, the column may produce more strings on the same line.
  • --real โ€” prints only real filesystems. no fakes allowed.
  • -S, --source spec โ€” explicitly defines the mount source. the supported specifications are device, maj:min, LABEL=label, UUID=uuid, PARTLABEL=label and PARTUUID=uuid.
  • -s, --fstab โ€” searches in /etc/fstab. the output is in list format (see --list).
  • --shadowed โ€” prints only filesystems that are over-mounted by another filesystem. it's giving lurking in the shadows ๐Ÿซฃ
  • -T, --target path โ€” defines 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 is unsupported for --fstab). it's recommended to use the option --mountpoint when checks of path elements are unwanted and the path is a strictly specified mountpoint. ๐Ÿ’–
  • -t, --types list โ€” limits 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 โ€” enables tree-like output if possible. this option is silently ignored for tables where the child-parent relation is missing (e.g., fstab). ๐ŸŒณ
  • -U, --uniq โ€” ignores filesystems with duplicate mount targets, thus effectively skipping over-mounted mount points. ๐Ÿฆ‹
  • -u, --notruncate โ€” does 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 โ€” does not print a [/dir] in the SOURCE column for bind mounts or btrfs subvolumes.
  • --verbose โ€” forces findmnt to print more information (--verify only for now).
  • --vfs-all โ€” when used with the VFS-OPTIONS column, prints all VFS (fs-independent) flags. this option is designed for auditing purposes โ€” to list also the default VFS kernel mount options which are normally not listed. ๐Ÿ‘‘
  • -w, --timeout milliseconds โ€” specifies an upper limit on the time for which --poll will block, in milliseconds.
  • -x, --verify โ€” checks 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 a source (device) or target (mountpoint) to filter the 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 was automatically enabled for --pairs in version 2.37, but due to compatibility issues, now it's necessary to request this behavior by --shell. ๐Ÿ˜ญ
  • -h, --help โ€” displays help text and exits. ๐Ÿซถ
  • -V, --version โ€” displays version and exits. โœจ

๐Ÿ’€ EXIT STATUS ๐Ÿ’€

the exit value is 0 if there's 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). so if you get a 1, bestie, something's off and findmnt is telling you loud and clear. periodt. ๐Ÿ’…

๐ŸŒ ENVIRONMENT ๐ŸŒ

okay so these are the lil environment variables that change how findmnt behaves, and honestly some of them are giving secret-menu energy ๐Ÿ’…

  • LIBMOUNT_FSTAB=<path> โ€” overrides where the fstab file lives by default. like, if your fstab is somewhere else, this is how you tell it. โœจ
  • LIBMOUNT_MTAB=<path> โ€” overrides the default location of the mtab file. same vibe, different file. ๐ŸŽ€
  • LIBMOUNT_DEBUG=all โ€” turns on libmount debug output. for when you're feeling nosy about what's happening under the hood ๐Ÿ‘€
  • LIBSMARTCOLS_DEBUG=all โ€” turns on libsmartcols debug output. yes bestie, more debugging, more power ๐Ÿฆ‹
  • LIBSMARTCOLS_DEBUG_PADDING=on โ€” makes the padding characters visible. so you can literally see the spacing. iconic for figuring out why your columns look cursed ๐Ÿ”
  • LIBSMARTCOLS_JSON=compact|lines โ€” controls the JSON output format when you're using --json. the supported values are:
    • compact โ€” JSON output with minimal whitespace (snatched and tidy โœจ)
    • lines โ€” JSON Lines format, which is one JSON object per line (very slay for streaming ๐Ÿ’…)
if it's unset, or set to literally any other value, you get pretty-printed JSON. no drama, just the default. ๐ŸŒธ

๐Ÿ’– EXAMPLES ๐Ÿ’–

this is the part where it all clicks, bestie. let's go ๐Ÿซถ

  • 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. so generous of it fr fr โœจ
  • findmnt --fstab --target /mnt/foo prints all /etc/fstab filesystems where the mountpoint directory is /mnt/foo. (yes it's similar to the one above, no they're not the same, we don't make the rules ๐Ÿ˜Œ)
  • findmnt --fstab --evaluate prints all /etc/fstab filesystems and converts LABEL= and UUID= tags into the real device names. glow-up for your output ๐Ÿ’ซ
  • findmnt -n --raw --evaluate --output=target LABEL=/boot prints only the mountpoint where the filesystem with label "/boot" is mounted. minimal, clean, main character energy ๐Ÿ‘‘
  • findmnt --poll --mountpoint /mnt/foo monitors mount, unmount, remount and move on /mnt/foo. it's literally watching ๐Ÿ‘€
  • findmnt --poll=umount --first-only --mountpoint /mnt/foo waits for /mnt/foo to unmount. patiently. like a bestie holding your bag ๐ŸŽ€
  • findmnt --poll=remount -t ext3 -O ro monitors remounts to read-only mode on all ext3 filesystems. ๐ŸงŠ

โœจ AUTHORS โœจ

Karel Zak <kzak@redhat.com>

the legend themselves, no cap ๐Ÿ’œ


๐Ÿ‘€ SEE ALSO ๐Ÿ‘€

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

go read these next, iykyk ๐Ÿ“š


๐Ÿ› REPORTING BUGS ๐Ÿ›

found a bug? for bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>. tell them everything, bestie, they wanna know ๐Ÿซถ


๐ŸŒˆ AVAILABILITY ๐ŸŒˆ

the findmnt command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.


okay that's the whole page, bestie!! this was util-linux 2.42.4, dated 2026-09-21, and it's the FINDMNT(8) manual โ€” go mount something cute and slay ๐Ÿ’…๐Ÿ’–โœจ
๐Ÿ“ฆ where this page comes from
  • arch rolling: util-linux 2.42.4-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ISC AND LGPL-2.1-or-later AND LicenseRef-PublicDomain
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms