一、EXT2 文件系统
1. 硬盘组成与分区
(1) 扇区(Sector)为最小的物理存储单元,每个扇区为 512 bytes;
(2) 将扇区组成一个圆,那就是柱面(Cylinder),柱面是分区(partition)的最小单位;
(3) 第一个扇区最重要,里面有硬盘主引导记录(Masterbootrecord,MBR)及分区表(partition table),
其中MBR占有 446 bytes,而 partition table 占有64 bytes;
(4) 各种接口的磁盘在 Linux 中的文件名分别为:
/dev/sd[a-p][1-15]:为 SCSI,SATA,USB,Flash 等接口的磁盘文件名;
/dev/hd[a-d][1-63]:为 IDE 接口的磁盘文件名。
2. 文件系统特性
(1) 一个可被挂载的数据为一个文件系统而不是一个分区。
(2) 文件系统通常会将这两部分的数据分别存放在不同的块,权限与属性放置到 inode 中,实际数据则放置到
data block 块中。
(3) super block:记录此文件系统的整体信息,包括 inode/block 的总量、使用量、剩余量、以及文件系统
的格式与相关信息等。
(4) inode:记录文件的属性,一个文件占用一个 inode,同时记录此文件的数据所在的 block 号码。
(5) block:实际记录文件的内容,若文件太大时,会占用多个block。
3. Linux 的 Ext2 文件系统(inode)
(1) 文件系统最前面有一个启动扇区(boot sector),这个启动扇区可以安装引导装载程序。
(2) data block(数据块):是用来放置文件内容的地方,在 Ext2 文件系统中所支持的 block 大小有
1KB ,2KB,及4KB三种而已。
(3) 找出我的根目录磁盘文件名,并查看文件系统的相关信息
df ——这个命令可以调出目前挂载的设备
dumpe2fs /dev/sd2 ——查询每个区段的 superblock 信息。
(4) 查看文件所占用的 inode 号码: ls -i
4. 挂载点(mount point)的意义
(1)将文件系统与目录树结合的操作称为 挂载。
(2)挂载点一定是目录,该目录为进入该文件系统的入口。
二、文件系统的简单操作
1. 磁盘与目录的容量:df , du
df :列出文件系统的整体磁盘使用量。
du:评估文件系统的磁盘使用量(常用于评估目录所占容量)。
(1)将容量结果以易读的容量格式显示出来: df -h;
(2)将/etc下面的可用的磁盘容量以易读的容量格式显示: df -h /etc;
(3)将目前各个分区当中可用的 inode 数量列出: df -ih;
(4)检查根目录下面每个目录所占用的容量: du -sm /*;
2. 连接文件:ln
(1)hard link(硬连接或实际连接):只是在某个目录下新建一条文件名连接到某 inode 号码的关联记录而已。
(2)symbolic link(符号连接,快捷方式):再创建一个独立的文件,而这个文件会让数据的读取指向它连接的
那个文件夹的文件名。
(3)将/etc/passwd复制到/tmp下面,并且查看inode与block
cd /tmp
cp -a /etc/passwd .
du -sb ——计算整个/tmp下面有多少 bytes。
df -i .
(4)将/tmp/passwd制作hard link成为passwd-hd 文件,并查看文件与容量:
ln passwd passwd-hd;
du -sb
df -i .
(5)将/tmp/passwd创建一个符号连接
ln -s passwd passwd-so
ls -li passwd*
三、磁盘的分区、格式化、检验与挂载
1. 磁盘分区:disk
fdisk /dev/sda
2. 磁盘格式化:mkfs -t ext3 /dev/sda6
3. 磁盘检验:fsck,badblocks
fsck -C -f -t ext3 /dev/sda6
badblocks -sv /dev/sda6
4. 磁盘挂载与卸载:
(1)挂载Ext2/Ext3 文件系统
mkdir /mnt/sda6
mount /dev/sda6 /mnt/sda6
df
(2)挂载CD或DVD光盘
mkdir /media/cdrom
mount -t iso9660 /dev/cdrom /media/cdrom —— -t iso9660这个光盘的格式
mount /dev/cdrom /mdeia/cdrom —— 系统自己去测试挂载
df
(3)格式化与挂载软盘
mkfs -t vfat /dev/fd0
mkdir /media/floppy
mount -t fat /dev/fd0 /media/floppy
df
(4)挂载U盘
mkdir /mnt/flash
mount -t vfat -o iocharset=cp950 /dev/sda1 /mnt/flash
df
(5)文件卸载umount:
umount /dev/sda6
umount /media/cdrom
umount /mnt/flash
umount /dev/fd0
umount /mnt/home
(6)使用 label name 进行挂载的方法
dumpe2fs -h /dev/sda6
mount -L "vbird_logical" /mnt/sda6
5. 磁盘参数修改
(1)mknod
mknod /dev/sda10 b 22 10
ls -l /dev/sda10
(2)e2label
将 /dev/hdc6的卷标改成 my_test并查看是否修改成功
dumpe2fs -h /dev/hdc6
e2label /dev/hdc6 "my_test"
dumpe2fs -h /dev/hdc6
(3)tune2fs
列出 /dev/hdc6的super block 内容 :tune2fs -l /dev/hdc6
(4)hdparm
测试这块硬盘的读取性能:hdparm -Tt /dev/hdc
四、设置开机挂载
1. 开机挂载 /etc/fstab 及 /etc/mtab
将 /dev/hdc6 每次开机都自动挂载到 /mnt/hdc6
nano /etc/fstab
写入:/dev/dhc6 /mnt/hdc6 ext3 dufaults 1 2
2. 特殊设备 loop 挂载
ls -l -h /root/centos 5.2_x86_64.iso
mkdir /mnt/centos_dvd
mount -o loop /root/centos 5.2_x86_64.iso /mnt/centos_dvd
df
ls -l /mnt/centos_dvd
3. 新建大文件以制作loop设备文件
dd if=/dev/zero of=/home/loopdev bs=1M count=512
ls -l /home/loopdev
mkfs -t ext3 /home/loopdev
mount -o loop /home/loopdev media/cdrom/
五、交换内存空间(swap)的构建
1. 使用物理分区构建swap
fdisk /dev/hdc
mkswap /dev/hdc7
free
swapon /dev/dhc7
free
2. 使用文件构建 swap
dd if=/dev/zero of=/tmp/swap bs=1M count=128
ls -l -h /tmp/swap
mkswap /tmp/swap
free
swapon /tmp/swap
free
swapon -s
swapoff /tmp/swap
swapoff /dev/hdc7
free