分区是为了创建文件系统
MBR:
创建分区后,为了能够快速的存取文件就有了文件系统
inode:中存储了文件属组,等与文件数据没有关系的文件属性信息,但是没有文件名
每次访问某个目录的文件时是会进行缓存的,在一定的时间内再次访问的时候会去这个缓存区查找
文件系统:如何存储数据,一个硬盘会分成block区,还有inode区,在inode区里存储文件的属性类的信息,在block区存储真正的数据,当我们存储数据时首先在inode区查找能用的哪些inode区,在这里会记载着可用的block,当存储数据时就会选择那些可用的block,当要删除数据时就会将那些存储数据的block释放,同时这些block就会被归到那些可用的block序列中
一个文件只能有一个inode,一个inode也是只能有一个文件,inode与文件是一对一的关系
inode里存储的应该是文件存储数据时是用的哪几个block,但若要是存储的是另一个路径的时候时应该是连接文件
ln:创建硬连接文件,-s则创建软连接文件
abc/test/123 将abc连接到123
硬链接
只能对文件创建,不能应用于目录
不能跨文件系统
创建硬链接会增加文件被连接的次数
符号链接
可应用与目录
可以跨文件系统
不会增加被连接文件的连接次数
大小为指定的路径所包含的字符的个数
du:显示一个文件或文件系统占据的整体的大小
df:显示整个磁盘分区使用情况
设备文件
b:按块为单位,随机访问的设备
c:按字符为单位,线性设备
b:硬盘
c:键盘
/dev(有两个号)
主设备号
表示设备类型
次设备号
标识同一种类型中不同的设备
mknod:创建块或字符的文件(可以指定权限和类型)
-m:指定权限
硬盘设备的设备文件名
IDE,ATA:以hd开头
SATA,SCSI,USB:以sd开头
IDE
第一个IDE口:主从
/dev/hda/dev/hdb
第二个IDE口:主从
/dev/hdc/dev/hdd
查看当前系统识别了几个硬盘使用fdisk –l,加上特定的硬盘分区查看相应的分区
Linux
由于VFS的存在使得Linux支持多中文件系统
管理磁盘分区
fdisk /dev/sda
p:显示当前硬件的分区,包括没有保存的改动
n:创建新的分区
p:主分区
e:扩展分区
d:删除
w:保存退出
q:不保存退出
t:修改分区类型
l:显示所有支持的类型
目录是原数据路径的映射
为了加快inode与block的查找我们使用bitmap进行查找,为了更好的管理可以使用group管理inode与block,保存这些block的信息的是superblock
文件系统管理
重新创建文件系统会损坏原有文件
创建完文件系统可以使用cat/proc/partitions
mkfs:创建文件系统
-t:文件系统的类型
专门管理ext系列文件
mke2fs
-j:journal
-b:指定块大小,默认为4096
-L:指定分区卷标
-m #:指定留给超级用户的块数百分比
-I #:指定多少个字节的空间创建一个inode默认为8192,这里给出的数值为块大小的2^n倍
-N #:指定inode个数
-F:强制创建文件系统
-E:用户指定额外文件系统属性
blkid+设备(哪个磁盘):查看磁盘或分区设备的相关属性
UUID&TYPE&LABLE
e2label:查看或是定义卷标
tune2fs:调整文件系统的相关属性(无损创建)
-j:不损坏原有数据将ext2升级为ext3
-L:设定或修改卷标
-m:调整预留百分比
-r:指定预留块数
-o:设定默认挂载选项
acl
-c:指定挂载次数达到n次后进行自检0或-1表关闭此功能
-i:每挂载使用多少天后进行自检0或-1表示关闭此功能
-l:显示超级块信息
dumpe2fs:显示文件属性信息
-h:只显示超级块信息
fsck:检查并修复文件系统
-t:指定文件系统
-a:完成自动修复
e2fsck:检查并修复ext3或是ext2文件系统
-f:强制检查
-p:自动修复
挂载:将新的文件系统关联至当前的根文件系统
卸载:将某文件系统有当前艮文件系统的关联关系予以移除
mount:挂载
-a:表示挂载/etc/fstab文件中定义的所有的文件系统
-n:每挂载一次默认将挂载设备信息保存到/etc/mtab,使用-n表示不将信息保存至此文件中
-t:指定正在挂载的设备上的文件系统的类型
-r:只读挂载
-w:读写挂载
-o:指定额外的挂载选项也知道文件系统
-remount:重新挂载当前文件系统
挂载点要求:1此目录没有被其他进程使用,2目录需要事先存在,3目录中原有文件暂时隐藏,挂载完成后要通过挂载点访问对应的文件系统上的文件
umount:卸载
卸载注意事项:1挂载的设备没有进程使用,2
文件系统类型
cat /proc/filesystems查看当前文件系统都有哪些(与内核打交道就要用到proc)
swap分区:允许内存可以过载使用
虚拟内存
free:查看物理内存和交换空间使用情况
分区是由格式的,在使用fdisk分区后是要使用t进行设置分区类型的,设置为82创建交换分区
创建交换分区
mkswap /dev/sda8
swapon:启用交换分区
-a:启用所有定义在/etc/fstab上的swap文件中的交换设备
swapoff:关闭交换分区
当swap不够用了,有本地回环设备loopback使用软件模拟实现硬件
dd命令:复制文件,可以只复制一个文件的一部分,而cp必须复制整个文件
dd if=数据来源of=数据存储目标bs=512 count=2
磁盘上还有空间但是没有分区了,可以暂时拿一个文件来代替分区
mount命令还可以挂载iso镜像
-o loop:挂载本地回环设备
文件系统配置文件/etc/fstab,写在此文件内的定义的文件系统在开机的时候可以自动挂载
6个字段
挂载的设备
挂载点
文件系统类型
挂载选项
检查
备份
fuser :验证进程正在使用的文件或套接字文件
-v:查看某个文件上正在运行的进程
-k:
-m:
-km:终止正在访问此挂载点的所有的进程
本文出自 “Linux根文件系统” 博客,请务必保留此出处http://amazonjian.blog.51cto.com/9604681/1713172
原文地址:http://amazonjian.blog.51cto.com/9604681/1713172