磁盘基本概念:
cylinder(柱面)
sector(扇区)
head(磁头)
Linux系统中,磁盘以磁盘文件形式保存在/dev目录下,文件名以hd或sd开头(IDE设备以hd开头,usb、sata、SCSI、SAS等设备以sd开头),以a、b、c等表示编号,如第一块硬盘叫做/dev/sda,第二块叫做/dev/sdb,以此类推
分区使用设备名+分区号形式表示,如第一个磁盘的第一个分区:/dev/sda1,第二个分区:/dev/sda2
MBR是PC架构计算机使用的最为广泛的分区机制,特点如下:
支持32位及64位系统
支持的分区数量有限
支持最大空间为2T
MBR分区概念:
主分区
扩展分区
逻辑分区
GPT是较MBR更新、更先进的分区机制,应用于支持uEFI的计算机上,特点如下:
支持超过2T的空间
向后兼容MBR
必须使用64bit系统
底层硬件必须使用EFI
fdisk是来自IBM的老牌分区软件,几乎所有Linux系统均默认安装
fdisk是一个MBR分区工具,不可用于GPT分区
只有超级用户(root)权限可以执行fdisk
fdisk分区后需要使用partprobe让内核识别新的分区
文件系统是操作系统用以管理磁盘或分区上的文件数据使用的,创建文件系统的过程一般称之为格式化
windows下主流的文件系统是:fat32、NTFS,Linux下主流的文件系统是:ext3、ext4
判断一个文件系统优劣通常通过以下几个方面:
支持最大分区大小
支持最大单个文件大小
支持文件名长度
日志功能
文件存取性能
命令mke2fs用以创建文件系统:
mke2fs -t ext4 /dev/sdb1
-b 指定文件系统块(block)大小(block是文件系统读写操作的最小单位,默认是4096)
-c 建立文件系统的时候检查块损坏
-L 指定卷标
-j 建立文件系统日志
命令mkfs可用来快速建立文件系统:
mkfs.ext3、mkfs.ext4、mkfs.vfat
命令dumpe2fs可用来查看指定文件系统的信息:
dumpe2fs /dev/sda1
命令e2label用以为指定文件系统添加卷标:
e2label /dev/sda1 LINUXCAST
命令fsck用以检查文件系统错误:
fsck /dev/sda1
日志是文件系统通常都支持的功能,用以提高文件系统的稳定性及可恢复性
文件系统创建好之后需要挂载到系统中方可使用,windows、Mac系统会自动挂载文件系统,而Linux下一般需要手工挂载
命令mount可用来挂载文件系统:
mount 要挂载的设备 挂载点
mount /dev/sdb1 /mnt
-t 指定文件系统的类型,如: -t ext3、-t vfat
-o 指定挂载选项:
ro,rw 只读挂载或读写挂载
sync 不使用文件缓存,所有操作直接写入磁盘
async 使用缓存提高文件系统读写效率
noatime 不更新文件访问时间
atime 更新文件访问时间
remount 重新挂载
命令umount用以卸载一个挂载的文件系统
umount 挂载源或挂载点
umount /dev/sdb1 | /mnt
可以将挂载配置写入/etc/fstab中以实现自动挂载
命令fuser可查看某文件系统中正在使用的文件
fuser -m /mnt
命令lsof可查看正在被使用的文件
lsof /mnt