Show mounted filesystems
Used to be that you could see your mounted filesystems by typing
mount
or df
. But with modern Linux kernels,
all sorts are implemented as virtual filesystems -- proc, /run,
/sys/kernel/security, /dev/shm, /run/lock, /sys/fs/cgroup -- I have
no idea what most of these things are except that they make it
much more difficult to answer questions like "Where did that ebook
reader mount, and did I already unmount it so it's safe to unplug it?"
Neither mount
nor df
has a simple option
to get rid of all the extraneous virtual filesystems and only show
real filesystems.
http://unix.stackexchange.com/questions/177014/showing-only-interesting-mount-p oints-filtering-non-interesting-types had some suggestions that got me started:
mount -t ext3,ext4,cifs,nfs,nfs4,zfs mount | grep -E --color=never '^(/|[[:alnum:]\.-]*:/)'Another answer there says it's better to use
findmnt --df
,
but that still shows all the tmpfs entries
(findmnt --df | grep -v tmpfs
might do the job).
And real mounts are always mounted on a filesystem path starting with /,
so you can do mount | grep '^/'
.
But it also turns out that mount will accept a blacklist of types
as well as a whitelist: -t notype1,notype2...
I prefer the idea of excluding a blacklist of filesystem types
versus restricting it to a whitelist; that way if I mount something
unusual like curlftpfs that I forgot to add to the whitelist,
or I mount a USB stick with a filesystem type I don't use very
often (ntfs?), I'll see it.
On my system, this was the list of types I had to disable (sheesh!):
mount -t nosysfs,nodevtmpfs,nocgroup,nomqueue,notmpfs,noproc,nopstore,nohugetlbfs,nodebugfs,nodevpts,noautofs,nosecurityfs,nofusectl
df
is easier: like findmnt
, it excludes
most of those filesystem types to begin with, so there are only a few
you need to exclude:
df -hTx tmpfs -x devtmpfs -x rootfs
Obviously I don't want to have to type either of those commands every
time I want to check my mount list.
SoI put this in my .zshrc.
If you call mount or df with no args, it applies the filters,
otherwise it passes your arguments through.
Of course, you could make a similar alias for findmnt
.
# Mount and df are no longer useful to show mounted filesystems, # since they show so much irrelevant crap now. # Here are ways to clean them up: mount() { if [[ $# -ne 0 ]]; then /bin/mount $* return fi # Else called with no arguments: we want to list mounted filesystems. /bin/mount -t nosysfs,nodevtmpfs,nocgroup,nomqueue,notmpfs,noproc,nopstore,nohugetlbfs,nodebugfs,nodevpts,noautofs,nosecurityfs,nofusectl } df() { if [[ $# -ne 0 ]]; then /bin/df $* return fi # Else called with no arguments: we want to list mounted filesystems. /bin/df -hTx tmpfs -x devtmpfs -x rootfs }
Update: Chris X Edwards suggests
lsblk
or lsblk -o 'NAME,MOUNTPOINT'
.
it wouldn't have solved my problem because it only shows /dev devices,
not virtual filesystems like sshfs, but it's still a command
worth knowing about.
[ 12:25 Mar 31, 2017 More linux | permalink to this entry | ]