文件系统
文件
文件储存位置是硬盘,硬盘的最小储存单位是扇区,一个扇区512字节
八个扇区组成一个块,一个块是4K大小,是文件的最小存取单位
文件包含文件名和文件数据(实际数据和元信息)
实际数据 储存在 块中
元信息 inode
文件名 目录
每一个inode表记录对应保存了文件的元信息:
-
inode number 节点号
-
文件类型
-
文件的读、写、执行权限
-
文件属主的UID
-
文件属组的GID
-
链接数(指向这个文件名路径名称个数)
-
该文件的大小和不同的时间戳
-
指向磁盘上文件的数据块指针
-
有关文件的其他数据
当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码;通过inode号码,获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限;如果有,就指向相对应的数据block,并读取数据。
查看 inode号
ls -i 文件名
stat 文件名
linux系统文件三个主要的时间属性
ctime(change time) 最后一次改变文件或目录(属性)的时间
atime(access time) 最后一次访问文件或目录的时间
mtime(modify time) 最后一次修改文件或目录(内容)的时间
每个文件系统(分区)中 inode 数量是有限的, 可通过 df -i 查看
移动文件或修改文件名,使用echo修改文件内容 都不会改变 inode 号 使用 vi 编辑器 修改文件 会改变 inode 号,因为 vi 编辑器是会替换原文件的
利用inode删除文件
若文件名有特殊字符无法删除,可通过inode号删除
find -inum inode号 -delete
find -inum inode号 -exec rm -rf {} \;
find -inum inode号 | xargs rm -rf
恢复ext类型的文件
extundelete 是一个开源的 Linux 数据恢复工具,支持 ext3、ext4文件系统。(ext4只能在centos6版本恢复)
Linux 系统下载文件 wget http://.... [-O 另保存目录]
curl -L http:// [-o 另保存目录]
#安装依赖包 yum -y install e2fsprogs-devel e2fsprogs-libs
#编译安装 extundelete
cd /test (test为挂载点)
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
tar jxvf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4/
./configure --prefix=/usr/local/extundelete && make && make install
ln -s /usr/local/extundelete/bin/* /usr/bin/ (将bin目录链接到/usr/bin/方便系统识别)
误删之后要取消挂载,防止写入新的数据
命令
extundelete /dev/sdc1 --inode 2 #查看文件系统/dev/sdc1下存在哪些文件,i 节点是从 2 开始的,2 代表该文件系统最开始的目录。
extundelete /dev/sdc1 --restore-all #恢复/dev/sdc1 文件系统下的所有内容
#在当前目录下会出现一个RECOVERED_FILES/目录,里面保存了已经恢复的文件 ls RECOVERED_FILES/
xfs类型文件备份和恢复
CentOS 7 系统默认采用 xfs类型的文件,xfs 类型的文件可使用 xfsdump 与 xfsrestore 工具进行备份恢复。 xfsdump 的备份级别有两种:0 表示完全备份;1-9 表示增量备份。xfsdump 的备份级别默认为 0。
日志系统
Linux 操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下
主要日志:
-
内核及公共消息日志:/var/log/messages 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。
-
计划任务日志: /var/log/cron:记录crond计划任务产生的事件信息。
-
系统引导日志: /var/log/dmesg:记录Linux系统在引导过程中的各种事件信息。
-
邮件系统日志: /var/log/maillog:记录进入或发出系统的电子邮件活动。
5.用户登录日志: /var/log/secure:记录用户认证相关的安全事件信息。
/var/log/lastlog:记录每个用户最近的登录事件。二进制格式
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。二进制格式
/var/run/btmp:记录失败的、错误的登录尝试及验证事件。二进制格式
内核及系统日志由系统服务 rsyslog 统一管理,主配置文件为/etc/rsyslog.conf
Linux系统内核日志消息的优先级别
0 emerg 紧急
1 alert 警告
2 crit 严重
3 err 错误
4 warning 提醒
5 notice 注意
6 info 信息
7 debug 调试