1.设置root密码:
su allend:切换为自己的目录
sudo passwd root:修改root用户密码
2.fdisk -l 查看系统所有磁盘情况
可以看到磁盘的大小,多少个字节,多少个扇区,以及扇区的大小
Disklabel type :dos
Disk identifier: 磁盘id号
/dev/sda:表示第a块硬盘设备
/dev/sda1:表示第a块硬盘设备的第1个分区,
Boot:是不是启动分区 ;start:起始的扇区号;end:最终的扇区号;Sectors:扇区的数量
Id:分区类型编号(83->Linux);Type:分区类型编号对应的文字描述
新加一块硬盘:
/dev/sdb硬盘少了很多信息,那是因为只进行了低级格式化,没有进行高级格式化
3.MBR分区
fdisk /dev/sdb
F列出空余未分区空间
进行分区后:
4.GPT 分区
通过fdisk -l查看所有磁盘设备和分区
通过fdisk /dev/sdbb 对磁盘sdbb进行分区,然后按提示进行操作
5.格式化
1.任务:构建文件系统(高级格式化)
2、命令 mkfs.ext4 /dev/sdb1, mkfs.可以看支持哪些文件类型
3.挂载分区
格式化后相当于是把文件系统装入了分区,但是还不能用
挂载的目的:为了让分区可用,命令为:mount
比如mount /dev/sdb1 /mnt/llinux/ 表示将sdb的分区1挂载到/mnt/linux/,那么访问/mnt/linux/就相当于是访问这个sdb的分区1
该实验是有两个磁盘,一个20G,一个5G,20G有引导分区,也就是系统是在20个G的上面,5G的磁盘分了两个分区,/dev/sdb1(3G) 和/dev/sdb2(2G ) ,20G分区上新建了两个目录,一个为/mnt/linux/ 一个为/mnt/windows/将sdb1挂载到/mnt/linux/后,我们访问mnt/linux/就是在访问sdb1分区,这个分区3G的空间是分区1 的空间,只是通过/mnt/linux/来访问
命令:lsblk -f 查看分区挂载情况
5.Linux文件系统
1.文件占用空间大小:
可以看到文件大小只有12个字节,但是却占用4Kb的磁盘空间,操作系统分配磁盘空间至少分配一个扇区(512byte),但是这个12字节的文件却分配了8个扇区的空间,
原因:操作系统是将8个扇区一起分配空间的,这8个扇区叫做簇,
Cluster:簇,文件系统是以簇为单位进行空间分配的,这个是可以调整设置的
2.查看文件的目录项
以上是文件的目录项内容,其中权限控制ACL是8进制表示
iNode:磁盘的最开始部分有一些扇区存放着很多iNode,iNode中存放着磁盘中对应的扇区位置,如果文件占用了两个扇区,那么会都记录下来
命令debugfs 可以观察文件的扇区内容:
比如有一个文件叫做test,里面的内容是hello world
debugfs /dev/sdb1 //对分区进行调试
blocks test //查看test文件的inode中的扇区位置
bdump 33025 //查看文件 具体内容
删除文件后,发现还是可以看到文件内容,那是因为rm只是删除了目录中的条目,并没有删除实际文件
这里提出一个问题:我们创建分区的时候会指定一个分区类型,比如这里是指定的83(Linux),那么这里的83跟我们的文件系统又有什么联系呢,比如说我是LInux的操作系统,我将分区指定为windws的类型会有什么影响呢,又比如我指定为83的分区类型,但是我高级格式化装入的文件系统为windiows的NTFS,那么又有什么影响呢?
解答:
有些操作系统必须要自己能认识的分区类型才能读取比如windows,而有些操作系统不管分区类型是不是自己支持的类型,它只看实际的文件系统类型比如linux
比如说:
一个分区分区类型标示为ext3,而实际的文件系统是ntfs,那么windows会不认这个分区
而linux中,一个分区如果类型是ntfs,但实际文件系统是ext3,linux照样可以mount上来用