Linux 列出可用于挂载的文件系统的命令?

Linux command to list file systems available for mounting?

什么终端命令会 return 数据,包括当前可在我的系统上挂载的文件系统?

具体来说,我使用的是 Ubuntu 15.04,但我更喜欢对所有 *nix 用户都有效的答案。

注意事项: 我不想知道 IS 挂载了什么,我想知道可用的是什么。 我不想查看文件系统的类型(ext2、ext4、ntsf等),我想知道有哪些文件系统可以挂载(sda2、fd1等)。

在 Ubuntu 上,您可以用来显示光盘:

sudo lshw -class disk

或检查系统上的所有分区

sudo blkid -o list | grep "not mounted"

或者如果您只想要设备:

sudo blkid -o list | grep "not mounted" | awk '{print }'

您可以在 /etc/fstab

中列出所有预定义的文件系统

fstab 文件包含所有通常在启动时挂载或可以挂载(如 CDROM 驱动器)的文件系统。

如果你想要当前挂载的文件系统,你只需输入命令:

mount

cat /proc/mounts

如果您想知道可以挂载哪些设备,您可以使用以下命令查看内核消息(特别是使用 USB 存储器等热插拔设备时):

dmesg

关于问题"command will return data that includes the file systems that are currently available for mounting on my system"。

得益于强大的 PROC 文件系统,运行 Linux 中的可用(或静态+动态安装)文件系统可以通过以下方式找到:

cat /proc/filesystems

在我的linux3.10.0中,结果是:

$cat /proc/filesystems  

nodev   sysfs  
nodev   rootfs  
nodev   ramfs  
nodev   bdev  
nodev   proc  
nodev   cgroup  
nodev   cpuset  
nodev   tmpfs  
nodev   devtmpfs  
nodev   debugfs  
nodev   securityfs  
nodev   sockfs  
nodev   dax  
nodev   bpf  
nodev   pipefs  
nodev   configfs  
nodev   devpts  
nodev   hugetlbfs  
nodev   autofs  
nodev   pstore  
....

这是元数据,"mount"命令会找到并使用。

然后,使用下面的命令,它会列出所有挂载的文件系统。

$cat /proc/mounts

/dev/sda1 /boot xfs rw,relatime,attr2,inode64,noquota 0 0
...
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0

每行的第三个字段,如xfs或cgroup,是"file system",这在前面的命令中刚刚提到。