每一个扇区大小为512字节
块的大小通常是扇区的2^n倍
每一个块都属于一个文件,一个文件能够包含多个块
Linux文件系统:
存储空间:数据区,元数据区node
stat命令:查看元数据信息
文件名,大小,时间戳,权限,属主、属组,对应的数据存储在哪些磁盘块上;
文件名是存储在目录上,目录是路径映射符号
index node 索引节点: 索引区域中每一个文件元数据条件
每一个inode都有其编号:ls -imysql
若是某inode指向的常见类型的文件(f, d),指定向磁盘的数据区中的某个或某
些个磁盘块sql
目录:数据区存储的是(直接附属于此目录)文件名,以及与其对应的inode编号,
dentry: 目录项
根是自引用的
寻找/var/log/messages文件的过程?
先找到内核,内核把根的位置信息提供出来,根对应有一个inode,由此就能够找到根所在设备的
元数据区,在元数据区找到根对应的inode,在inode中除了根的信息外,还有指向的磁盘块,在磁盘
块上就能够找到附属于根的文件名,此时就能够找到var inode号,由inode号,再来查表就能够找
到var对应的inode,var的inode也会指向磁盘块,由此就能够找到log,再这样依此查找到messages
格式化过程:建立文件系统 把磁盘空间划分为数据区和元数据区 网络
bitmap:位图索引
是inode位图app
block bitmap:块位图索引分布式
块:块组 多个块组合成为一个块组索引
super block:保存了当前系统上各块组的信息 是有备份,在不一样的块中进行备份
tune2fs -l /dev/sdan
dumpe2fs /dev/sdanci
连接文件:
/var/log/messages
/tmp/log/abc inode: /var/log/messagesit
一个inode能够被引用屡次,其有计数器:在引用次数降为0以前是不会被标记为未用的。sed
两个路径的文件名:指向同一个inode,此时,一个文件就称为另外一个文件的硬连接
建立连接:
ln [-sv] SRC DEST
ln - make links between files
-s, --symbolic
make symbolic links instead of hard links
[root@localhost tmp]# mkdir links
[root@localhost tmp]# touch hardlinks
[root@localhost tmp]# ls -i hardlinks
399569 hardlinks
[root@localhost tmp]# ln hardlinks hard
[root@localhost tmp]# ls -il
total 4 硬链接数增长了,两个inode都是同样的
399569 -rw-r--r--. 2 root root 0 Dec 2 13:03 hard
399569 -rw-r--r--. 2 root root 0 Dec 2 13:03 hardlinks
396996 drwxr-xr-x. 2 root root 4096 Dec 2 13:03 links
393219 -rw-------. 1 root root 0 Dec 1 15:48 yum.log
[root@localhost tmp]# ln links hard2
ln: `links': hard link not allowed for directory
[root@localhost tmp]# pwd
/tmp
[root@localhost tmp]# df -lhP
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_lvm-lv1 9.8G 1.8G 7.5G 20% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 190M 50M 130M 28% /boot
/dev/mapper/vg_lvm-lv2 9.8G 98M 9.2G 2% /var
/dev/mapper/vg_lvm-data 9.8G 51M 9.2G 1% /mysql
[root@localhost tmp]# ln hardlinks /var/hello
ln: creating hard link `/var/hello' => `hardlinks': Invalid cross-device link
注意硬链接文件的权限都是644
无效的跨设备链接
硬连接:
不能对目录文件建立硬连接;
硬连接不能跨分区
建立硬连接会增长inode引用计数
符号连接:
能够对目录建立
不受分区限制
对文件建立符号连接不会增长引用计数
[root@localhost tmp]# ls
[root@localhost tmp]# touch softfile
[root@localhost tmp]# mkdir softdir
[root@localhost tmp]# ls -li
total 4
396996 drwxr-xr-x. 2 root root 4096 Dec 2 13:09 softdir
393219 -rw-r--r--. 1 root root 0 Dec 2 13:09 softfile
[root@localhost tmp]# ln -sv softfile file1
`file1' -> `softfile'
[root@localhost tmp]# ls -il
total 4
399569 lrwxrwxrwx. 1 root root 8 Dec 2 13:10 file1 -> softfile
396996 drwxr-xr-x. 2 root root 4096 Dec 2 13:09 softdir
393219 -rw-r--r--. 1 root root 0 Dec 2 13:09 softfile
[root@localhost tmp]# ln -sv softdir /var/dir1
`/var/dir1' -> `softdir'
[root@localhost tmp]# ls -l /var/dir1
lrwxrwxrwx. 1 root root 7 Dec 2 13:11 /var/dir1 -> softdir
[root@localhost tmp]# ls -l
total 4
lrwxrwxrwx. 1 root root 8 Dec 2 13:10 file1 -> softfile
drwxr-xr-x. 2 root root 4096 Dec 2 13:09 softdir
-rw-r--r--. 1 root root 0 Dec 2 13:09 softfile
注意软链接文件目录的权限都是777
可是,实际文件的访问权限只与源文件权限有关,与链接文件无关
文件删除:inode被标记为空闲,此inode指向的磁盘块被标记为空闲;
若是inode被引用了屡次,且这次删除未使得其引用计数下降为0的话,这意味着文件被删除仅删除了一个访问路径;
文件复制:建立一个新文件,并原文件中数据在新文件指向的磁盘块中再写一次的过程;
文件移动:
在同一个分区移到:移动文件仅是改变了文件访问路径;
跨分区移到:在新分区建立文件,把数据复制过去,删除原分区数据;
Linux的文件系统的类型:
ext(2,3,4), xfs, ffs, ufs, reiserfs, jfs, vfat(fat32), ntfs
交换文件系统:swap
网络文件系统:nfs, smbfs(cifs)
分布式文件系统:ceph
光盘文件系统:iso9660
btrfs,