一、创建文件系统
1、格式化:低级格式化(分区之前进行,划分磁道等等),高级格式化(分区之后对分区进行,创建文件系统)
a、格式化:元数据区,数据区
元数据区:Inode(index node)。
记录文件大小,权限,属主属组,时间戳,数据块指针
数据区:数据区会被分成大小相等的块,而元数据就是存储具体指到哪个数据块的指针
链接文件:存储数据指针的空间当中存储的是真实文件的访问路径;
设备文件:存储数据指针的空间当中存储的是设备号(major,minor)
[root@node1 ~]# ls -i 33574979(文件索引inode的编号) anaconda-ks.cfg 35721283 fstab 34048286 fstab.patch 34048285 grep.txt 35697265 mytest2 35697264 test 2616139 wohaoshuai1 33667170 FileTest.c 35697238 fstab.new 35367118 functions 33575034 myfirst.sh 50724930 mytest3 35697266 wohaoshuai
[root@node1 ~]# stat anaconda-ks.cfg #查看inode中存放的元数据 File: ‘anaconda-ks.cfg’ Size: 1252 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 33574979 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-12-27 17:06:52.671565566 +0800 Modify: 2019-06-04 22:36:40.495028271 +0800 Change: 2019-06-04 22:36:40.495028271 +0800 Birth: -
2、VFS:Virtual File System:虚拟文件系统
3、文件系统
Linux的文件系统:ext2(无日志功能),ext3,ext4,xfs(单个文件没有上限),relserfs(据说反删除功能比较好,不过这个作者老婆被人杀了他却无法证明自己的清白)。centos7上又出现了一个文件系统叫btrfs,不过还是在实验阶段。
光盘:iso9660
网络文件系统:nfs,cifs
集群文件系统:gfs2,ocfs2
内核级分布式文件系统:ceph
windows的文件系统:vfat,ntfs
伪文件系统:proc,sysfs,tmpfs,hugepagefs
Unix的文件系统:UFS,FFS,JFS
交换文件系统:swap
用户空间的分布式文件系统:mogilefs,moosefs,glusterfs
二、文件系统管理
1、文件系统管理工具
a、创建文件系统的工具
mkfs
mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.vfat,...
b、检测及修复文件系统的工具
fsck
fsck.ext2,fsck.ext3......
c、查看其属性的工具
dumpe2fs,tune2fs
d、调整文件系统特性
tune2fs
2、文件系统分为两类:有日志型文件系统,无日志型文件系统
3、链接文件:访问同一个文件不同路径
a、硬链接:指向同一个inode的多个文件路径。他们的inode号是一样的。
特性:
(1)、目录不支持硬链接
(2)、硬链接不能跨文件系统;
(3)、创建硬链接会增加inode引用计数
创建:
ln src link_file
[root@node1 ~]# ls -l anaconda-ks.cfg -rw-------. 1 root root 1252 Jun 4 2019 anaconda-ks.cfg [root@node1 ~]# ln anaconda-ks.cfg anaconda-ks.cfg_yinglianjie [root@node1 ~]# ls -l anaconda-ks.cfg -rw-------. 2(可以看到引用计数增加为了 2) root root 1252 Jun 4 2019 anaconda-ks.cfg [root@node1 ~]# ls -l anaconda-ks.cfg_yinglianjie -rw-------. 2 root root 1252 Jun 4 2019 anaconda-ks.cfg_yinglianjie
b、符号链接(软链接):指向一个文件路径的 另一个文件路径。他们的inode是不一样的
特性:
(1)、符号链接与源文件是两个各自独立的文件,各有自己的inode。对源文件创建符号链接不会增加引用计数。
(2)、支持对目录创建符号链接,可以跨文件系统
(3)、删除符号链接文件不影响原文件,但删除源文件,符号指定的路径即不存在,此时变成无效链接。
(4)、注意,符号链接文件的大小是其指定的文件的路径字符串的字节数。
创建:
ln -s src link_file
[root@node1 ~]# rm -rf fstab [root@node1 ~]# ls -l fstab.slink lrwxrwxrwx 1 root root 5 Dec 31 20:26 fstab.slink -> fstab [root@node1 ~]# cat fstab.slink cat: fstab.slink: No such file or directory