在Linux中如何查看文件磁盘占用情况?
du命令
du
(disk usage)命令用于估算文件和目录的磁盘使用情况
基本用法
du [选项] [文件或目录]
常用选项
-h
:以人类可读的格式显示(例如,K、M、G)-s
:显示总计(不显示子目录的详细信息)。-a
:包括所有文件和目录。-b
:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)-k
:以1024字节为单位列出磁盘空间使用情况-c
:显示总计。-l
:计算所有的文件大小,对硬链接文件,则计算多次-x
:跳过在不同文件系统上的目录不予统计--max-depth=N
:限制显示的目录层级深度。
示例
- 查看当前目录下每个文件和子目录的磁盘使用情况:
du -h
- 查看当前目录大小
du -sh
- 查看指定目录的总磁盘使用情况:
du -sh /path/to/directory
- 查看指定目录及其子目录的磁盘使用情况,限制深度为1:
du -h --max-depth=1 /path/to/directory
- 查找大于100MB的文件并显示其磁盘使用情况:
find /path/to/directory -type f -size +100M -execdu -h {} +
- 查找Linux系统中的占用磁盘空间最大的前10个文件或文件夹
du -a /var | sort -n -r | head -n 10
使用
du
命令查看目录大小时,可能需要一些时间,特别是对于大型目录
df命令
df
(disk free)用于查看文件系统的磁盘使用情况
基本用法
df [选项] [文件或目录]
常用选项
-h
:以人类可读的格式显示(例如,K、M、G)。-T
:显示文件系统类型。-i
:显示inode使用情况。
显示的内容参数含义
Filesystem
:文件系统Size
:分区大小1k-blocks
:单位是1KB(使用df
查看)Used
:已用容量Avail
:还可用的容量Use%
: 已用百分比Mounted on
: 挂载点
示例
- 查看所有挂载的文件系统的磁盘使用情况:
df -h
- 查看特定目录所在的文件系统的磁盘使用情况:
df -h /path/to/directory
ncdu 命令
ncdu
(NCurses Disk Usage)是一个基于文本的用户界面工具,用于查看和分析磁盘空间使用情况。它提供了一个交互式的界面,可以在其中浏览目录并查看每个文件和子目录的大小
ncdu /directory
使用 lsblk 命令
lsblk
命令用于列出块设备(如硬盘、分区等)的信息
lsblk
该命令将列出所有块设备的信息,包括设备名称、挂载点、大小等。
ls命令
ls
命令也可以显示文件的大小,但不如du
详细。
- 以人类可读的格式显示文件大小:
ls -lh
- 显示目录的总大小:
ls -lhS
iostat 命令
iostat
(I/O Statistics)命令用于监视系统输入/输出设备负载。它报告CPU统计信息和所有块设备的I/O统计数据。
基本用法
iostat [选项]
示例
- 查看所有块设备的I/O统计信息
iostat
额外补充一个,如果通过以上方法没有找到问题所在,那么可以使用 lsof | grep deleted
命令,来查看删除的文件是否仍然被进程占用而没有进行实际删除 这种情况
感谢阅读,原创不易,如果有所收获的话,别忘了关注我!