Debian文件系统状态监控方法
inotify-tools是Debian系统默认可用的工具集,基于Linux内核的inotify接口,支持实时监控文件或目录的创建、修改、删除、移动等事件,适合需要快速响应的场景。
sudo apt update && sudo apt install inotify-tools
。inotifywait -m /path/to/file -e modify,attrib,close_write
(-m
表示持续监控,-e
指定事件类型);inotifywait -m -r /path/to/directory -e create,delete,modify
(-r
递归监控子目录);inotifywait -m -r /path/to/directory -e create,delete,modify --format '%w%f %e' --timefmt '%Y-%m-%d %H:%M:%S'
(--format
自定义输出格式,包含文件路径和事件类型)。>> /var/log/inotify.log
),或编写Bash脚本自动化处理事件(如触发备份、发送通知)。fswatch是跨平台的文件系统监控工具,支持Linux、macOS、Windows等系统,功能强大且易于使用,适合需要跨环境监控的场景。
sudo apt install fswatch
。fswatch /path/to/file
;fswatch -r /path/to/directory
(-r
递归监控);fswatch -r -i 2s /path/to/directory
(-i
设置监控间隔,如每2秒检查一次)。man fswatch
查看详细选项。auditd是Linux内核的审计框架,适合需要长期记录文件访问、修改等操作的场景,常用于安全审计(如追踪敏感文件的变更)。
sudo apt install auditd audispd-plugins
;/etc/audit/audit.rules
文件,添加-a exit,always -F path=/path/to/file -k file_change
(-a
添加规则,-F path
指定监控路径,-k
设置规则标签);ausearch -k file_change
命令查询指定规则的审计日志。/var/log/audit/audit.log
中,支持通过aureport
工具生成统计报告。df命令用于查看已挂载文件系统的磁盘空间使用概况(总容量、已用空间、可用空间、挂载点等),适合快速了解系统整体磁盘状态。
-h
:以人类可读格式显示(如GB、MB);-T
:显示文件系统类型(如ext4、xfs);-i
:显示inode使用情况(用于排查inode耗尽问题)。df -hT
,输出结果包括各分区的总容量、已用空间、可用空间及文件系统类型。du命令用于分析目录或文件的实际磁盘空间占用,帮助定位占用空间大的文件或目录(如日志文件、缓存文件)。
-h
:人类可读格式;-s
:仅显示总计(不显示子目录详情);--max-depth=N
:限制递归深度(如--max-depth=1
显示一级子目录大小);-c
:显示总计(最后一行添加总大小);--exclude=PATTERN
:排除匹配模式的文件(如--exclude="*.tmp"
排除所有.tmp文件)。du -sh .
;du -h --max-depth=1 .
;du -ah . | sort -rh | head -n 10
。ncdu是一个基于终端的可视化磁盘使用分析工具,通过交互式界面快速浏览目录结构,适合不熟悉命令的用户。
sudo apt install ncdu
;ncdu /path/to/directory
(如ncdu /
扫描根目录);Enter
进入子目录,按d
删除文件/目录,按q
退出。