inode、block

inode:索引节点,用于储存文件的元信息(属主、属组、修改时间、访问时间、文件对应的block等),一般一个inode的大小为128-256字节(也有512字节的,不过很少)每个文件有一个唯一的inode号。硬链接和原文件共用用一个inode号,这是特殊情况。
block(块):扇区是硬盘的最小存储单元,每个扇区的存储空间为512字节,8个扇区组合在一起形成一个block,一个block的存储空间为4k,block是一个文件的最小存储单位,一个文件小于4k会被存放于一个block,这个block中多余的空间会浪费掉。
inode和block是逻辑层面的东西,不是物理层面的。每个磁盘会分一小部分储存inode信息,大部分储存数据信息,每个磁盘的inode数量是固定的,inode的数量取决于磁盘的文件格式,如果inode号满了,而磁盘仍有空间,是无法继续存储新的文件,这个时候需要删除一些无用的文件,磁盘才能正常使用。inode的数量可以在格式化的时候进行修改,不过一般不需要这么做。

inode的作用

多个inode组合在一起形成inode表,inode表相当于书本的索引目录,当系统查找文件时,系统对首先查看该文件所在目录的inode,然后在查找目录下文件的inode,找到这个inode对应的block后,才准确找到文件。值得一提的是目录的大小并不是指目录下文件的总大小,而是目录自己的inode和目录下文件的inode。

可以看到/opt的大小和目录下文件的大小并不一致。

由于inode是逻辑层面的东西,所以把inode号删掉,存储的数据还在,但是系统没法通过inode号搜索到该文件或目录。

block的作用

仅仅是作为逻辑层面的文件的最小存储单元,用来存储文件,没有其他什么作用。

通过stat命令查看inode信息

stat:后面跟想要查找的文件或目录,可以查看文件的大小、占用多少block(块),第一个block位于磁盘的什么位置,文件类型最近访问(atime),最近更改(mtime)最近改动(ctime)等等,比ls详细很多。

[root@localhost ~]# stat test文件:"test"大小:105        块:8          IO 块:4096   普通文件
设备:803h/2051d    Inode:33734371    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-05-17 11:08:46.219864138 +0800
最近更改:2021-05-17 11:08:43.185869542 +0800
最近改动:2021-05-17 11:08:43.186869540 +0800
创建时间:-

当对文件或目录进行写入时,ctime和mtime都会变更,但对文件或目录更改属主等属性时,只有ctime会变更

[root@localhost ~]# stat test文件:"test"大小:109        块:8          IO 块:4096   普通文件
设备:803h/2051d    Inode:33734371    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-05-17 11:08:46.219864138 +0800
最近更改:2021-05-17 18:06:48.074816872 +0800
最近改动:2021-05-17 18:06:48.074816872 +0800
创建时间:-
[root@localhost ~]# chown root test
[root@localhost ~]# stat test文件:"test"大小:109           块:8          IO 块:4096   普通文件
设备:803h/2051d    Inode:33734371    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-05-17 11:08:46.219864138 +0800
最近更改:2021-05-17 18:06:48.074816872 +0800
最近改动:2021-05-17 18:08:20.143750259 +0800
创建时间:-

stat /etc/*:可以查看etc目录下所有文件的inode信息

通过其他命令查看inode信息

ll -i:在ll的基础上可以查看inode号,-i的i表示inode

[root@localhost ~]# ln test test1
[root@localhost ~]# ll -i
总用量 9160
33576643 -rw-r--r--. 1 root root       0 5月  17 10:12 1
33575016 drwxr-xr-x. 3 root root      16 5月  17 10:11 aa
33574979 -rw-------. 1 root root    1789 4月  22 16:07 anaconda-ks.cfg
33576630 -rw-r--r--. 1 root root       0 4月  30 15:48 flie1
33806240 -rw-r--r--. 1 root root 9363314 4月  30 12:24 httpd-2.4.46.tar.gz
33575022 -rw-r--r--. 1 root root    1837 4月  22 16:08 initial-setup-ks.cfg
33734371 -rw-r--r--. 2 root root     109 5月  17 18:06 test
33734371 -rw-r--r--. 2 root root     109 5月  17 18:06 test1   //最前面的数字就是inode号,同时也可以看到软链接的inode与原文件不同,而硬链接的则是相同的
33734373 lrwxrwxrwx. 1 root root      10 5月  17 11:07 test.soft -> /root/test
53103705 drwxr-xr-x. 2 root root       6 4月  29 16:57 公共
33575001 drwxr-xr-x. 2 root root       6 4月  29 16:57 模板
53103706 drwxr-xr-x. 2 root root       6 4月  29 16:57 视频
33575002 drwxr-xr-x. 2 root root       6 4月  29 16:57 图片80542 drwxr-xr-x. 2 root root       6 4月  29 16:57 文档
18979779 drwxr-xr-x. 2 root root       6 4月  29 16:57 下载
18979780 drwxr-xr-x. 2 root root       6 4月  29 16:57 音乐80541 drwxr-xr-x. 2 root root       6 4月  29 16:57 桌面

df -i:查看文件系统的inode信息,同时可以看到inode的占用量等

[root@localhost ~]# df -i
文件系统         Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3      8912384  165983 8746401       2% /
devtmpfs        478742     399  478343       1% /dev
tmpfs           482688       1  482687       1% /dev/shm
tmpfs           482688    1517  481171       1% /run
tmpfs           482688      16  482672       1% /sys/fs/cgroup
/dev/sda1       524288     341  523947       1% /boot
tmpfs           482688       6  482682       1% /run/user/42
tmpfs           482688      22  482666       1% /run/user/0
/dev/sr0             0       0       0        - /run/media/root/CentOS 7 x86_64

软连接与硬链接

硬链接:相当于cp -p的作用,将文件的内容属性inode等完全复制过来,对硬链接进行修改不影响原文件,删除原文件也不会对硬链接有任何影响(因为系统依靠inode号查找文件而硬链接与原文件的inode号相同),不过话说回来,原文件本身就是自己的硬链接。
软连接:相当于快捷方式,对软连接进行查看会转到原文件,软连接和原文件的inode号不相同,所以删除原文件,软连接就无法使用。软连接只存储自己的inode信息。

使用xfsdump备份文件

xfsdump命令需要进行安装,不是自带的,安装xfsdump后,用于恢复文件的xfsrestore命令也会一并安装上。xfsdump的备份级别为0-9,其中0为完全备份,1-9为增量备份,此外还有差异备份。
完全备份:把所有文件全部备份。
增量备份:完全备份后,只备份新添加的文件。
差异备份:完全备份后,如果文件数据变更,那么进行备份。

xfsdump命令的相关选项

xfsdump -f:将某个磁盘中的文件备份至某个目录下,后面先接备份到的目录再跟打算备份的磁盘,中间用空格隔开。-f后接文件名
xfsdump -M :添加卷标,后跟要进行备份的磁盘名
xfsdump -L :添加媒体标识,后跟要进行备份的磁盘名
xfsdump -I:查看备份的具体信息
通过xfsdump -f创建备份,可以后面接-M -L

使用xfsrestore命令恢复被备份文件

xfsrestore -f:恢复备份的文件,-f后接备份文件所在的文件和恢复至的目录,中间以空格隔开。

[root@localhost ~]# xfsrestore -f /shiki/aa /bak
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: localhost.localdomain
xfsrestore: mount point: /bak
xfsrestore: volume: /dev/sdb2
xfsrestore: session time: Mon May 17 19:32:43 2021
xfsrestore: level: 0
xfsrestore: session label: "sdb2"
xfsrestore: media label: "sdb2"
xfsrestore: file system id: fcbe859a-1750-45e9-92e3-f2e1f2d8da59
xfsrestore: session id: f7ffd36b-2a85-4273-943d-0c66d1e6ac6b
xfsrestore: media id: fd33db02-f08b-447d-bbf2-86457e8642bf
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 1 directories and 3 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /shiki/aa OK (success)
xfsrestore: Restore Status: SUCCESS

日志文件

日志用于记录系统、程序运行中发生的各种事件,可以查询日志文件发现和解决系统故障。日志文件有内核及公共消息日志,计划任务日志,系统引导日志,邮件日志,用户登录日志等,日志文件默认保存于/var/log。
日志消息分有8个级别,级号从0-7。
0:emerg 紧急状态 会导致主机不可用情况
1:alert 警告状态 必须马上采取措施解决问题
2:crlt 严重状态 出现了比较严重的情况
3:err 出现错误 运行过程中出现错误
4:warning 提醒状态 可能会影响系统功能的事件
5:notice 值得注意 不会影响但是需要注意
6:info 信息 一般的正常信息
7:debug 调试 程序进行调试或系统调试的信息
危险程度从0到7逐级递减。

Linux:inode与block,软硬链接,使用xfs相关命令备份与恢复文件和日志文件介绍相关推荐

  1. 【Linux】理解文件系统——软硬链接

    我们之前讨论的都是进程和被打开文件的关系,而如果一个文件是没有被打开呢?没有被打开的文件操作系统如何管理? 没有被打开的文件在磁盘上,所以磁盘上有大量的文件,这些文件要被静态管理起来,方便我们随时打开 ...

  2. 查看linux系统版本,内核,CPU,MEM,位数的相关命令

    查看linux系统版本,内核,CPU,MEM,位数的相关命令 1.查看版本,内核 cat /etc/issue cat /proc/version uname -r 2.查看cpu,mem grep ...

  3. Linux,grep命令,在大日志文件中搜索关键字 最后/最开始出现位置

    Linux,grep命令,在大日志文件中搜索关键字 最后/最开始出现位置 grep [选项]... PATTERN [FILE]... grep -C N,(N代表一个整数)是搜索关键字出现位置,并且 ...

  4. Linux命令--more(查看日志文件内容,排查问题)

    原文网址:Linux命令--more(查看日志文件内容,排查问题)_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Linux的more命令的用法. more命令适用于查看比较大的文件,例如:日 ...

  5. Linux inode、block、文件类型、软硬链接等相关文件的知识

    1 Linux中的文件 1.1 文件属性概述 Linux系统中的文件或目录的属性主要包括:索引节点(inode).文件类型.权限属性.链接数.所归属的用户和用户组.最近修改时间等内容. [root@o ...

  6. Linux的文件系统和软硬链接

    目录 文件系统 磁盘的物理结构: 磁盘的存储结构 磁盘的逻辑抽象结构 管理文件 那么文件如何与属于自己的内容关联起来? 创建一个文件,OS做了什么? 删除一个文件,OS做了什么? 软硬链接 硬链接 软 ...

  7. linux lsof/netstat查看进程和端口号相关命令:

    本文为博主原创,未经允许不得转载: 在linux操作时,经常要查看运行的项目的进程和端口号,在这里总结了以下常用到的相关命令: 1.查看系统运行的java项目,并查看进程号 这个用到的命令为: ps ...

  8. linux端口转发_详解Linux网桥功能--概念、工作机制、相关命令及实例说明

    概述 在说Linux网桥之前,先介绍几个概念,有助于对网桥的功能及实现有更深的理解. 一个交换网络的逻辑图: 1. 冲突域 一个冲突域由所有能够看到同一个冲突或者被该冲突涉及到的设备组成.以太网使用C ...

  9. linux lsof 端口 字母,linux lsof/netstat查看进程和端口号相关命令:

    本文为博主原创,未经允许不得转载: 在linux操作时,经常要查看运行的项目的进程和端口号,在这里总结了以下常用到的相关命令: 1.查看系统运行的java项目,并查看进程号 这个用到的命令为: ps ...

最新文章

  1. 比Segway轻便的机器人溜冰鞋
  2. 《JAVA与模式》之工厂方法模式
  3. LightOJ 1078 Integer Divisibility (同余定理)
  4. 从最新财报中,我看到京东“四面楚歌”
  5. hash算法_数据库中间件分片算法之hash
  6. python将姓王的都改成老王_Python老王视频习题答案
  7. ultra edit ftp帐号管理导入导出方法
  8. mysql动态扩展_动态可扩展查询MYSQL5.7JSON+虚拟列+Mybatis
  9. Java中的位移运算符
  10. [译]JavaScript的新功能将改变正则表达式的编写方式
  11. php7扩展开发教程,Laravel 7 扩展开发教程
  12. 更新mysql软件_MySQL软件升级
  13. CMSIS-RTOS 时间管理之虚拟定时器Virtual Timers
  14. 太可怕了!有些码农为啥写代码,写到监狱里去了?
  15. CSS基础教程——纯CSS开发的气泡式提示框
  16. 类似Wordpress的建站系统
  17. 移动机器人室内定位技术综述
  18. 低成本DC/DC转换器34063的应用(图)
  19. 未来计算机网络会发展成什么样子,计算机网络技术未来的发展与应用
  20. 01_邂逅vue3开发

热门文章

  1. 咖啡,为什么有些比较甜?
  2. 哔哩哔哩面试经验分享
  3. 江苏“同心圆”工程为银发投资安全设“保护圈”
  4. WinForm中新开一个线程操作窗体上的控件(跨线程操作控件)GOOD
  5. 使用python批量修改txt文件中的信息
  6. rewind() 函数
  7. powershell 报错 0xffff0000 的解决方法
  8. 大数据助力证券业预判未来
  9. ARM NEON Intrinsics示例
  10. 大数据时代的回收生意经