`

关于 /proc/mounts

 
阅读更多

 

关于 /proc/mounts

现在的 Linux 系统里一般都有这么三个文件:/etc/fstab,/etc/mtab,和 /proc/mounts,比较容易让人迷惑。简单解释一下。

 

/etc/fstab 是只读不写的,它提供的是系统上挂载设备的静态信息,比如 mount -a 就会挂载 /etc/fstab 里面指定的文件系统。

 

/etc/mtab 是供 mount/umount 进行读写的,是相对动态的。读的话,比如你在挂载一个文件系统时缺少一个参数,它就会自动去/etc/mtab 或者 /etc/fstab 里去查,如果找到的话,只要一个参数也够。写的话,比如你umount了一个文件系统,umount 就会删掉/etc/mtab 里面的相关记录。

 

看似上面的这两个文件已经够用了,但是新的情况出现了。Linux 内核引入了一个 mount namespace,是给container用的。因为这个的出现,Linux 不得不引入 /proc/mounts。为什么呢?因为记录 mount 信息的 /etc/mtab 是全局的,也就是说,就算你的某个进程有自己的 namespace,但只要还和外面共享同一个 /etc/mtab,那么,里面进行umount/mount操作的信息也会被记录到/etc/mtab里,外面也会看到!凌乱了!由此可见,我们不能有全局的mtab,肿么办呢?/proc/mounts 出来了,有人可能觉得它也是全局的啊!可你仔细看一下的话会发现,它其实是到 /proc/self/mounts 的一个符号链接!如此以来,container 里面的 /proc/mounts 和外面的当然就不会一样了!聪明啊!

 

所以,/etc/mtab 已经过时了,应该被抛弃,或者直接符号链接到/proc/mounts。同理,查看系统上挂载的文件系统的话,直接调用无参数的mount也是不妥的,因为那样也是读 /etc/mtab。我们应该使用 util-linux-ng 提供的一个新命令: findmnt,它是读的 /proc/self/mountinfo。


分享到:
评论

相关推荐

    虚拟化平台\LINUX 查看MAC

    dmesg | tail 该命令会输出系统日志的最后10行 cat /proc/cpuinfo //显示CPU info的信息 cat /proc/interrupts // 显示中断 ...cat /proc/mounts //显示已加载的文件系统 clock -w //将时间修改保存到 BIOS

    linux命令大全

    有用的Linux命令方便学习 部分展示 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件...cat /proc/mounts 显示已加载的文件系统

    linux常用命令

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 ...cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备

    Linux黑客命令行.docx

    cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列PCI设备 lsusb -tv 显示USB设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 04127002007.00 设置日期和时间-月日时分年.秒

    Linux命令大全

    cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w ...

    Linux常用命令大全

    cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w ...

    linux常用指令

    cat /proc/mounts 显示已加载的文件系统  lspci -tv 罗列 PCI 设备  lsusb -tv 显示 USB 设备  date 显示系统日期  cal 2007 显示2007年的日历表  date 041217002007.00 设置日期和时间 - 月日时分年.秒  ...

    kali linux命令.txt

    cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w ...

    kali-linux常用命令.pdf

    * `cat /proc/mounts`:显示已加载的文件系统 磁盘管理 * `hdparm`:罗列磁盘的架构特性和执行测试读取操作 * `fdisk`:磁盘分区管理工具 网络管理 * `ifconfig`:配置网络接口 * `iwconfig`:配置无线网络接口 ...

    busybox-x86_64

    Linux进程隐藏与检测1. 运行后门 nohup nc -l -p 13733 -e /bin/sh& 2. ps aux |grep ‘/bin/sh’ 查找进程PID ...cat /proc/mounts mount 4. 接触隐藏 umount /proc/进程PID 入侵检测之隐藏进程检测

    lunix命令大全.docx

    * cat /proc/mounts:显示已加载的文件系统。 * lspci -tv:罗列 PCI 设备。 * lsusb -tv:显示 USB 设备。 文件和目录 * cd /home:进入 '/ home' 目录。 * cd ..:返回上一级目录。 * cd ../..:返回上两级目录...

    Linux系统常用命令速查手册.pdf

    * `cat /proc/mounts`:显示已加载的文件系统 二、磁盘管理 * `hdparm -i /dev/hda`:罗列一个磁盘的架构特性 * `hdparm -tT /dev/sda`:在磁盘上执行测试性读取操作 三、网络管理 * `lspci -tv`:罗列PCI设备 *...

    liunx命令

    * `cat /proc/mounts`:显示已加载的文件系统 * `lspci -tv`:罗列 PCI 设备 * `lsusb -tv`:显示 USB 设备 日期和时间命令 * `date`:显示系统日期 * `cal 2007`:显示 2007 年的日历表 * `date 041217002007.00`...

    linux常用命令大全.doc

    * `cat /proc/mounts`:显示已加载的文件系统 * `lspci -tv`:罗列 PCI 设备 * `lsusb -tv`:显示 USB 设备 日期和时间 * `date`:显示系统日期 * `cal 2007`:显示 2007 年的日历表 * `date 041217002007.00`:...

    04_在100ASK_STM32MMP157上机实验1

    在开发板上执行“cat /proc/mounts”后,可以得到两种结果(见下图):1. 如果mmcblk2p2分区已经挂载在/boot目录下(上图左边):无需特

    Linux常用命令

    * cat /proc/mounts:显示已加载的文件系统 * date:显示系统的日期 * date 041217002007.00:设置日期和时间 * clock -w:将时间修改保存到 BIOS 二、系统关机和重启 在 Linux 系统中,可以使用 shutdown、init、...

    linux文件系统只读.docx

    使用 more /etc/fstab 和 more /proc/mounts 命令查看分区结构,检查是否有只读挂载的分区。 3. 使用 umount 和 mount 命令 使用 umount /dev/sda1 命令卸载分区,然后使用 mount /dev/sda1 /boot 命令重新挂载分区...

    kernelhardening

    试用该模块和示例策略的步骤在Linux系统上本地克隆仓库移至cpu_switch目录做一个insmod vmx_switch.ko 在/ config挂载configfs(检查configfs是否已经挂载-cat / proc / mounts) 移至kernelhardening / driver目录...

Global site tag (gtag.js) - Google Analytics