赞
踩
磁盘的内部并不是真空的,只是空气很干净;利于散热
文件系统结构,理解文件系统,就得从文件存储说起
磁盘的专业术语
硬盘的存储容量=磁头数*磁道=扇区数*字节数
磁道从外向内从0开始顺序进行编号;
比较古老的CHS(Cylinder/Head/Sector)磁头、柱面、扇区结构体系
现在磁盘都采用这种技术:ZBR(Zoned Bit Recording)区位记录
使用ZBR区位记录法做的磁盘特点:
windows安装系统的C盘或者Linux boot分区一般安装在最外头
Linux的boot分区也是在最外面
其实这两个玩意是同一个概念
簇是windows系统常用的说法
block是linux系统常用的说法
Linux的文件系统有三部分组成:文件名、inode、block
Linux的文件系统:ext2 、ext3、ext4、xfs
Windows的文件系统:FAT32、NTFS
[root@node0 ~]# ls /etc/passwd #这个就是文件名
/etc/passwd
#我们直接操作的目录或者文件都是有文件名的
文件的时间戳:
inode包含文件的元信息、
inode的大小
硬盘在格式化创建文件系统的时候,系统会分成两个区域,
Linux查找文件的原理:
[root@node0 data]# ls -i aa.txt
51015462 aa.txt
[root@node0 data]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3 9180672 59024 9121648 1% /
devtmpfs 250786 339 250447 1% /dev
tmpfs 253511 1 253510 1% /dev/shm
tmpfs 253511 648 252863 1% /run
tmpfs 253511 16 253495 1% /sys/fs/cgroup
/dev/sda1 256000 326 255674 1% /boot
tmpfs 253511 1 253510 1% /run/user/0
#如果inode号码使用完毕,但是硬盘空间还有数据还是无法写入;
[root@node0 data]# ls -ild /root
33574977 dr-xr-x---. 2 root root 183 9月 3 08:56 /root
inode的特殊作用
由于inode号码与文件名分离,所以有些特殊现象
#如果修改了文件内容后,inode号会随之改变
[root@node0 data]# touch b.txt
[root@node0 data]# ls -i b.txt
51015468 b.txt
[root@node0 data]# vim b.txt
s
sisdjflsjd
[root@node0 data]# ls -i b.txt
51015470 b.txt
作用:查看文件的详细信息
语法:stat+文件名
[root@node0 data]# stat passwd
文件:"passwd"
大小:1002 块:8 IO 块:4096 普通文件
设备:803h/2051d Inode:51015463 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-09-05 21:29:18.218094011 +0800
最近更改:2021-09-05 21:29:18.218094011 +0800
最近改动:2021-09-05 21:29:18.218094011 +0800
创建时间:
#ctime:指文件上次属性变动的时间,包括所有者所属组、读写等等
#atime:指上次文件被查看的时间
#mtime:指文件内容被改变的时间
实战:
模拟黑客入侵文件的实验
#黑客首先会修改时间,再植入木马程序 [root@node0 data]# stat aa.txt 文件:"aa.txt" 大小:0 块:0 IO 块:4096 普通空文件 设备:803h/2051d Inode:51015462 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 最近访问:2021-09-05 21:28:32.853090870 +0800 最近更改:2021-09-05 21:28:32.853090870 +0800 最近改动:2021-09-05 21:28:32.853090870 +0800 创建时间:- [root@node0 data]# date -s "21:28:32" 2021年 09月 05日 星期日 21:28:32 CST [root@node0 data]# echo hahah > aa.txt [root@node0 data]# stat aa.txt 文件:"aa.txt" 大小:6 块:8 IO 块:4096 普通文件 设备:803h/2051d Inode:51015462 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 最近访问:2021-09-05 21:28:32.853090870 +0800 最近更改:2021-09-05 21:28:37.823000403 +0800 最近改动:2021-09-05 21:28:37.823000403 +0800 创建时间:- [root@node0 data]# chmod +x aa.txt
block是真正存储数据的地方
block是文件系统中最小的存储单位
扇区是磁盘中最小的存储单位;
在Linux系统中是block
在windows系统中是簇
问题:如果直接使用扇区、不使用block会怎么样?
操作系统读取数据的时候,如果按照一个扇区一个扇区查找的话512字节就会太慢了
所以需要读取一个块财会
多个扇区组成的“块”是文件系统存储的最小单位
如果随意调整簇或者是block的大小
[root@node0 data]# stat passwd | grep IO
大小:6 块:8 IO 块:4096 普通文件
Linux链接分为两种硬链接与软连接
作用:创建硬链接与软连接
语法:ln+选项+源文件+链接文件名
选项:
[root@node0 data]# ln passwd passwd.hard #创建硬链接
[root@node0 data]# ln -s passwd passwd.soft #创建软链接
[root@node0 data]# ll pass*
-rw-r--r-- 2 root root 6 9月 5 21:28 passwd
-rw-r--r-- 2 root root 6 9月 5 21:28 passwd.hard #硬链接属性与源文件一致的
lrwxrwxrwx 1 root root 6 9月 5 23:13 passwd.soft -> passwd #软链接的属性是满权限,但是限制的是源文件的权限
#尝试链接目录
[root@node0 data]# ln oldboy/ oldboy.hard #硬链接无法链接目录
ln: "oldboy/": 不允许将硬链接指向目录
[root@node0 data]# ln -s oldboy/ oldboy.sort.d
特点:
特点:
在一台配置较低的Linux服务器(内存、硬盘比较小)的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命令查看了一下磁盘使用情况,发现/data分区只使用了80%,还有1.9G的剩余空间,但是无法创建新的文件。当时使用的是root用户。服务器没有被黑。
#首先需要查看一下系统的基本情况 [root@node0 data]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 18G 2.5G 16G 15% / devtmpfs 980M 0 980M 0% /dev tmpfs 991M 0 991M 0% /dev/shm tmpfs 991M 9.4M 981M 1% /run tmpfs 991M 0 991M 0% /sys/fs/cgroup /dev/sda1 497M 120M 378M 25% /boot tmpfs 199M 0 199M 0% /run/user/0 #只要有权限就能创建新文件? #还需要排查inode节点数 [root@node0 data]# df -i 文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点 /dev/sda3 9180672 59027 9121645 1% / devtmpfs 250786 339 250447 1% /dev tmpfs 253511 1 253510 1% /dev/shm tmpfs 253511 648 252863 1% /run tmpfs 253511 16 253495 1% /sys/fs/cgroup /dev/sda1 256000 326 255674 1% /boot tmpfs 253511 1 253510 1% /run/user/0 #后来用df -i查看了一下/data所在的分区的索引节点(inode),发现已经用满(IUsed=100%),导致系统无法创建新目录和文件。 #解决的方案: 解决方案1:删除/data目录中的部分文件,释放出/data分区的一部分inode。 解决方案2 : 在/data备份好一些文件,然后删除这些文件,释放一些inode,
重启服务器后出现ctrl+D报错
解决办法:
作用:修复文件系统的命令
语法:fsck+选项+分区
选项:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。