c linux root 后挂载读写,Linux-挂载-mount

4.文件系统

4.6分区、格式化与挂载

4.6.6挂载

什么是挂载?Linux通过倒树形的根文件系统来管理所有的文件,内核只能识别并管理根目录/所在的文件系统及其下的目录和文件。因此其他文件系统想要使用,都需要为其指定在现存目录下的访问入口。

将额外的文件系统,与现存的Linux能够识别的目录,建立起映射关系,实现将现存目录作为访问额外文件系统的入口的功能,这个过程称为挂载;用于访问额外文件系统的,现存文件系统中的指定目录,称为挂载点。

挂载的逆过程,解除额外的文件系统与现存Linux能够识别的目录之间的映射关系,称为卸载。

纠正一个误区,并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录。

1.查看已挂载设备

[root@localhost ~]# mount

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

/dev/mapper/rhel-home on /home type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

#结果省略了大部分显示

2.查看系统支持的文件系统

[root@localhost ~]# ls /lib/modules/$(uname -r)/kernel/fs

binfmt_misc.ko  cramfs  fat      isofs       nfs         pstore

btrfs           dlm     fscache  jbd2        nfs_common  squashfs

cachefiles      exofs   fuse     lockd       nfsd        udf

cifs            ext4    gfs2     mbcache.ko  nls         xfs

#Linux默认是不识别NTFS分区的

3.mount - mount a filesystem

[root@study ~]# mount -a

[root@study ~]# mount [-l]

[root@study ~]# mount [-t 档案系统] LABEL=''  挂载点

[root@study ~]# mount [-t 档案系统] UUID=''   挂载点#

[root@study ~]# mount [-t 档案系统] 装置档名  挂载点

选项与参数:

-a  :依照设定档 /etc/fstab 的资料将所有未挂载的磁碟都挂载上来

-l  :单纯的输入 mount 会显示目前挂载的信息。加上 -l 可增列 Label 名称!

-t  :可以加上档案系统种类来指定欲挂载的类型。常见的 Linux 支援类型有:xfs, ext3, ext4, reiserfs, vfat, iso9660(光盘格式), nfs, cifs, smbfs (后三种为网络档案系统类型)

-n  :在预设的情况下,系统会将实际挂载的情况实时写入 /etc/mtab 中,以利其他程序的运作。但在某些情况下(例如单人维护模式)为了避免问题会刻意不写入。此时就得要使用 -n 选项。

-o  :后面可以接一些挂载时额外加上的参数!比方说账号、密码、读写权限等:参数内容意义

async/sync

异步/同步设定磁碟是否以异步方式运作!预设为 async(效能较佳)

auto/noauto

自动/非自动当下达 mount -a 时,此档案系统是否会被主动测试挂载。预设为 auto。

rw/ro

可读写/唯读让该分割槽以可读写或者是唯读的型态挂载上来。

exec/noexec

可执行/不可执行限制在此档案系统内是否可以进行『执行』的工作?如果是纯粹用来储存资料的目录, 那么可以设定为 noexec 会比较安全。不过,这个参数也不能随便使用,因为你不知道该目录下是否预设会有执行档。

user/nouser

允许/不允许使用者挂载是否允许使用者使用 mount 指令来挂载。一般而言,我们当然不希望一般身份的 user 能使用 mount ,因此这里应该要设定为 nouser 囉!

suid/nosuid

具有/不具有 suid 权限该档案系统是否允许 SUID 的存在?如果不是执行档放置目录,也可以设定为 nosuid 来取消这个功能!

defaults同时具有 rw,   suid, dev, exec, auto, nouser, async 等参数。 基本上,预设情况使用 defaults 设定即可!

4.挂载 xfs/ext4/vfat 等档案系统

[root@localhost ~]# mkdir /mnt/sda3      #创建挂载点

[root@localhost ~]# mount /dev/sda3 /mnt/sda3/      #挂载

[root@localhost sda3]# df -h     #查看挂载结果

Filesystem             Size  Used Avail Use% Mounted on

/dev/mapper/rhel-root  9.8G  4.1G  5.8G  42% /

devtmpfs               905M     0  905M   0% /dev

tmpfs                  914M  140K  914M   1% /dev/shm

tmpfs                  914M  8.9M  905M   1% /run

tmpfs                  914M     0  914M   0% /sys/fs/cgroup

/dev/mapper/rhel-home  2.0G   33M  2.0G   2% /home

/dev/sda1              497M  119M  379M  24% /boot

/dev/sda3              197M   11M  187M   6% /mnt/sda3

#使用设备名挂载

[root@localhost ~]# blkid #查看设备的UUID

/dev/sda1: UUID="decc164a-f28b-4b7f-ae37-9fc38a347d94" TYPE="xfs"

/dev/sda2: UUID="Ijm3mK-onGH-ht6u-tGqw-qYYS-QrmH-dxbqkr" TYPE="LVM2_member"

/dev/mapper/rhel-root: UUID="f02db577-90a3-4ae2-a434-b43c4ab34d7e" TYPE="xfs"

/dev/mapper/rhel-swap: UUID="145d4801-311d-4efe-b188-7620c7a9ada9" TYPE="swap"

/dev/mapper/rhel-home: UUID="6ef1eb27-38b9-46bd-b6d4-abc3557b8f8c" TYPE="xfs"

/dev/sda3: UUID="3bb235a9-a7e5-4a9a-828c-e60428cc97ca" TYPE="xfs"

[root@localhost ~]# mount UUID="3bb235a9-a7e5-4a9a-828c-e60428cc97ca" /mnt/sda3 #通过UUID挂载

[root@localhost sda3]# df -h    #查看挂载结果

#使用UUID挂载

5.挂载光盘

[root@localhost ~]# mkdir /mnt/cdrom

[root@localhost ~]# mount /dev/sr0 /mnt/cdrom/

mount: /dev/sr0 is write-protected, mounting read-only

#[root@localhost ~]# mount -t iso9660 /dev/sr0 /mnt/cdrom

#如果提示mount: no medium found on /dev/sr0,请看视频。

6.挂载优盘

[root@localhost ~]# mkdir /mnt/usb

[root@localhost ~]# mount /dev/sda4 /mnt/usb

#如果提示mount: special device /dev/sda4 does not exist,请看视频

#如果不知道U盘的名称,可以使用如下命令查找:

#[root@localhost ~]# fdisk -l

7.重新挂载根目录

[root@localhost ~]# mount -o remount,rw /

#以读写方式重新挂载根目录

8.挂载一个目录

[root@localhost ~]# mount --bind /etc/  /mnt/etc/

#将etc目录挂载到/mnt/etc目录

9.卸载

[root@study ~]# umount [-fn] 装置档名或挂载点

选项与参数:

-f  :强制卸载!可用在类似网络档案系统 (NFS) 无法读取到的情况下;

-l  :立刻卸载档案系统,比 -f 还强!

-n  :不更新 /etc/mtab 情况下卸载。

[root@localhost ~]# umount /dev/sr0

#按设备名卸载

[root@localhost ~]# umount UUID="2014-05-07-03-58-46-00"

#按UUID卸载

[root@localhost ~]# umount /mnt/usb/

#按挂载点卸载

[root@localhost cdrom]# umount /dev/sr0

umount: /mnt/cdrom: target is busy.

(In some cases useful info about processes that use

the device is found by lsof(8) or fuser(1))

#在挂载点内卸载会提示目标忙

10.开机挂载

[root@localhost ~]# cat /etc/fstab

# /etc/fstab

# Created by anaconda on Fri Feb 28 14:53:55 2020

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

/dev/mapper/rhel-root   /                       xfs     defaults        1 1

UUID=decc164a-f28b-4b7f-ae37-9fc38a347d94 /boot          xfs     defaults        1 2

/dev/mapper/rhel-home   /home                   xfs     defaults        1 2

/dev/mapper/rhel-swap   swap                    swap    defaults        0 0

修改配置文件/etc/fstab,该文件中每一行定义一个要挂载的文件系统及相关属性,每一行的内容分为6个字段:

(1) 要挂载的设备,可以是以下内容:

n设备文件的名称,如/dev/sda1

n设备的LABEL

n设备的UUID,CentOS 7中较多使用此种方式

n伪文件系统:如sysfs, proc, tmpfs等

(2) 挂载点路径

如果是swap类型的设备,挂载点就是swap;

(3) 文件系统类型,如ext4,xfs,btrfs,vfat等等;

(4) 挂载选项,也就是mount -o命令的那些选项:

defaults:使用默认挂载选项;

(5) 转储频率,已经很少使用:

n0:从不备份;

n1:每天备份;

n2:每隔一天备份;

(6) 自检次序:

n0:不自检;

n1:首先自检,通常只能是根文件系统可用1;

n2:次级自检;

11.一键挂载

[root@localhost ~]# mount -a

mount -a命令将自动挂载/etc/fstab文件中配置的设备,可以认为系统启动时会执行一次该命令以挂载已配置的设备。

但自动挂载有个条件——该设备的挂载选项中没有noauto。换句话说,挂载选项中有noauto的设备在执行mount -a时不会被挂载。

12.注意事项

u根目录 / 是必须挂载的﹐而且一定要先于其它 mount point 被挂载进来。

u其它 mount point 必须为已建立的目录﹐可任意指定﹐但一定要遵守必须的系统目录架构原则 (FHS)

u所有 mount point 在同一时间之内﹐只能挂载一次。

u所有 partition 在同一时间之内﹐只能挂载一次。

u如若进行卸载﹐您必须先将工作目录移到 mount point(及其子目录) 之外。

你可能感兴趣的:(c,linux,root,后挂载读写)