在linux通过挂载命令可以使用各种选项进行不同文件系统的设备文件进行挂载,当然不仅限于块设备,但是无论怎么挂载,一般默认新建的文件系统进行挂载开机是不会自动挂载的,每次开启自动挂载的分区时通过/etc/fstab文件进行读取的。
/etc/fstab文件 简介:
此文件内容每一行都被定义一个条目的对应挂载信息,如果把每行条目按空格切割成多断那么可以分为下面几列:
要挂载的设备或者伪文件系统
挂载点
文件系统类型
挂载选项
转储频率
自检次序
挂载设备:一般为:设备名、LABEL=”设备卷标名”、UUID=”设备UUID”
伪文件系统:proc、sysfs、tmpfs、devpts等
挂载选项:默认为defaults,当然mount -o选项中的各种属性也都支持
转储频率:0:不做备份
1:每天转储
2:每隔一天转储
自检次序:0:开机不自检
1:开机自检;一般只有rootfs才用1,也就是/
文件例子:
这里是centos6.8版本中的配置:
这里是centos7.2版本中的配置:
解析:其中6版本中还是配置了一些伪文件系统,但是到了7版本,这些慰伪文件系统不在于/etc/fstab 文件中进行配置
注意:一般在创建分区的时候,是可以指定分区编号的,那么也就是说分区编号并不能说明分区柱面划分就是按顺序而来,所以,从6版本系统默认对文件系统是采用UUID进行识别并挂载,因为UUID在分区被格式化时创建的一个唯一编号,这样会避免冲突。
在对某个设备创建了文件系统之后,可以使用一些命令进行查看其UUID:
blkid 、tune2fs
1、根据blkid命令进行分区UUID查看,得出指定分区的UUID及其编号
这里注意,如果分区类型为xfs的话,左侧显示的并不是设备文件名称,而是另一种称呼:
[[email protected] ~]# blkid | grep ‘xfs’ /dev/block/8:2: UUID="c8360f6a-32ef-4bbc-b293-ce9f643bf845" TYPE="xfs" /dev/block/8:1: UUID="3ed1c49c-09b5-4989-a405-0032a3ad73d3" TYPE="xfs"
这里的设备直接以块设备主设备号和此设备号来命令
[[email protected] ~]# ls -l /dev/block/ total 0 lrwxrwxrwx. 1 root root 6 Aug 29 12:17 11:0 -> ../sr0 lrwxrwxrwx. 1 root root 6 Aug 29 12:17 8:0 -> ../sda lrwxrwxrwx. 1 root root 7 Aug 29 12:17 8:1 -> ../sda1 lrwxrwxrwx. 1 root root 6 Aug 29 14:03 8:16 -> ../sdb lrwxrwxrwx. 1 root root 7 Aug 29 12:17 8:2 -> ../sda2 lrwxrwxrwx. 1 root root 7 Aug 29 12:17 8:3 -> ../sda3 lrwxrwxrwx. 1 root root 7 Aug 29 12:17 8:4 -> ../sda4 lrwxrwxrwx. 1 root root 7 Aug 29 12:17 8:5 -> ../sda5
自动挂载设置:
#这里显示的是一个目录 [[email protected] ~]# ls -ld /mountdir drwxr-xr-x. 2 root root 4096 Aug 17 06:45 /mountdir
#在/etc/fstab中添加条目 /mountdir /umount none bind 0 0
#读取/etc/fstab条目进行挂载 [[email protected] ~]# mount -a
#因为是目录,所以df、lsblk等命令支持块设备,就使用mount来查看 [[email protected] ~]# mount | grep ‘/mountdir‘ /mountdir on /mnt/mountdir type none (rw,bind)
说明:无论挂载什么,挂载点必须存在,否则会出现错误。
交换分区:
交换分区设置命令:
mkswap [option] /path/to/swapdev :将指定设备文件格式化为交换分区
-L ‘LABEL’ :创建时设置卷标
mkswap -s :查看当前启用的所有交换分区
swapon -a :重新启动所有交换分区
swapon [option] /path/to/swapdev :
-p # : 设置其优先级为#
swapoff /path/to/swapdev : 禁用或卸载交换分区
在交换分区创建之前最好指明类型标
#新建的/dev/sdc磁盘分区默认Id标识为83
#下面调整Id,输入t进行修改
#这里的type codes列表可以再输入t之后查看,也可以在命令行界面查看,如:
[[email protected] ~]# echo -e "l\nq" | fdisk /dev/sdc 2> /dev/null | grep -v ‘^[[:space:]]\?$‘ | grep -v ‘^Command‘
下面进行交换分区创建:
使用mkswap命令:
#设置卷标并创建为交换分区 [[email protected] ~]# mkswap -L swap1 /dev/sdc1 Setting up swapspace version 1, size = 1060252 KiB LABEL=swap1, UUID=df562741-4e26-403a-8065-4ab99b9b8f95
#查看当前启用交换分区 [[email protected] ~]# cat /proc/swaps FilenameTypeSizeUsedPriority /dev/sda3 partition20971480-1
#启用交换分区: [[email protected] ~]# swapon /dev/sdc1
#再次查看启用中的交换分区 [[email protected] ~]# swapon -s FilenameTypeSizeUsedPriority /dev/sda3 partition20971480-1 /dev/sdc1 partition10602520-2
解析:最后一列表示优先级,数值越大,优先级越大
#禁用交换分区 [[email protected] ~]# swapoff /dev/sdc1
#查看/dev/sdc1已经被禁用 [[email protected] ~]# swapon -s FilenameTypeSizeUsedPriority /dev/sda3 partition20971480-1
设置自动挂载:
#为了分区的准确表示,这里使用UUID,但是UUID很长,可以使用vim的末行模式的命令调用来读取命令结果到文件中。
#然后回车,这样删除多余的数据就行了
#修改为/etc/fstab识别的格式,然后保存退出
#重新启用
[[email protected] ~]# swapon -a [[email protected] ~]# swapon -s FilenameTypeSizeUsedPriority /dev/sda3 partition20971480-1 /dev/sdc1 partition10602520-2
查看交换分区使用状态
free 命令
free [option]
-m : 以MB为单位
-g : 以GB为单位
#直接使用free查看
查看系统空间占用信息:
df 命令
df [option]
-H :按1MB=1000KB来换算
-T :列出文件系统的类型
-h :易读取方式显示
-i :显示每个分区的inode使用情况
-P :以Posix兼容格式输出,也就是更整齐的排版
显示某目录总体占用状态
du 命令
du [option] /path/to/dir
-s :只显示目录本身及大小
-h :显示大小后跟单位