linux学习笔记16-管好硬盘
linux学习笔记16-管好硬盘:
查看硬盘
ls -l /dev/xxy
xx:sd或者hd,sd代表是以下类型接口:SCSI SATA USB;hd代表 IDE硬盘接口。现在一般都是sd接口类型的硬盘
y代表这是这类接口下的第几个硬盘,是a-z的英文字符
硬盘分区的规则
/dev/xxyn,n是数字,代表序号,1-4代表主分区,5以后代表逻辑分区
举例:/dev/hda1 在IDE接口的第一个硬盘的第一个分区(主分区)
fdisk命令
fdisk -l 硬盘名 分区名
[root@localhost stu]# fdisk -l /dev/sda
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003dc67
Device Boot Start End Blocks Id System
/dev/sda1 1 523 4194304 82 Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/sda2 * 523 2611 16776192 83 Linux
分别包含了这些信息:磁盘容量,磁头数(盘面数),每磁道的扇区数,总柱面数(不同的盘面的相同磁道组成柱面), 每柱面的容量,每扇区容量。但是!这些参数是逻辑值,并不是硬盘的物理参数。
下面部分代表磁盘的分区情况,如果磁盘没分区,这部分内容是空白,如果分好了区,才有信息。
其中第一列代表:分区名
第二列代表:标准DOS PC主引导记录标识,是否允许标准dos主引导记录去引导该分区 ,对于windows的grub引导没有意义
第三和四列代表:每个分区的其实和结束柱面
第五列:大小为1K的块的数量,由于扇区的最小容量是512字节,所以:块的最大数量=柱面数量*每个柱面扇区数量/2
第六和七列:id和system 表示分区的预期用途,并不表示分区的实际用途,82代表交换分区,83代表linux实际分区
目前固态硬盘逐渐成为主流,虽然由于物理结构不同,但是采用了相同的接口,逻辑上还是采取和机械硬盘一样的表达方式。
硬盘分区和格式化
实操:把500G的硬盘进行分区和格式化,格式化其实就是创建文件系统
100G的主分区
64G的扩展分区
100G的逻辑分区,采用和windows兼容的vfat文件系统格式
100G的逻辑分区
剩余的容量单独分区
使用到的命令是 fdisk
fdisk /dev/sdb
n 创建新分区
e 代表 extended 扩展分区
p 代表 primary 主分区
w 代表写入分区表
q 代表退出此命令,不写入分区表
l 可以列出所有支持的文件系统类型,有255种
t 可以选择需要修改文件系统的分区号
mkfs -t ext4 /dev/sdb1 代表给第二块硬盘1分区创建ext4文件系统
mkfs -t vfat /dev/sdb2 代表给第二块硬盘2分区创建vfat文件系统
mkswap 一般用不上,因为安装系统的时候就创建好了,因为这是linux必须的分区
mkswap /dev/sdb5 代表给第二块硬盘的5分区变为交换分区文件系统,不需要跟-t的文件系统类型参数,因为swap文件系统就是单独的唯一的一种文件系统
手动挂载和卸载分区
linux文件系统是树形结构,划分好的分区必须挂载到某个已创建好的目录上,否则无法使用,此被挂载的目录称之为挂载点,先在根目录下创建好5个目录,然后使用mount命令,跟上 分区名 和 挂载点
mount -t ext4 /dev/sdb1 / project_mooc/finished/ 把上面创建好的sdb1分区挂载到finished目录上,-t参数表示分区类型,
-o参数表示挂载后的分区行为(是否允许写入文件,是否允许)
mount -o ro ext4 /dev/sdb1 / project_mooc/finished/ 表示挂载后只读,如果不跟参数,默认是可以读写的
mount 命令不加任何参数,可以查看这个挂好的分区信息
unmount /dev/sdb8 如果分区文件正在被访问,则不能被卸载,如果退出到别的目录,卸载成功
如果挂载点目录里面本来就有文件,一旦有分区挂载上这个目录后,原本这个挂载点目录的文件暂时不能被访问,只有分区被卸载后,原挂载点目录的文件才能被访问
如果挂载点分区里面有文件,则卸载分区后,分区的文件自然就不可见了,但是文件还是原样存在分区里面,一旦再次挂载就能被看见
注意:
不能将分区挂载到空目录上
不能多次挂载同一个分区
开机自动挂载分区
通过配置文件指定开机需要挂载的分区
etc/fstab 此配置文件
vim /etc/fstab
uuid 设备标签,比较准确稳定
第二列 挂载点
第三列 文件系统类型
第四列 挂载参数
第五列 dump备份是否打开
第六列 开机检查分区的次序,1表示优先,2表示其次,0表示不检查
如果按照此方法进行挂载,若硬盘是热插拔的使用场景,硬盘的顺序会变,sdb变sdc之类的,这样配置文件不会变,挂载会错,此时用 标签 UUID 来挂载更好
UUID=af7da4cb-4efa-4edf-b4d1-72607e04bac1 / ext4 defaults 1 1
UUID=2a2112ac-1264-4960-abfd-bdf9874c682f swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb5 /project_mooc/finished ext4 defaults 0 0
LABLE=material_disk /dev/sdb5 ext4 defaults 0 0
e2lable /dev/sdb5 material_disk 给sdb5分区加上了标签,相当于取了别名
在etc/fstab 文件中,第一列改为 LABLE=material_disk
其他参数不变
但是标签存在重名的情况,也会出错,如果用UUID是最保险的,universally unique identifier,是真正的唯一标识符,不会重合
blkid查看uuid
然后把格式改成fstab里面的已经用uuid挂载的格式即可