8.1Linux文件系统基础概念

每个扇区大小为512字节
块的大小一般是扇区的2^n倍
每个块都属于一个文件,一个文件可以包含多个块
Linux文件系统:
    存储空间:数据区,元数据区

        stat命令:查看元数据信息
            文件名,大小,时间戳,权限,属主、属组,对应的数据存储在哪些磁盘块上;
   
    文件名是存储在目录上,目录是路径映射符号
       
            index node 索引节点: 索引区域中每个文件元数据条件
                每个inode都有其编号:ls -i

                如果某inode指向的常见类型的文件(f, d),指定向磁盘的数据区中的某个或某
                些个磁盘块

                目录:数据区存储的是(直接附属于此目录)文件名,以及与其对应的inode编号,
                    dentry: 目录项
              根是自引用的
             
        寻找/var/log/messages文件的过程?
      先找到内核,内核把根的位置信息提供出来,根对应有一个inode,由此就可以找到根所在设备的
      元数据区,在元数据区找到根对应的inode,在inode中除了根的信息外,还有指向的磁盘块,在磁盘
      块上就可以找到附属于根的文件名,此时就可以找到var inode号,由inode号,再来查表就可以找
      到var对应的inode,var的inode也会指向磁盘块,由此就可以找到log,再这样依此查找到messages
     
            格式化过程:创建文件系统  把磁盘空间划分为数据区和元数据区     

            bitmap:位图索引
                是inode位图

                block bitmap:块位图索引

        块:块组  多个块组合成为一个块组

        super block:保存了当前系统上各块组的信息 是有备份,在不同的块中进行备份
        tune2fs -l /dev/sdan
        dumpe2fs  /dev/sdan

        链接文件:
            /var/log/messages
            /tmp/log/abc inode: /var/log/messages

            一个inode可以被引用多次,其有计数器:在引用次数降为0之前是不会被标记为未用的。

            两个路径的文件名:指向同一个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,

转载于:https://my.oschina.net/u/1762991/blog/664816

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值