如何查询U盘/FAT32/EXT3文件系统最后一次挂载时间


阅读 11 次

Linux系统下的挂载时间查询

在Linux系统中,我们可以通过多种方式查看设备的最后挂载时间。以下是几种常用方法:


# 方法1:通过/var/log/messages或journalctl查询
sudo grep -i mount /var/log/messages
# 或
journalctl --since "1 month ago" | grep -i mount

# 方法2:使用last命令查看挂载历史
last | grep mount

EXT文件系统专用方法

对于EXT3/EXT4文件系统,可以使用tune2fs工具查看超级块信息:


sudo tune2fs -l /dev/sdX1 | grep "Last mount time"

FAT32文件系统的特殊处理

由于FAT32文件系统不记录挂载时间,我们可以通过以下替代方案:


# 查看文件访问时间
stat /media/username/DRIVE_LABEL
# 或检查文件系统创建时间
sudo fsck.vfat -nv /dev/sdX1

自动化监控脚本示例

以下是一个bash脚本,可以记录所有挂载操作:


#!/bin/bash
LOG_FILE="/var/log/mount_monitor.log"

mount_monitor() {
    while inotifywait -q -e mount --format '%w %e' /dev/ &>/dev/null; do
        echo "$(date): Device mounted - $(lsblk -o NAME,MOUNTPOINT | grep -v 'MOUNTPOINT')" >> $LOG_FILE
    done
}

mount_monitor &

Windows系统下的解决方案

在Windows中可以通过事件查看器查看:


# PowerShell命令
Get-WinEvent -LogName "System" | Where-Object {$_.Id -eq 20000} | Format-List