mount命令 用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。
磁盘格式化完成后需要挂载后才能进行去使用。在挂载某个分区前需要先建立一个挂载点,这个挂载点是以目录的形式出现的。一旦把某一个分区挂载到了这个挂载点(目录)下,那么再往这个目录写数据时,则都会写到该分区中。
注意:在磁盘挂载分区前,挂载点下必须是空目录,因为磁盘挂载后该目录下之前的东西就看不到了,只有卸载分区后才能看到。
说明:如果一台服务器上有多块磁盘,进行挂载时优先选用UUID,避免发生硬件维修更换磁盘位置后磁盘分区名发生变化而影响系统启动。
选项:
-V:显示程序版本;
-l:显示已加载的文件系统列表;
-h:显示帮助信息并退出;
-v:冗长模式,输出指令执行的详细信息;
-n:加载没有写入文件“/etc/mtab”中的文件系统;
-r:将文件系统加载为只读模式;
-a:加载文件“/etc/fstab”中描述的所有文件系统。
不分区格式化整块磁盘
[root@linux-xl ~]# fdisk /dev/sdb #删除所有分区
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p #列出分区
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x189fc246
Device Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
Command (m for help): d #删除分区
Selected partition 1
Partition 1 is deleted
Command (m for help): w #保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@linux-xl ~]# fdisk -l /dev/sdb #查看磁盘的情况,此时发现已经没有任何分区
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x189fc246
Device Boot Start End Blocks Id System
[root@linux-xl ~]# mkfs.xfs -f /dev/sdb #格式化为xfs文件系统;由于之前已经格式化过一次,现在格式化需要加-f选项强制格式化
meta-data=/dev/sdb isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@linux-xl ~]# blkid /dev/sdb #使用blkid命令查看磁盘的文件系统
/dev/sdb: UUID="2e36a530-168e-47cf-8e0d-659aaa606840" TYPE="xfs"
[root@linux-xl ~]# df -h #查看分区情况
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 44G 1.6G 43G 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.5M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda5 1014M 33M 982M 4% /home
/dev/sda1 1014M 135M 880M 14% /boot
tmpfs 378M 0 378M 0% /run/user/0
[root@linux-xl ~]# mount /dev/sdb /mnt/ #用法mount [选项]<盘符><挂载点>
[root@linux-xl ~]# df -h #可以看到最后一列已经成功挂载,/mnt挂载点好比是磁盘的入口,没有挂载点就无法在磁盘里写数据。
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 44G 1.6G 43G 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.5M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda5 1014M 33M 982M 4% /home
/dev/sda1 1014M 135M 880M 14% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
如何卸载呢?
[root@linux-xl mnt]# umount /dev/sdb #它会提示卸载不了,目标正忙。原因是我们正在它磁盘里面。
umount: /mnt: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
此时有两个解决方法
1、退出挂载点
[root@linux-xl ~]# umount /dev/sdb
2、加个-l选项
[root@linux-xl ~]# mount /dev/sdb /mnt/
[root@linux-xl ~]# cd /mnt/
[root@linux-xl mnt]# umount -l /dev/sdb
[root@linux-xl ~]# man mount #查帮助,常用选项的意义。
async/sync:磁盘和内存是否同步,默认async不同步;
auto/noauto:开机自动挂载/不自动挂载;
default:按着大多数永久文件系统的缺省值设置挂载定义,包含rw,suid,dev,exec,auto,nouser,async等
ro:按只读权限挂载
rw:按读写权限挂载
exec/noexec:允许/不允许可执行文件执行,千万不要把根分区挂载为noexec。
user/nouser:允许/不允许root外其他用户挂载分区,为了安全考虑,使用nouser
suid/nosuid:允许/不允许分区有suid属性,一般设置nosuid
usrquota:启动使用者磁盘配额模式,可针对用户限定他们的使用额度
grquota:启动群组磁盘配额模式
重新挂载磁盘
[root@linux-xl ~]# mount -o remount,rw /dev/sdb /mnt/
[root@linux-xl ~]# vim /etc/fstab #如果想要开机自动挂载,就需要在/etc/fstab配置文件上写
#
# /etc/fstab
# Created by anaconda on Tue May 15 23:23:48 2018
#
# 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
#
UUID=0a548611-1d43-47bd-af8b-73c62b4efc9b / xfs defaults 0 0
UUID=a20b1f54-71d4-455b-a1e3-5d5e04310479 /boot xfs defaults 0 0
UUID=50bcd687-ca95-491c-b987-346bb77a4364 /home xfs defaults 0 0
UUID=51efdc5d-8c12-4299-a7e9-d963e8d5361a swap swap defaults 0 0
/dev/sdb /mnt xfs defaults 0 0
#dev/sdb:目录和UUID一样的作用
#/mnt:挂载点
#xfs:文件系统类型
#defaults:默认选项
#第一个0:是否备份。0代表不备份;
#第二个0:开机不需要检测磁盘为0,需要检测磁盘,根分区为1,其它为2
[root@linux-xl ~]# blkid #/dev/sdb和UUID挂载的作用是一样的。一样可以写入/etc/fstab配置文件的第一列去。
/dev/sdb: UUID="2e36a530-168e-47cf-8e0d-659aaa606840" TYPE="xfs"
/dev/sda1: UUID="a20b1f54-71d4-455b-a1e3-5d5e04310479" TYPE="xfs"
/dev/sda2: UUID="0a548611-1d43-47bd-af8b-73c62b4efc9b" TYPE="xfs"
/dev/sda3: UUID="51efdc5d-8c12-4299-a7e9-d963e8d5361a" TYPE="swap"
/dev/sda5: UUID="50bcd687-ca95-491c-b987-346bb77a4364" TYPE="xfs"
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
[root@linux-xl ~]# mount UUID="2e36a530-168e-47cf-8e0d-659aaa606840" /mnt/
[root@linux-xl ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 44G 1.6G 43G 4% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 8.5M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda5 xfs 1014M 33M 982M 4% /home
/dev/sda1 xfs 1014M 135M 880M 14% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb xfs 10G 33M 10G 1% /mnt