今天早些时候,我从备份中恢复了完整的系统映像。此后不久,我运行:
# find / -type f -printf "%TY-%Tm-%Td %TT %p\n" | sort -r
我注意到目录下的文件/sys
刚刚被修改过。而且,它们几乎是在同一分钟内发生的。当天晚些时候,它们又被修改了,而且是在同一分钟内发生的,除了目录/sys/module
:
/sys# ls -alt
total 4
drwxr-xr-x 2 root root 0 Aug 13 00:37 block
drwxr-xr-x 7 root root 0 Aug 13 00:37 firmware
drwxr-xr-x 38 root root 0 Aug 13 00:37 bus
drwxr-xr-x 12 root root 0 Aug 13 00:37 fs
drwxr-xr-x 2 root root 0 Aug 13 00:37 hypervisor
drwxr-xr-x 4 root root 0 Aug 13 00:37 dev
drwxr-xr-x 16 root root 0 Aug 13 00:37 devices
drwxr-xr-x 68 root root 0 Aug 13 00:37 class
drwxr-xr-x 2 root root 0 Aug 13 00:37 power
drwxr-xr-x 15 root root 0 Aug 13 00:37 kernel
dr-xr-xr-x 13 root root 0 Aug 12 21:06 .
drwxr-xr-x 152 root root 0 Aug 12 21:06 module
drwxr-xr-x 22 root root 4096 Aug 12 19:50 ..
这些修改时间是什么意思?
答案1
就像/proc
/sys
是Linux内核维护的一个伪文件系统。
sysfs 虚拟文件 导出有关各种内核子系统、硬件设备和相关设备驱动程序的信息,并允许与这些驱动程序和底层硬件进行(有限的)交互。
在这方面,它们不是普通的文件和目录,没有必要将它们包含在您的备份中,如果这些文件上的时间戳具有特殊含义,而我不知道它们是否有特殊含义,那么这个含义可能取决于驱动程序。
答案2
文件系统/sysfs
(安装在/sys
目录中)是由内核(操作系统的执行程序)管理的伪文件系统。Unix 和 Linux 操作系统的关键抽象之一是“一切都是文件”,包括所有 I/O 设备。所有设备都有一个虚拟文件,允许用户程序以类似于打开文本文件的方式访问设备。
/sysfs
将内核的硬件和设备驱动程序信息显示为 /sys 分层文件系统,代表所有硬件和驱动程序模块。这允许用户空间实用程序报告机器的状态。实用程序如下:
lshw
- 列出硬件配置lscpu
- 列出 CPU 信息
当系统中的 I/O 设备发生变化时,这些变化会反映在 中的文件中/sys
。目录内的任何更改都会影响目录的修改时间。
例如,如果机器从睡眠状态唤醒, 的内容/sys/power
将发生变化。或者当新的 USB 设备插入 USB 端口时,更改将体现在/sys/block
和中/sys/devices
。