Linux 各目录概述
详情请见链接
du命令
命令简介
Linux du (英文全拼:disk usage)命令用于显示目录或文件的大小。du 会显示指定的目录或文件所占用的磁盘空间。参数的不同组合,可以更快的提高工作效率,以下仅列出了经常使用到的参数,如需更详细的信息,请用man du命令来获得。
命令语法
du [选项] [文件或目录名称]
参数:
-a
:--all
, 列出所有的文件和目录容量大小而不仅仅列出目录容量大小,默认情况只是统计目录的容量大小
-B
:--block-size=SIZE
,指定单位大小。
-c
:--total
,除了列出文件和目录的容量大小外,列出总的容量大小
-h
:--human-readable
,以人们易读的方式(KB,MB,GB)显示容量大小,
--si
:和-h
参数类似,但是单位换算时是以1000进行换算,而不是1024。
-k
:和--block-size=1k
类似,以KB为单位。
-m
:和--block-size=1m
类似,以MB为单位。
-s
:--summarize
,仅列出总量,而不列出每个目录和文件的大小.
-S
:--separate-dirs
,和-s参数类似,但是统计时不包含子目录的容量大小。
--max-depth=N
:类似于默认情况的du,但是,递归显示时的递归深度小于等于N。如果–max-depth=0,就相当于-s参数,只统计总量而已,参考示例4。如果--max-depth=1
,就相当于du -s 目录/*
。
示例1 列出目录下所有文件和目录的容量大小
默认情况下,只统计目录的容量大小。这方法不常用,会列出该目录下所有目录以及子目录的,难以观察
du -a
统计目录和文件的容量大小。
$ du #默认情况下,只统计目录的容量大小。
19 ./transformers/templates/adding_a_new_example_script
308 ./transformers/templates
3 ./transformers/.github/conda
39 ./transformers/.github/workflows
12 ./transformers/.github/ISSUE_TEMPLATE
57 ./transformers/.github
7 ./transformers/docker/transformers-pytorch-tpu
3 ./transformers/docker/transformers-pytorch-deepspeed-latest-gpu
2 ./transformers/docker/transformers-gpu
3 ./transformers/docker/transformers-past-gpu
2 ./transformers/docker/transformers-pytorch-cpu
3 ./transformers/docker/transformers-all-latest-gpu
2 ./transformers/docker/transformers-tensorflow-gpu
2 ./transformers/docker/transformers-tensorflow-cpu
3 ./transformers/docker/transformers-pytorch-gpu
2 ./transformers/docker/transformers-doc-builder
2 ./transformers/docker/transformers-cpu
3 ./transformers/docker/transformers-pytorch-deepspeed-nightly-gpu
32 ./transformers/docker
5 ./transformers/notebooks
152432 ./transformers
61108674 .
示例2:统计各文件的大小,并显示总大小
$ du -c /home/test/ #最下面显示总大小total
8 /home/test/dir2
12 /home/test/dir1/dir1-dira
876 /home/test/dir1
1092 /home/test/
1092 total
示例3: 以易读的方式显示容量大小 (常用)
$ du -h /home/test
8.0K /home/test/dir2
12K /home/test/dir1/dir1-dira
876K /home/test/dir1
1.1M /home/test
示例四:仅显示目录的总大小
$ du -s /home #通过-s参数只统计总量
3208 /home
$ du --max-depth=0 /home #通过指定递归深度方式
3208 /home
示例五:显示指定目录下每个文件或目录的容量大小,并且以易读方式显示(常用)。
$ du -sh /*
8.2M /bin
6.6M /boot
152K /dev
167M /etc
3.2M /home
140M /lib
26M /lib64
16K /lost+found
8.0K /media
0 /misc
16K /mnt
0 /net
16K /opt
0 /proc
200K /root
36M /sbin
0 /selinux
8.0K /srv
0 /sys
436K /tmp
2.4G /usr
72M /var
df 命令 (待补充)
占用硬盘容量bug记录
问题描述:在跑bert的增量模型训练的时候,跑了一个小时后,出现硬盘容量不足的问题,如下
OSError: [Errno 122] Disk quota exceeded
通过df -Th
可以明确的看到,确实磁盘被占满了,通过各方面查找,发现 /var/lib/docker/vfs 目录下,占据了70+G的容量,我不知道为什么我的 vfs 目录这么大也不知道如何清理它!
解决方法:
之后docker system prune -a --volumes
检查docker system df
并docker container ls -a
确认没有任何运行,我只是删除了 vfs 目录:rm - r vfs/dir/3213412…/. 如果您查看这些文件夹,您会发现这些基本上是容器的运行时文件。我不知道为什么在整个系统被修剪后这些仍然存在…但我只是摆脱了它们并赢回了 10 G。