Linux介绍--文件系统管理

1.硬盘的逻辑结构:
在这里插入图片描述
每个扇区的大小书固定的。为512Byte。扇区也是磁盘的最小存储单位。
在这里插入图片描述
硬盘的大小使用磁头数✖️柱面数✖️扇区数✖️每个扇区的大小。这样的公式来计算,其中磁头数,表示硬盘总共有几个磁头,也可以理解为硬盘有几个盘面,然后✖️二,柱面数表示硬盘每一面盘片有几条磁道;扇区数表示每条磁道上面有几个扇区,每个扇区大小一般是512byte。
硬盘接口
IDE硬盘接口,也称作为ATA硬盘或者PATA硬盘,是早期机械硬盘的的主要接口,ATA133硬盘的理论速度可以达到133Mb/s,IDE硬盘接口。
SATA接口,是速度更高的硬盘标准,具备了更高的传输速度,并具备了更强的纠错能力。目前已经是SATA三代,理论速度达到了600Mb/s
SCSI接口:广泛应用在服务器上面,具有应用范围大多任务,宽带大,cpu占用率低以及支持热插拔等优点,理论传输速度达到320Mb/s。
文件系统
1.Linux文件系统特性:
super block:记录整个文件系统的信息,包括block于inode的总量,已经使用 的inode和block的数量,未使用inode和block数量,block于inode的大小,文件系统的的挂载时间,最近一次写入时间,最近一次的磁盘检验时间等等
date block (数据块 也称作为block):用来实际保存数据的(柜子的隔断),block的大小和数量在格式化后就已经决定了。不能改变。每个block只能保存一个文件的数据,要是文件数据小于一个block块,那么这个block的剩余空间不可以被其他文件占用,要是文件数据大于一个block则占用多个block。windows中磁盘的碎片整理工具就是把一个文件占用的多个block块。尽量整理到一块。这样可以加快读写的速度。
inode(i 节点相当于柜子上面的标签):用来记录文件的权限(r,w,x),文件的所有者和属组,文件的大小,文件的状态改变时间,文件的最后一次读取时间,文件的最后一次修改时间,文件的数据真正保存在block编号,每个文件需要占用一个inode号。
2.Linux常见文件系统

文件系统 描述
ext Linux中最早的文件系统,由于在性能和兼容上面具有很多缺陷,现在已经很少使用。
ext2 是Linux文件系统的升级版本,RedHat Linux7.2 版本以前的系统默认都是ext2文件系统,于1993年发布,支持最大16TB的分区和最大2TB的文件
ext3 是ext2文件系统的升级版本,最大的区别就是带有日志功能,以便在系统突然停止时提高文件系统的可靠性,支持最大16TB的分区和最大2TB的文件。
ext4 是ext3文件系统的升级版本。ext4在性能,伸缩性和可靠性方面进行了大量改进,ext4的变化可以说是翻天覆地,比如向下兼容ext3,最大IEB文件系统和16TB文件,无限数量子目录,Extents连续数据块概念,多块分配,延迟分配,持久性预分配,快速FSCK,日志校验,无日志模式,在线碎片模式,inode增强,默认启用barrier等。他是centos6.x默认文件系统
xfs xfs最早针对IRIX操作系统开发,是一个高性能的日志型文件系统,能够再断电以及操作系统崩溃的情况下保证文件系统的数据的一致性。它是一个64位文件系统,后来进行了开源并且移植到Linux操作系统中,目前centos7.x将XFS+LVM作为默认的文件系统,据官方所称,XFS对于 大文件的读写性能较好。
swap swap是linux中用于交换分区的文件系统(类似于windows中的虚拟内存,)当内存不够使用时,使用交换分区暂时替代内存,一般大小位内存的2倍,但是不要超过2GB,它是Linux的必需分区。
NFS NFS是网络文件系统的缩写,是用来实现不同主机之间文件共享的一种网络服务,本地主机可以通过挂载的方式使用远程共享的资源。
iso9660 光盘的标准文件系统。Linux要想使用光盘,必须支持iso9660文件系统
fat 就是windows下的fat16文件系统fat16系统,在linux中识别为fat
vfat 就是windows下的fat32文件系统,在Linux中识别为vfat,支持最大32GB的分区和最大4GB文件。
NTFS 就是window是下的NTFS文件,不过Linux默认是不能识别NTFS文件系统的,如果需要识别,则需要重新编译内核才能支持,它比fat32文件系统更加安全,速度更快,支持最大2TB的分区和最大64GB的文件
ufs Sun公司的操作系统Solaris和SunOS所采用的文件系统
proc Linux中基于内存的虚拟文件系统,用来管理内存存储目录/proc
sysfs 和proc一样,也是基于内存的虚拟文件系统,用来管理内存存储目录/sysfs
tmpfs 也是基于内存的虚拟文件系统,不过也可以使用swap交换分区。

常见的硬盘管理命令
1.df命令:
在这里插入图片描述
选项:
-a :显示特殊文件系统,这些文件系统几乎都是保存在内存中的,如/proc,因为是挂载在内存中,所以占用都是0
-h:单位不再只是用MB,而是换算成习惯单位。
-T:多出了文件系统类型一列。
du命令:
du [选项] [目录或者文件名]
选项:
-a:显示每个子文件的磁盘占用量,默认只统计子目录的磁盘占用量。
-h:使用习惯单位显示磁盘占用量,如KB,MB或者GB等等。
-s:统计总占用量,而不是列出子目录和子文件的占用量。

du和df的区别:du是用于统计文件的大小,统计的文件大小是准确的,df是用于统计空间大小的,统计的剩余空是准确的。
lsof | grep deleted 查看被删除的文件,然后一个进程一个进程的手工kill也是可以的。
**3.fsck文件系统修复命令**
	fsck -y /dev/sdbl

4.显示磁盘状态dumpe2fs。
5.查看文件的详细信息 stat 文件名 查看文件的详细信息。
在这里插入图片描述
6.判断文件类型
file 文件名 判断文件类型
type 命令名 判断命令类型
7.fdisk 命令手工分区。
fdisk -l 查看系统所有硬盘及分区。

命令 描述
a 可设置引导标记
b 编辑bsd 磁盘标签
c 设置dos操作系统兼容标记
d 删除一个分区
l 显示已知的文件系统类型,82表示为Linux swap分区,83表示Linux分区
m 显示帮助菜单
o 建立空白Dos分区表
p 显示分区列表
q 不保存退出
s 新建空白SUN磁盘标签
t 改变一个分区的系统ID
u 改变显示记录单位
v 验证分区表
w 保存退出
x 附加功能(仅专家)

3.partprobe:强制重读所有分区文件,重新挂载分区文件内所有分区。这不是分区必须命令,如果提示没有重启,可以不执行,也可以重启系统。
4.格式化:建立文件系统 ext3是Linux默认文件系统。
mkfs -t ext4 /dev/sdb1
mkfs -t ext4 /dev/sdb5
mkfs 命令是非常简单易用的。不过是不能调整分区的默认参数的,这些默认参数除非特殊情况,否则不需要调整,如果想要调整据需要使用mke2fs命令进行重新格式化,命令格式:
mke2fs [选项] 分区设备文件名
选项:
-t 文件系统:指定格式化成那个文件系统,如ext2 ext3 ext4.
-b字节:指定block块的大小。
-i字节:指定字节/inode的比例,也就是多少个字节分配一个inode。
-j:建立带有ext3日志功能的文件系统。
-L卷标名:给文件系统设置卷标名,就不使用e2lable命令设定了。
5.建立挂载点:
mkdir /disk1 ---------/dev/sdb1
6。挂载
mount /dev/sdb1 /disk1
7.查看
mount 查看所有已经挂载的分区和光盘。
fdisk -l查看系统分区。
df 查看分区占用百分比。
8.自动挂载:
修改自动分区挂载文件。
也可以使用UUID进行挂载,UUID(硬盘同一唯一识别码,可以理解为硬盘的ID)
这个字段在Centos5.5的系统中是写入分区的卷标名或者分区设备名,现在变成了硬盘的UUID,这样做的好处是当硬盘增加了新的分区,或者分区的顺序改变了,在或者内核升级后,仍然能够保证分区能够正确的加载,而不至于造成启动障碍。

9.重启测试;
mount -a 重新挂载所有内容,用它进行测试。
10.parted命令分区:
Linux系统中有两种常见的分区表MBR分区表(引导主分区)和GPT分区表(GUID分区表)
MBR分区表:支持最大的分区是2TB;最多支持4个主分区,或者3个主分区一个扩展分区。
GPT分区表:支持最大18EB的分区,最多支持128个分区,其中一个系统保留分区,127个用户自定义分区。
不过parted命令也是有点小问题,就是命令自身分区的时候只能格式化成ext2文件系统,不支持ext3系统,那就更不用说ext4文件系统了,不过这没有太多的影响,因为我们可以先区分在用mkfs进行格式化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章