xan*_*eng 204 linux filesystems mount
我通常mount
用来检查挂载了哪些文件系统。我也知道mount
和之间存在某种联系,/etc/mtab
但我不确定细节。阅读如何检查 /proc/ 是否已安装后,我变得更加困惑。
我的问题是:如何获得最精确的已挂载文件系统列表?我应该只使用mount
,还是阅读 的内容/etc/mtab
,还是 的内容/proc/mounts
?什么会给出最值得信赖的结果?
Gil*_*il' 181
已安装文件系统的最终列表在/proc/mounts
.
如果您的系统上有任何形式的容器,/proc/mounts
则只列出当前容器中的文件系统。例如,在chroot 中,/proc/mounts
仅列出挂载点在 chroot 内的文件系统。(记住,有办法摆脱 chroot。)
中还有一个已挂载的文件系统列表/etc/mtab
。该列表由mount
和umount
命令维护。这意味着如果您不使用这些命令(这种情况很少见),您的操作(挂载或卸载)将不会被记录。在实践中,您会在 chroot 中找到/etc/mtab
与系统状态截然不同的文件。此外,在 chroot 中执行的挂载将反映在 chroot 中,/etc/mtab
但不会反映在main 中/etc/mtab
。/etc/mtab
在只读文件系统上执行的操作也不记录在那里。
有时您希望/etc/mtab
优先或附加地进行咨询的原因/proc/mounts
是,因为它可以访问 mount 命令行,因此有时能够以更容易理解的方式呈现信息;例如,您会根据要求看到挂载选项(同时也/proc/mounts
列出了mount
内核默认值),并且绑定挂载在/etc/mtab
.
don*_*sti 113
从 v. 2.18(2010 年 7 月)开始, util-linux
包含一个工具,允许您显示当前安装的文件系统列表:
findmnt
Run Code Online (Sandbox Code Playgroud)
您可以使用 来从默认树视图切换到列表视图-l
,使用 定义输出列-o
(类似于lsblk
),使用-t
等根据文件系统类型过滤结果...
findmnt -lo source,target,fstype,label,options,used -t ext4
SOURCE TARGET FSTYPE LABEL OPTIONS USED
/dev/sda1 / ext4 ARCH rw,noatime,discard,data=ordered 17.6G
/dev/sdb2 /media/DATA ext4 DATA rw,noatime,discard,data=ordered 44M
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请阅读man
页面(并findmnt --help
获取可用列的列表)
小智 49
也许是因为这个问题已经有 5 年了,事情已经发生了变化。这cat /proc/mounts
会产生很多您不关心的信息。今天,恕我直言,我发现这是最终的解决方案。
df -h --output=source,target
Run Code Online (Sandbox Code Playgroud)
当您阅读手册页时,您可以执行各种选项,但这就是您所要做的。例如,要进一步清理结果,您可以使用以下命令排除“tmpfs”文件类型:
df -hx tmpfs --output=source,target
Run Code Online (Sandbox Code Playgroud)
df
适用于文件系统级别而不是文件级别。
上面的命令也将包括网络安装。
要查看更多信息,请使用以下命令:
df -hT
Run Code Online (Sandbox Code Playgroud)
注意对于慢速安装的网络连接,这可能需要几分钟时间!
如果您没有或不关心已安装的网络连接(并且您有 root 权限),那么这会更好:
sudo lsblk -f
Run Code Online (Sandbox Code Playgroud)
Eli*_*gan 23
大多数时候,mount
是最方便的方法。要获得当前安装的文件系统的完整和准确列表,您应该阅读/proc/mounts
(例如,使用cat /proc/mounts
)的内容。
例如,如果挂载/
readwrite 失败,然后作为后备以只读方式挂载,/etc/mtab
(mount
命令从中读取以告诉您已挂载的内容,并写入 - 如果可以的话 - 当它更改已挂载的内容时)将不会更新以反映/
(其中包含/etc/mtab
)当前以只读方式安装。在这种情况下,运行mount
通常会(错误地)告诉您/
已挂载读写。
在正常情况下(即,当包含它的文件系统可以写入时),/etc/mtab
包含当前挂载的文件系统的列表。不要与 混淆/etc/fstab
,它包含应该在系统启动时自动挂载的文件系统列表。
当然,如果/proc
虚拟文件系统本身没有挂载,那么您将无法读取其中的任何虚拟文件,其中包括/proc/mounts
. 这种情况很少发生。在这种情况下,mount
可能是查看已安装内容的最佳选择。
归档时间: |
|
查看次数: |
834349 次 |
最近记录: |