本节所讲内荣
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 实战:解决磁盘有空间但创建不了文件-修复服务器文件系统