有的时候我们想要查询一个文件所占用的磁盘空间大小,可以使用du命令来查看
命令 配置 参数
du [options] [files or directories]
-h:以人类可读的格式显示输出(例如 KB、MB、GB)。
-s:显示总计空间,而不显示每个子目录的具体大小。
-c:显示所有文件和目录的总计空间。
-k:以 KB 为单位显示大小(默认单位)。
-m:以 MB 为单位显示大小。
查看当前目录下各子目录的大小:du -h
查看特定目录的大小:du -h /path/to/directory
查看当前目录下所有文件和目录的总大小:du -ch
[root@iZf8z220xgn9qu9ja4ehb9Z test]# du -ch test01/
8.0K test01/
8.0K total
有的时候我们想要查询整个文件系统的磁盘使用情况,其基本语法为
df [options] [filesystem]
-h:以人类可读的格式显示输出。
-T:显示文件系统类型。
-t:仅显示指定类型的文件系统。
-i:显示 inode 使用情况而不是磁盘块使用情况。
查看所有挂载的文件系统的磁盘使用情况:df -h
查看特定文件系统的磁盘使用情况:df -h /dev/sda1
查看 inode 使用情况:df -i
du
:用于查看文件或目录的实际大小,即磁盘上所占用的空间。df
:用于查看文件系统的总体情况,包括已用空间、剩余空间和文件系统类型等。打个比方 生产环境 突然空间满了 我们需要快速找到哪里满了
首先使用df -h 查看文件系统 找到 占用百分之百的目录位置
一旦确定了哪个文件系统空间较满,进入该文件系统并使用 du
命令逐步深入查找:
# 进入目标文件系统,例如进入 / 目录下
cd /
# 查看当前目录下子目录的大小,排序并显示最大的几个
du -h --max-depth=1 | sort -hr
上述命令会列出当前目录下各个子目录的大小,并按照大小倒序排序。可以通过调整 --max-depth=
参数来控制显示的深度。例如,--max-depth=2
将显示当前目录及其直接子目录的大小。
使用 find
命令查找大文件
有时候不仅是目录占用空间大,还可能是某个单独的大文件导致空间紧张。可以使用 find
命令来查找特别大的文件:
# 在 / 目录下查找大于100MB的文件
find / -type f -size +100M -exec du -h {} +
这个命令会列出 /
目录及其子目录下所有大于100MB的文件,并显示它们的大小。
比如说 我得root 家目录满了 使用df -h 将看到什么状态 怎么快速定位到时root目录满了
如果你的根目录(root目录)满了,使用 df -h
命令可以帮助你快速查看文件系统的使用情况,并找出满了的根目录。
假设你运行 df -h
命令后,可能会看到类似的输出:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 19G 0 100% /
解释一下每一列的含义:
Filesystem
: 文件系统的设备名或者标识符。Size
: 文件系统总容量。Used
: 已使用的空间量。Avail
: 可用的空间量。Use%
: 已使用空间占总容量的百分比。Mounted on
: 文件系统挂载的目录。在上面的例子中,根目录 /
的文件系统(假设是 /dev/sda1
)显示已使用了 19GB 的空间,总容量是 20GB,使用了 100% 的空间,即根目录已经满了。
为了快速定位根目录下占用空间较大的目录或文件,你可以进入根目录,并使用 du
命令来查看各个子目录的大小,然后再进一步定位具体的大文件或目录。例如:
cd /
du -h --max-depth=1 | sort -hr
这会列出根目录下各个子目录的大小,并按照大小倒序排序,帮助你找出哪些目录占用了大量空间。
如果你已经确定了具体的大文件或目录,可以使用 find
命令进一步查找大文件:
find / -type f -size +100M -exec du -h {} +
这个命令会在根目录及其子目录下查找大于100MB的文件,并显示它们的大小。
通过这些方法,你可以快速定位到根目录满了的原因,并采取相应的措施来释放空间或者重新规划存储策略。
磁盘分区