谁能解释mount的输出?

use*_*323 6 linux filesystems mount linux-kernel

mount执行命令时,我得到以下输出。

[root@]# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
Run Code Online (Sandbox Code Playgroud)

我无法理解此命令的输出。谁能解释一下这个输出?

Tho*_*man 15

mount不带参数运行将根据/etc/mtab. 该/etc/mtab文件通常由mount和维护umount,尽管在某些环境(例如 live CD)中/etc/mtab可能是到 的符号链接/proc/self/mounts

内核维护当前挂载命名空间中挂载文件系统的信息/proc/[pid]/mounts。传统上,Linux内核暴露通过坐骑/proc/mounts,但由于引进的每个进程的内核版本2.4.19安装的命名空间,/proc/mounts是一个符号链接/proc/self/mounts。这些文件的格式在被记录为手册页fstab

请注意,由于/etc/mtab由用户空间程序维护,因此/etc/mtab和的内容完全可能/proc/self/mounts不同。如果直接通过mount()umount()系统调用挂载或卸载文件系统,而不通过mountumount程序,就会发生这种情况。不同挂载命名空间之间的差异也会导致/etc/mtab和之间的差异/proc/self/mounts

mount输出中的每一行都是以下形式:

fs_spec on fs_file type fs_vfstype (fs_mntopts)
Run Code Online (Sandbox Code Playgroud)

在哪里

  • fs_spec 描述要挂载的块设备或远程文件系统。

  • fs_file 描述文件系统的挂载点。

  • fs_vfstype 描述文件系统的类型。

    当前内核支持的文件系统列表通过/proc/filesystems. 每个文件系统的详细文档都可以在Linux 内核树中找到

  • fs_mntopts 描述与文件系统关联的挂载选项。

    文件系统独立选项在mount手册页中列出。对于文件系统特定选项,请查阅该文件系统的内核树文档


Per*_*ulf 5

首先,您需要了解虚拟文件系统物理文件系统之间的区别(检查谷歌)。

procsysfstmpfs,devptssun_rpcgvfs-fuse-daemon是虚拟文件系统。

/dev/sda1 和 /dev/sda3 是媒体设备:物理文件系统。

procproc是一个用于管理进程的虚拟文件系统,您可以看到每个PID和其他资源。

sysfs:是另一个由内核管理的虚拟文件系统;它提供了帮助proc,尽管不是PIDs在硬件和其他资源方面。

/dev/pts:在 GNU/Linux 上,您有虚拟终端和真实终端,对于真实终端,您可以通过以下方式访问:/dev/tty1, /dev/tty2,/dev/tty2切换通过CTRL+ALT+F1..8但对于虚拟终端,您有/dev/pts/目录,它包含/dev/pts/0, 1,2等等每个数字代表一个虚拟终端。

/dev/shm:shm是SHAred Memory的缩写,是共享数据的地方。

RPC:远程过程调用。

tmpfs:当内核需要为每个任务提供空间时,请安装它类型。例如/tmp

注意:首先,阅读有关虚拟文件系统的内容,然后阅读有关安装的内容。

  • “逻辑”文件系统不是常用术语。“虚拟”文件系统更为常见。 (2认同)