完成挂载文件系统动作后,Red Hat Enterprise Linux 就会知道,在某个挂载点目录下的文件,实际上是存放于某个文件系统中。当有人调用挂载点目录中的文件时,Red Hat Enterprise Linux 就会转到该文件系统上找寻文件。
例如,你把 /dev/sda1 挂载到 /tmp/ 目录,当用户在 /tmp/ 下使用 ls 读取目录内容、或者使用 cat 开启 /tmp/ 中的某一个文件时,Red Hat Enterprise Linux 就知道要到 /dev/sda1 上执行相关的操作。
那么,挂载的功能到底有何迷人之处,让它历久不衰呢?挂载的优点,主要如下:
至于哪个目录中的文件是被储存在哪个磁盘上,则是由系统管理者通过挂载配置而成。
如果这两台 UNIX 中的磁盘设备都不相同,例如,旧的系统使用IDE 磁盘,而新的系统使用SCSI 磁盘。由于用户记得他们的数据放在哪个目录,系统管理者只需要在新的系统上配置好正确的挂载设置,那么用户还可以继续之前的习惯,使用新的系统。
# mount /dev/sdb1 /mnt/sdb1/ ③
# ls /mnt/sdb1/
lost+found/ ④
③ 接着使用 mount 命令,把 /dev/sdb1 分区的文件系统挂载到 /mnt/sdb1/。
④ 再度查看一下 /mnt/sdb1/,结果显示有一个 lost+found/ 的目录,这个目录实际上就是存放在 /dev/sdb1 分区中的文件系统。
以下是我使用mount命令查看目前的挂载数据表。
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda6 on /home type ext3 (rw)
/dev/sda3 on /usr type ext3 (rw)
/dev/sda5 on /var type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /mnt/sdb1 type ext3 (rw)
MOUNT_POINTER:挂载点的路径名称。
FSTYPE:文件系统的类型。
MOUNT_OPTIONS:挂载时的参数。
除此之外,每当你挂载一个文件系统的时候,Red Hat Enterprise Linux 会自动将挂载的信息加入到 /etc/mtab 文件中;而卸载一个文件系统时,Red Hat Enterprise Linux 也会自动的删除 /etc/mtab 中相关的纪录。所以,第二种查看目前文件系统挂载信息的方法,就是直接读取 /etc/mtab 文件。
常见的共享参数如下表所示
使用 mount -o remount,MOUNT_OPTIONS 修改挂载参数。
第一种方法,仅适用于新挂载文件系统时,如果文件系统已经挂载起来,就得先卸载后,再使用第一种方法重新挂载一次;而第二种方式,则可以不需卸载,就直接修改文件系统的挂载参数。
/dev/sdb1 on /mnt/sdb1 type ext2 (rw) ②
# touch /mnt/sdb1/file1③
# umount /dev/sdb1
# mount -o ro /dev/sdb1 /mnt/sdb1/ ④
# mount | grep '/dev/sdb1'
/dev/sdb1 on /mnt/sdb1 type ext2 (ro) ⑤
# touch /mnt/sdb1/file2
touch: cannot touch `/mnt/sdb1/file2': Read-only file system ⑥
# mount -o remount,rw /dev/sdb1 /mnt/sdb1/ ⑦
# mount | grep '/dev/sdb1'
/dev/sdb1 on /mnt/sdb1 type ext2 (rw) ⑧
# touch /mnt/sdb1/file3 ⑨
#
③ 试着去生成 /mnt/sdb1/file1 文件。嘿!!没有任何错误信息,所以应该已经顺利建立 /mnt/sdb1/file1 了。
④ 卸载 /dev/sdb1 文件系统后,再使用 mount 挂载 /dev/sdb1 到 /mnt/sdb1/ 中。此时使用 mount 时指定挂载参数为 ro,所以/dev/sdb1 的读写状态应该是只读的。
⑤ 果然,挂载数据表中显示的的确是 ro。
⑥ 试着去生成 /mnt/sdb1/file2 文件,结果Red Hat Enterprise Linux 告诉我们这 是一个只读的文件系统 (Read-only file system),当然就无法生成 /mnt/sdb1/file2 文件了!!
⑦ 最后,使用mount -o remount 的技巧,在不卸载 /dev/sdb1 的情形下,直接修改 /dev/sdb1 的挂载参数再度成为可读可写。
⑧ 修改后,/dev/sdb1 的挂载参数就变成了rw了。
⑨ 当然,/mnt/sdb1/file3 就可以被生成出来。
oldfile ②
# mount /dev/sdb1 /mnt/sdb1/ ③
# ls /mnt/sdb1/
file1 file3 lost+found/ ④
# umount /mnt/sdb1/ ⑤
# ls /mnt/sdb1/
oldfile ⑥
#
③ 接着,把 /dev/sdb1 挂载到 /mnt/sdb1/ 目录。
④ 你会发现,此时 /mnt/sdb1/ 的内容并未包含 oldfile 文件!!
⑤ 接着,再把 /mnt/sdb1/ 的文件系统给卸载掉。
⑥ /mnt/sdb1/oldfile 又重现江湖了!!
最新评论
# 这只是一个创建远程登录并授权的语句、仅作为记录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Fit2cloud!' WITH GRANT OPTION;
当MGR集群初始化结束后,需要开启MGR集群自启动(需要有一台节点是自动开启引导) loose-group_replication_start_on_boot = ON #设置节点是否在启动时自动启动 MGR 集群 loose-group_replication_bootstrap_group = ON #设置节点是否作为初始引导节点启动集群
密码:blog.sirliu.com
本内容密码:blog.sirliu.com 最新整理的文章在这里喔:https://blog.sirliu.com/2018/11/shell_lian_xi_ti.html