目录
前言
Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。
一、文件系统
1、inode 和block、元信息 概述
文件数据包括元信息与实际数据
文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节
block(块): 连续的八个扇区组成一个block ,是文件存取的最小单位
inode (索引节点): 中文译名为:索引节点 ,也叫i节点 用于存储文件元信息 ,一般是128字节或256字节
元信息:文件的创建者、创建日期、文件大小、文件权限等
2、inode 和block作用
2.1 inode
磁盘分区后格式化为etx4文件系统后,产生一定数量的inode和block
inode存放文件属性信息以及指向文件实体的指针
2.2 block
磁盘读取数据是按block为单位读取,一个block只能存放一个文件,也就是无论文件多小,这个block剩余空间浪费掉了。
3、系统文件三个主要的时间属性
atime:最后一次访问文件或目录的时间
mtime:最后一次修改文件或目录的时间
ctime:最后一次改变文件或目录的时间
4、inode的特性
文件名包含特殊字符,可能无法正常删除。这时可以直接删除inode号
移动文件或重命名文件,只是改变文件名,不影响inode号
打开一个文件以后,系统就以inode号来识别这个文件,不再考虑文件名
文件数据被修改保存后,会生成一个新的inode号
5、删除文件
6、inode节点耗尽故障处理
#使用fdisk创建分区/dev/sdb1,分区大小30M即可
fdisk /dev/sdb
mkfs.ext4 /dev/sdb1
mkdir /test
mount /dev/sdb1/mnt
df -i
#模拟inode节点耗尽故障
for ( (i=1; i<=7680; i++) );do touch /test/file$i;done touch {1. . 7680}.txt
df -i
df -hT
#删除文件恢复
rm -rf /test/*
df -i
df -hT
二、硬链接与软链接
1、链接文件分类
软链接 | 硬链接 | |
删除原始文件后 | 失效 | 仍旧可用 |
使用范围 | 适用于文件或目录 | 只可用于文件 |
保存位置 | 与原始文件可以位于不同的文件系统中 | 必须与原始文件在同一个文件系统(如一个 linux 分区)内 |
2、格式
硬链接
In 源文件 目标位置
软链接
In 【-s】源文件或目录…链接文件或目标位置
三、恢复误删除的文件
1、EXT类型文件恢复
实例:
'第一步:添加一块磁盘备用,安装环境'
[root@wangermazi ~]#cd /mnt/Packages
[root@wangermazi Packages]# df -h '查看镜像文件是否挂载'
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.1G 16G 17% /
tmpfs 932M 76K 932M 1% /dev/shm
/dev/sda1 5.8G 168M 5.4G 3% /boot
/dev/sda3 9.7G 150M 9.0G 2% /home
/dev/sr0 3.6G 3.6G 0 100% /mnt '挂载在/mnt目录'
[root@wangermazi ~]# cd /mnt/Packages/
[root@wangermazi Packages]# ls '发现有很多软件包可以安装'
...省略部分内容
zip-3.0-1.el6.x86_64.rpm
zlib-1.2.3-29.el6.i686.rpm
zlib-1.2.3-29.el6.x86_64.rpm
zlib-devel-1.2.3-29.el6.i686.rpm
zlib-devel-1.2.3-29.el6.x86_64.rpm
zsh-4.3.10-7.el6.x86_64.rpm
[root@wangermazi Packages]# rpm -ivh e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm '安装e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm'
warning: e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
package e2fsprogs-libs-1.41.12-18.el6.x86_64 is already installed
[root@wangermazi Packages]# rpm -ivh e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm '安装e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm'
warning: e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
error: Failed dependencies:
libcom_err-devel = 1.41.12-18.el6 is needed by e2fsprogs-devel-1.41.12-18.el6.x86_64
pk