磁盘及文件系统的管理

分区是为了创建文件系统

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:指定权限

硬盘设备的设备文件名

IDEATA:以hd开头

SATA,SCSI,USB:以sd开头

IDE

                第一个IDE口:主从

                /dev/hda/dev/hdb

                第二个IDE口:主从

                /dev/hdc/dev/hdd

查看当前系统识别了几个硬盘使用fdisk �Cl,加上特定的硬盘分区查看相应的分区

Linux

由于VFS的存在使得Linux支持多中文件系统

管理磁盘分区

fdisk /dev/sda

                p:显示当前硬件的分区,包括没有保存的改动

                n:创建新的分区

                                p:主分区

                                e:扩展分区

                d:删除

                w:保存退出

                q:不保存退出

                t:修改分区类型

                l:显示所有支持的类型

目录是原数据路径的映射

为了加快inodeblock的查找我们使用bitmap进行查找,为了更好的管理可以使用group管理inodeblock,保存这些block的信息的是superblock

 

文件系统管理

重新创建文件系统会损坏原有文件

创建完文件系统可以使用cat/proc/partitions

mkfs:创建文件系统

                -t:文件系统的类型

专门管理ext系列文件

mke2fs

                -jjournal

                -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

磁盘上还有空间但是没有分区了,可以暂时拿一个文件来代替分区

                            spacer.gif

mount命令还可以挂载iso镜像

                -o loop:挂载本地回环设备

文件系统配置文件/etc/fstab,写在此文件内的定义的文件系统在开机的时候可以自动挂载

6个字段

挂载的设备

挂载点

文件系统类型

挂载选项

检查

备份

fuser :验证进程正在使用的文件或套接字文件

                -v:查看某个文件上正在运行的进程

                -k

                -m

                -km:终止正在访问此挂载点的所有的进程


你可能感兴趣的:(如何,信息,软连接,一对一)