如何理解貌似陌生的文件系统

当执行"df -h"时,得到了以下结果:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
......
tmpfs                  32G     0   32G   0% /dev/shm
......
/dev/sda1             248M   37M  200M  16% /boot
......
cm_processes           32G  181M   32G   1% /var/run/cloudera-scm-agent/process

对于第一列的Filesystem,见过/dev/sda1和tmpfs之流的,但是没见过cm_processes这样的。这明显是一个应用自定义的名称,难道用户可以自定义FileSystem吗?带着这个疑问,经过一番search后,终于知道怎么回事了。

原来第一列显示的并不一定都是文件系统的名称(/proc/filesystems中列出了所有的文件系统名称),比如:tmpfs是一种文件系统;/dev/sda1是个分区,对应的文件 系统一般是ext4之类的;cm_processes应该算是用户自定义的分区名称,实际的文件系统是tmpfs(可在/etc/mtab中看到)。

linux中,有三个文件都和mount有关。/etc/fstab、/etc/mtab和/proc/mounts(新版本中变成了/proc/self/mounts)。/etc/fstab是开机时调用的,之后执行的mount操作,就会记录结果在后两个文件中。其实后两个文件内容很相似,个人觉得没有必要存在两个文件。在网上也看到一个帖子,建议将/etc/mtab作为/proc/mounts的软链接。

下面命令模拟了自定义一个分区的过程:

# mkdir /mytestfs
# mount -t tmpfs -o size=1G test_fs_name /mytestfs
# df -h
文件系统              容量  已用  可用 已用%% 挂载点
......
test_fs_name          1.0G     0  1.0G   0% /mytestfs

# cat /etc/mtab
......
test_fs_name /mytestfs tmpfs rw,size=1G 0 0
# cat /proc/mounts
......
test_fs_name /mytestfs tmpfs rw,relatime,size=1048576k 0 0
# umount /mytestfs
# rm -r /mytestfs

上述命令中,将名称为test_fs_name的分区(自定义的名称),挂载到/mytestfs目录,设置该分区的文件类型为tmpfs(这个不能自定义,必须是mount命令支持的type)。然后在/etc/mtab和/proc/mounts中都可以看到最新的挂载成果,但是/etc/fstab是没有的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值