关键词:文件系统的挂载
前言
文件系统的使用,首先要”挂载”,使用命令mount来做挂载操作,使用命令umount来做取消挂载操作;
根文件系统之外的其他文件系统要想能被访问,都必须通过”关联”至根文件系统上的某个目录来实现,此关联操作称为”挂载”,此目录称为”挂载点”;
挂载点(mount_point),用于作为另一个文件系统的访问入口;
挂载点必须实现存在,而且未被或不会被其他进程使用到的目录;
挂载点下原来的文件会被隐藏;
1、mount命令
mount – mount a filesystem
mount [-fnrsvw] [-t vfstype] [-o options] device dir
mount : 不带任何选项,默认显示系统所有挂载的设备及对应的挂载点;
命令选项:
-r : readonly , 只读挂载;
-w : read and write , 读写挂载;
-n : 默认情况下,设备挂载(mount)或卸载(umount)的操作会同步更新到”/etc/mtab”文件中;’-n’选项表示禁用此特性;
-t vfstype : 指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount命令会通过blkid命令来判断要挂载的设备的文件系统类型;
-L LABEL : 挂载时以卷标的方式指明设备;挂载后显示的仍然是被挂载的设备的完整路径名;’mount -L LABELNAME dir’
-U UUID : 挂载时以UUID的方式指明设备;’mount -U UUID dir’
-o options: 挂载选项常用的如下;
sync/async : 同步/异步操作;内存的数据是同步/异步写入硬盘;
atime/noatime : 文件或目录在被访问时是否更新其访问时间戳;
diratime/nodiratime : 目录在被访问时是否更新其访问时间戳;
acl : 支持使用facl功能;’mount -o acl device dir’ 或者 ‘tune2fs -o acl device’
remount : 重新挂载;
ro : 只读;
rw : 读写;
dev/nodev : 此设备上是否允许创建设备文件;默认允许创建;
exec/noexec : 是否允许允许此设备上的程序文件;
auto/noauto : 是否允许使用’mount -a’自动挂载所有文件系统;
user/nouser : 是否允许普通用户挂载此文件系统;
suid/nosuid : 是否允许此设备的程序文件上的suid和sgid特殊权限生效;
relatime/norelatime : 是否参考改变时间或修改时间来更新inode的访问时间;
*********
defaults : 默认选项,Use default options: rw, suid, dev, exec, auto, nouser, and async.(内核与文件系统类型不同,默认选项有可能不同)
mount –bind 源目录 目标目录 : 以’目标目录’为访问入口,可以访问’源目录’的内容;
挂载光盘:
光盘设备文件识别后可能是:/dev/cdrom , /dev/dvd …
挂载命令:mount -r /dev/cdrom mount_point
挂载U盘:
首先要识别U盘的设备文件,可通过’fdisk -l’查看;
挂载本地回环设备(.iso , .img):
~]# mount -o loop /PATH/TO/SOME_LOOP_FILE mount_point
NOTE, ‘img’文件如果有分区信息,首先需要使用名’fdisk img_file’查看各个分区的起始位置;然后才用命令挂载’mount -o loop,offset=offset参数值 img_file mount_point’
查看当前系统所有已挂载的设备:
~]# mount
~]# cat /etc/mtab
~]# cat /proc/mounts
2、umount命令
umount dir | device
NOTE,正在被进程访问的挂载点是无法被卸载的;
查看挂载设备或挂载点被哪个或哪些进程所占用:
~]# lsof mount_point
~]# fuser -v mount_point ‘fuser’命令对应的软件安装包为’psmisc’,安装命令为’yum install psmisc’;
终止所有正在访问某挂载点的进程:
~]# fuser -km mount_point
3、/etc/fstab文件
设定除根文件系统外的其他文件系统能够开机自动挂载,需要把挂载信息写入此文件中;
‘/etc/fstab’文件中6个字段的说明:
[root@localhost ~]# [root@localhost ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Wed Dec 27 05:42:43 2017 # # 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/centos-root / xfs defaults 0 0 UUID=78fbb254-bb6a-4847-8890-4410ccb77410 /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 /dev/sdb1 /sdb1 xfs defaults 0 0 UUID=6573bffb-af78-4ea2-b4d1-d2303cab8cad /sdb2 ext4 defaults 0 0 UUID=05594ee4-41bd-4c37-b826-650b1f49ad64 /sdb5 xfs defaults 0 0 /dev/sdb6 /sdb6 ext4 defaults 0 0 [root@localhost ~]# 自左至右6个字段说明如下: 第一个字段:要挂载的设备,可用如下标识记录; 设备文件; LABEL; UUID; 伪文件系统,比如 sysfs , proc , tmpfs等; 第二个字段:挂载点; swap的挂载点是通过'swapon'启用的,区别与其他文件系统的挂载; 第三个字段:文件系统类型; 第四个字段:挂载选项; 第五个字段:转储(备份)频率;'0'表示从不备份,'1'表示每天备份,'2'表示每隔一天备份; 第六个字段:自检次序;'0'表示不自检,'1'表示首先自检,通常只能是根文件系统可用,'2'表示次级自检,... ;
4、df 与 du 命令
df命令:查看挂载后的所有文件系统的使用情况;
df – report file system disk space usage
df [OPTION]… [FILE]…
OPTIONS:
-l : 仅显示本地文件系统的相关信息;
-h : human-readable
-i : 显示inode的使用状态(inode 的数量);
du命令:评估文件的大小;
du – estimate file space usage
du [OPTION]… [FILE]…
OPTIONS:
-s : sumary,可对某个目录计算总容量大小;
-h : human-readable
df命令举例:
[root@localhost ~]# [root@localhost ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/centos-root 38770180 1901352 36868828 5% / devtmpfs 488472 0 488472 0% /dev tmpfs 499300 0 499300 0% /dev/shm tmpfs 499300 6896 492404 2% /run tmpfs 499300 0 499300 0% /sys/fs/cgroup /dev/sda1 1038336 156136 882200 16% /boot tmpfs 99864 0 99864 0% /run/user/0 /dev/sdb1 1038336 32944 1005392 4% /sdb1 /dev/sdb2 1998672 6144 1871288 1% /sdb2 /dev/sdb5 2086912 32944 2053968 2% /sdb5 /dev/sdb6 289285 2075 267754 1% /sdb6 [root@localhost ~]# df -l Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/centos-root 38770180 1901352 36868828 5% / devtmpfs 488472 0 488472 0% /dev tmpfs 499300 0 499300 0% /dev/shm tmpfs 499300 6896 492404 2% /run tmpfs 499300 0 499300 0% /sys/fs/cgroup /dev/sda1 1038336 156136 882200 16% /boot tmpfs 99864 0 99864 0% /run/user/0 /dev/sdb1 1038336 32944 1005392 4% /sdb1 /dev/sdb2 1998672 6144 1871288 1% /sdb2 /dev/sdb5 2086912 32944 2053968 2% /sdb5 /dev/sdb6 289285 2075 267754 1% /sdb6 [root@localhost ~]# [root@localhost ~]# df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 37G 1.9G 36G 5% / devtmpfs 478M 0 478M 0% /dev tmpfs 488M 0 488M 0% /dev/shm tmpfs 488M 6.8M 481M 2% /run tmpfs 488M 0 488M 0% /sys/fs/cgroup /dev/sda1 1014M 153M 862M 16% /boot tmpfs 98M 0 98M 0% /run/user/0 /dev/sdb1 1014M 33M 982M 4% /sdb1 /dev/sdb2 2.0G 6.0M 1.8G 1% /sdb2 /dev/sdb5 2.0G 33M 2.0G 2% /sdb5 /dev/sdb6 283M 2.1M 262M 1% /sdb6 [root@localhost ~]# [root@localhost ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/centos-root 19394560 60266 19334294 1% / devtmpfs 122118 412 121706 1% /dev tmpfs 124825 1 124824 1% /dev/shm tmpfs 124825 533 124292 1% /run tmpfs 124825 16 124809 1% /sys/fs/cgroup /dev/sda1 524288 333 523955 1% /boot tmpfs 124825 1 124824 1% /run/user/0 /dev/sdb1 524288 3 524285 1% /sdb1 /dev/sdb2 131072 11 131061 1% /sdb2 /dev/sdb5 1048576 3 1048573 1% /sdb5 /dev/sdb6 76912 13 76899 1% /sdb6 [root@localhost ~]# [root@localhost ~]# df -ih Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/centos-root 19M 59K 19M 1% / devtmpfs 120K 412 119K 1% /dev tmpfs 122K 1 122K 1% /dev/shm tmpfs 122K 533 122K 1% /run tmpfs 122K 16 122K 1% /sys/fs/cgroup /dev/sda1 512K 333 512K 1% /boot tmpfs 122K 1 122K 1% /run/user/0 /dev/sdb1 512K 3 512K 1% /sdb1 /dev/sdb2 128K 11 128K 1% /sdb2 /dev/sdb5 1.0M 3 1.0M 1% /sdb5 /dev/sdb6 76K 13 76K 1% /sdb6 [root@localhost ~]#
du命令举例:
[root@localhost ~]# [root@localhost ~]# ls -lhd /etc drwxr-xr-x. 79 root root 8.0K May 5 12:42 /etc [root@localhost ~]# [root@localhost ~]# du -s /etc 34672 /etc [root@localhost ~]# du -sh /etc 34M /etc [root@localhost ~]#