磁盘最小单元为扇区512字节,扇区形成一个圆(磁柱),是分割槽的最小单元,比如第一个分区从第几磁柱到第几磁柱;第一个扇区
很重要,有MBR(446字节)和分区表(64字节),还有两个字节标志是否作为启动盘。
/dev/hd[a-d][1-63],用来表示IDE接口的磁盘。
/dev/sd[a-p][1-15],用来表示SCSI,USB,SATA等等的磁盘。
2. 文件系统基础
例如Ext2的索引式文件系统,用superblock,inode,datablock组成,查找文件时会由inode找到datablock,就可以读取所有datablock
了,而superblock则是记录整个文件系统的信息。而FAT文件系统没有inode,主要根据一张记录block位置的表,比如读取一个文件,就会
找到A block,再读B block,直到表的某一项显示读完了。这样效率低一些。也经常更需要碎片整理。
Ext2为了更好管理,将一个分区又分为bootsector+block groups(所以每个分区都可以有启动程序:多启动),每个block group有自己
的superblock,inode,datablock组成,格式化时就已经确定了block的大小,一般为4KB。
可以用 df 看挂载点的装置:(/dev/shm是内存虚拟的磁盘)
点击(此处)折叠或打开
- 
				[root@archer ~]# df
 
- 
				文件系统             1K-块      已用      可用 已用% 挂载点
 
- 
				/dev/sda10           101594496  13333228  83100516  14% /
 
- 
				tmpfs                   940788       272    940516   1% /dev/shm
 
- 
				/dev/sda7               198337     73070    115027  39% /boot
 
- /dev/sda8 15118728 1776552 12574176 13% /home
例子:要看一个文件,先得到它的绝对路径,假设是/usr/local/scr,系统会找到根目录/对应的inode,再读取对应的block,得到/usr/的
inode,就这样一层层找到/usr/local/src对应的block。
查看系统支持的文件系统,ls -l /lib/modules/$(uname -r)/kernel/fs
查看已经加载的文件系统,cat /proc/filesystems
3. 文件系统的简单操作:
df:检查磁盘整体的容量使用情况。
du:检查某个目录下文件占用的磁盘容量。
4. 硬链接和软链接:
软链接类似windows的快捷方式,即是又用一个inode指向原来文件的inode,再找到block;当原来文件被删除了,就不行了。
硬链接就是两个文件名指向相同的一个inode,由inode找到block,删除其中一个,另一个也指向这个inode,所以没有影响。
但是硬链接有限制,不能跨越filesystem也不能链接目录。所以还是软链接用的较多。
命令:ln a b 硬链接a到b
ln -s a b 软链接a到b
5. 磁盘的操作命令:
a. fdisk对磁盘进行分区,建立partition
b. 对分区格式化mkfs,建成文件系统
c. 对分区进行检查,fsck用来检验文件系统是否出错,badblocks检验坏轨
c. 新建目录,将分区挂载进来,mount
mount 【-t 文件系统】 【-L label名】 【-o 额外选项】【-n】 分区 挂载点
(也可以用mount将一个目录挂载到另一个目录 mount --bind a b,和软链接的道理差不多)
设置开机自动挂载,在/etc/fstab中,共有六个字段
第一:分区名或者其label (可以用dumpe2fs查询)
第二:挂载点
第三:文件系统
第四:使用的参数,例如同步或者异步,只读等等
第五:是否被dump备份指令作用,一般为0,不备份
第六:是否用fsck检验
特殊设备loop挂载,一般为光盘或者DVD,mount -o loop a /b
例子:建立大文件后用loop挂载
dd if=/dev/zero of=/home/loop bs=1M count=512 (bs为blocksize)
格式化,mkfs -t ext3 /home/loop
挂载,mount -o loop /home/loop /media/loop
(类似于从原来分区里新建一个分区)
