第十三章 -Linux 文件系统结构

本节所讲内荣

13.1  硬盘结构

13.2 文件系统结构

13.3,。硬连接,软连接

13.4  实战,解决磁盘有空间但是创建不了文件-修复服务器文件系统




[root@xueshen65 ~]# stat /etc/

  文件:"/etc/"

  大小:8192      块:24        IO 块:4096  目录

设备:802h/2050d Inode:8388673    硬链接:140

权限:(0755/drwxr-xr-x)  Uid:(    0/    root)  Gid:(    0/    root)

环境:system_u:object_r:etc_t:s0

最近访问:2020-03-20 11:11:14.190800714 +0800

最近更改:2020-04-02 10:26:49.909001183 +0800

最近改动:2020-04-02 10:26:49.909001183 +0800

创建时间:-

13.2  文件系统结构


Linux  文件系统由三部分组成, 文件名,inode,  block 

linux文件系统,ext3,  ext4 ,xfs 

windows  文件系统,FAT32,   NTFS 

13.2.1  文件名

cp   /etc/passwd  a.txt

ls   a.txt        #  a.txt  就是文件名

13.2.2  inode   的内容

文件的字节数

文件拥有者的User  ID 

文件的Group ID 

文件的读写,写,执行权限

文件的时间搓,有三个,ctime  ,指的是iNode 上一次变动的时间,mtime   指内容上一次变动的实际的

atime  指文件上的一次打开的时间

连接数,有多少个文件名指向inode 

文件数据block 的位置

通过stat  命令,查看某个文件的inode  信息

[root@localhost ~]# cp /etc/passwd a.txt

[root@localhost ~]# stat a.txt

  File: ‘a.txt’

  Size: 2363      Blocks: 8          IO Block: 4096  regular file

Device: fd00h/64768d Inode: 33780621    Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)  Gid: (    0/    root)

Context: unconfined_u:object_r:admin_home_t:s0

Access: 2020-04-01 12:28:33.301014883 +0800

互动是什么?是创建时间?  不会

mtime  modify  time   修改文件内容的时间

atime   accesstime   访问文件内容的时间


先查看stat  a.txt   


防治  find / mtime  查看木马文件

有时黑客忘记修改ctime  你可以find  / -ctime  查看木马文件

13.2.3  inode  的大小

inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统会将系统自动将硬盘分成两个区域,一个数数据区,存放文件数据,另一个是inode 区,存放inode所包含的信息


ls  -i   文件名

[root@localhost ~]# ls -i a.txt

33780621 a.txt

单独看的话加个d 

[root@localhost ~]# ls -id /etc/

16777281 /etc/

ls -i  命令列出整个目录文件,即文件名和inode 号码

13.2.5  block 块大小

block 是真正存数据的地方

block 是文件系统中最小的储存单位

扇区是磁盘中最小的储存单位

在linux下中叫block ,在Windows  簇

13.3  文件的应连接和软连接

13.3.1  连接芬两种,一种称为硬连接,另一种是软连接,符号连接

默认情况下,ln  命令产生硬连接

硬连接: 硬连接通过索引节点号来进行连接,inode 是可以应对多个文件名的

在linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号节点号

在linux中,多个文件名可以指向同一个索引节点,一般这种连接就是应连接

应连接的作用就是允许一个文件拥有多个路径名,这样用户就可以建立硬连接到重要的地方,防治误删的功能

只删除一个连接并不影响索引节点本身和其他的连接,只有当最后一个连接被删除后,文件的数据块以及目录的连接才会被释放,就是说,文件真删除的条件是与之相关的所有硬链接文件均被删除

软连接,另外一个连接称为 符号连接,叫软连接,软连接文件有类似于Windows的快捷键方式,它实际上市一个特殊的文件,在符号连接中,文件实际上是一个文基本文件,齐总包含有另一个文件的位置信息

13.3.2  实战-1  :ln   命令创建硬连接

语法格式:  ln   源文件       目标文件


[root@xueshen65 ~]# ls -i a.txt

16797793 a.txt

[root@xueshen65 ~]# ls -i b.txt

16797793 b.txt

修改权限后

[root@xueshen65 ~]# chmod 777 a.txt

[root@xueshen65 ~]# ll a.txt

-rwxrwxrwx. 2 root root 4 4月  2 14:37 a.txt

[root@xueshen65 ~]# ll b.txt

-rwxrwxrwx. 2 root root 4 4月  2 14:37 b.txt

[root@xueshen65 ~]#

  硬连接的原理就是多个文件名指向同一个inode ,因此多个文件名共享一个inode,号

这就是备份的目的

注意:  源文件被删除,不影响使用连接文件的正常使用

[root@xueshen65 ~]# chmod 777 a.txt

[root@xueshen65 ~]# ll a.txt

-rwxrwxrwx. 2 root root 4 4月  2 14:37 a.txt

[root@xueshen65 ~]# ll b.txt

-rwxrwxrwx. 2 root root 4 4月  2 14:37 b.txt

[root@xueshen65 ~]#

硬链接不能对目录进行创建

[root@xueshen65 ~]# ln /etc/ test

ln: "/etc/": 不允许将硬链接指向目录

硬连接的特点:无法针对目录,夸分区无法实现,因为每个分区都有自己独立的INDOE  编号

[root@xueshen65 ~]# ll -d test/ test/.    两个inode  号是一样的

drwxr-xr-x. 2 root root 6 4月  2 14:49 test/

drwxr-xr-x. 2 root root 6 4月  2 14:49 test/.

13.3.3  ln  -s  创建软连接 

软连接:相当于Windows 中的快捷键

语法  :  ln  -s   源文件   软连接名字  

例子

[root@xueshen65 ~]# cp /etc/passwd a.txt

[root@xueshen65 ~]# ln -s a.txt a-link.txt


[root@xueshen65 ~]# ll grub-link

例子2:能针对目录和夸分区创建软连接

芬夸分区创建   源文件必须写绝对路径

lrwxrwxrwx. 1 root root 10 4月  2 15:27 grub-link -> /boot/grub

[root@xueshen65 ~]# ll grub-link

lrwxrwxrwx. 1 root root 10 4月  2 15:27 grub-link -> /boot/grub

[root@xueshen65 ~]# cd /boot/

[root@xueshen65 boot]# ln -s ./grub /root/aaa

[root@xueshen65 boot]# ll /root/aaa

lrwxrwxrwx. 1 root root 6 4月  2 15:30 /root/aaa -> ./grub   报错了

 13.3.4  inode  特殊作用

由于inode号码与文件名分离,这种机制导致了一些Unix   系统特有的现象


互动: 为什么每次修改完服务器配置文件后,都需要冲虚加载一下配置文件

[root@xueshen65 ~]# cp /etc/passwd a.txt

[root@xueshen65 ~]# ls -i a.txt

20431688 a.txt

[root@xueshen65 ~]# mv a.txt 222.txt

[root@xueshen65 ~]# ls -i 222.txt

20431688 222.txt

例子2 

发现inode  号变了

13.4   解决磁盘有空间但创建不了文件-修复服务器文件系统




13.4.2  实战:修复服务器文件系统

实战场景;公司服务器断电后,再次启动后,包如下错误


解决方法:

输入root 密码

fsck -f -y  /dev/sda1   #把引导分区文件系统修复一下  # 慎用,给领导说一声

fsck -f -y  /dev/sda3   #把根分区文件系统修复一下    # 慎用,给领导说一声

reboot  重启

fsck参数:

-y 对所有问题都回答 "yes"

-f 即使文件系统标记为 clean 也强制进行检查

总结:

13.1  硬盘结构

13.2  文件系统结构

13.2  硬链接和软链接

13.4  实战:解决磁盘有空间但创建不了文件-修复服务器文件系统

你可能感兴趣的:(第十三章 -Linux 文件系统结构)