linux 常用和不那么常用命令记录02 磁盘占用

常用的磁盘相关命令

du

有的时候我们想要查询一个文件所占用的磁盘空间大小,可以使用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

有的时候我们想要查询整个文件系统的磁盘使用情况,其基本语法为

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的文件,并显示它们的大小。

通过这些方法,你可以快速定位到根目录满了的原因,并采取相应的措施来释放空间或者重新规划存储策略。

未完待续

磁盘分区

你可能感兴趣的:(linux,不那么常用操作持续记录,linux,运维,服务器)