首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查/var/lib/docker的磁盘使用情况

检查/var/lib/docker的磁盘使用情况
EN

Unix & Linux用户
提问于 2019-08-09 18:17:34
回答 2查看 1.9K关注 0票数 5

我在一个ubuntu服务器上,想检查/var/lib/docker中目录的磁盘使用情况摘要,我很困惑为什么我不能使用glob *检查/var/lib/docker中所有目录的磁盘使用情况。

目录/var/lib/docker显然存在,其中包含目录:

代码语言:javascript
复制
$ sudo du -s /var/lib/* | grep docker
865644  /var/lib/docker
8   /var/lib/docker-engine
$ sudo du -s /var/lib/docker/*
du: cannot access '/var/lib/docker/*': No such file or directory
$ sudo file /var/lib/docker
/var/lib/docker: directory
$ sudo ls /var/lib/docker | head -n 1
builder
$ sudo du -s /var/lib/docker/builder
20  /var/lib/docker/builder

为什么我会从du那里得到一个错误?

代码语言:javascript
复制
du: cannot access '/var/lib/docker/*': No such file or directory

我的错误似乎与非根用户有关,因为如果切换到根用户,则可以发出du命令:

代码语言:javascript
复制
# du -s /var/lib/docker/* | sort -n
4   /var/lib/docker/runtimes
4   /var/lib/docker/swarm
4   /var/lib/docker/tmp
4   /var/lib/docker/trust
20  /var/lib/docker/builder
20  /var/lib/docker/plugins
36  /var/lib/docker/volumes
60  /var/lib/docker/network
72  /var/lib/docker/buildkit
208 /var/lib/docker/containers
1880    /var/lib/docker/image
863328  /var/lib/docker/overlay2
EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2019-08-09 18:28:29

您会得到错误,因为您的(非根) shell试图展开glob /var/lib/docker/*,但无法(因为用户无法读取/var/lib/docker )。然后,您的外壳保持了完整的glob,为sudo留下了一个文字星号,这正是du所抱怨的:

代码语言:javascript
复制
du: cannot access '/var/lib/docker/*': No such file or directory

..。因为在/var/lib/docker/下没有名为*的文件或目录。

票数 6
EN

Unix & Linux用户

发布于 2020-04-23 14:04:59

根用户正在执行du命令,但是glob扩展是在您的用户之前完成的,而且由于无法展开它(由于目录权限),du命令使用文字*作为路径的一部分。

如果要查看/var/lib/docker中文件夹的大小,可以使用sudo调用shell,并使用单引号保护glob展开(*):

代码语言:javascript
复制
sudo bash -c 'du -sh /var/lib/docker/*' | sort -h

(我使用人类可读的(__-h in -sh__)格式,并根据返回的大小对结果进行排序,但您可以更改它)

这样,扩展将作为根用户完成(而不是与用户一起完成)。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/534788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档