EXT2
Ext2 文件系统在格式化的时候基本上是区分为多个区块群组 (block group) 的,每
个区块群组都有独立的 inode/block/superblock 系统 .
superblock:记录此 filesystem 的整体信息,包括 inode/block 的总量、使用量、剩余量, 以及文件系统的
格式与相关信息等;
inode:记录文件的属性,一个文件占用一个 inode,同时记录此文件的数据所在的 block 号码;
block:实际记录文件的内容,若文件太大时,会占用多个 block 。
data block (资料区块)
- 原则上, block 的大小与数量在格式化完就不能够再改变了(除非重新格式化);
- 每个 block 内最多只能够放置一个文件的数据;
- 承上,如果文件大于 block 的大小,则一个文件会占用多个 block 数量;
- 承上,若文件小于 block ,则该 block 的剩余容量就不能够再被使用了(磁盘空间会浪费)。
inode 本身并不记录文件名,文件名的记录是在目录的 block 当中 。
磁盘与目录的容量
df
[root@study ~]# df [-ahikHTm] [目录或文件名]
选项与参数:
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T : 连同该 partition 的 filesystem 名称 (例如 xfs) 也列出;
-i :不用磁盘容量,而以 inode 的数量来显示
范例一: 将系统内所有的 filesystem 列出来
du
[root@study ~]# du [-ahskm] 文件或目录名称
选项与参数:
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;
实体链接与符号链接: ln
Hard Link (实体链接, 硬式连结或实际连结)
每个文件都会占用一个 inode , 文件内容由 inode 的记录来指向;
想要读取该文件,必须要经过目录记录的文件名来指向到正确的 inode 号码才能读取。
hard link 只是在某个目录下新增一笔档名链接到某 inode 号码的关连记录而已。
- 不能跨 Filesystem;
- 不能 link 目录。
Symbolic Link (符号链接,亦即是快捷方式)
Symbolic link 就是在建立一个独立的文件,而这个文件会让数据的读取指向他 link 的那个文件的档名
当来源档被删除之后, symbolic link 的文件会『开不了』
磁盘分区、格式化等
新增一块磁盘时:
1. 对磁盘进行分区,以建立可用的 partition ;
2. 对该 partition 进行格式化 (format),以建立系统可用的 filesystem;
3. 若想要仔细一点,则可对刚刚建立好的 filesystem 进行检验;
4. 在 Linux 系统上,需要建立挂载点 (亦即是目录),并将他挂载上来;
lsblk 列出系统上的所有磁盘列表
blkid 列出块设备的 UUID 等参数
parted 列出磁盘的分区表类型与分区信息
gdisk - 新增分区槽 (GPT分区)
随便玩 gdisk ,只要离开 gdisk 时按下『q』,那么所有的动作『都不会生效!』相反的, 按下『w』就是动作生效的意思。
文件系统类型:
Command (? for help): L
0700 Microsoft basic data 0c01 Microsoft reserved 2700 Windows RE
4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS
7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved
8200 Linux swap 8300 Linux filesystem 8301 Linux reserved
8e00 Linux LVM a500 FreeBSD disklabel a501 FreeBSD boot
a502 FreeBSD swap a503 FreeBSD UFS a504 FreeBSD ZFS
a505 FreeBSD Vinum/RAID a580 Midnight BSD data a581 Midnight BSD boot
a582 Midnight BSD swap a583 Midnight BSD UFS a584 Midnight BSD ZFS
a585 Midnight BSD Vinum a800 Apple UFS a901 NetBSD swap
a902 NetBSD FFS a903 NetBSD LFS a904 NetBSD concatenated
a905 NetBSD encrypted a906 NetBSD RAID ab00 Apple boot
af00 Apple HFS/HFS+ af01 Apple RAID af02 Apple RAID offline
af03 Apple label af04 AppleTV recovery af05 Apple Core Storage
be00 Solaris boot bf00 Solaris root bf01 Solaris /usr & Mac Z
bf02 Solaris swap bf03 Solaris backup bf04 Solaris /var
bf05 Solaris /home bf06 Solaris alternate se bf07 Solaris Reserved 1
bf08 Solaris Reserved 2 bf09 Solaris Reserved 3 bf0a Solaris Reserved 4
bf0b Solaris Reserved 5 c001 HP-UX data c002 HP-UX service
ed00 Sony system partitio ef00 EFI System ef01 MBR partition scheme
ef02 BIOS boot partition fb00 VMWare VMFS fb01 VMWare reserved
fc00 VMWare kcore crash p fd00 Linux RAID
新建分区步骤
新建gpt分区:
gdisk命令
记得按w保存(q是不保存离开),接着会警告可能出现的问题。
partprobe 更新 Linux 核心的分区表信息
partprobe -s
删除分区也要更新分区表信息!!