mbi*_*ras 5 sudo disk-usage docker
我在 ubuntu 服务器上,想要检查内部目录的磁盘使用情况摘要,/var/lib/docker我很困惑为什么我无法/var/lib/docker使用 glob检查内部所有目录的磁盘使用情况*。
该目录/var/lib/docker明确存在并且内部有目录:
$ 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
Run Code Online (Sandbox Code Playgroud)
为什么我收到错误du?
du: cannot access '/var/lib/docker/*': No such file or directory
Run Code Online (Sandbox Code Playgroud)
我的错误似乎与非 root 用户有关,因为如果我切换到 root 用户,那么我可以发出以下命令du:
# 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
Run Code Online (Sandbox Code Playgroud)
您收到错误是因为您的(非 root)shell 尝试扩展 glob/var/lib/docker/*但无法扩展(因为您的用户无法读取 /var/lib/docker)。然后你的 shell 保持 glob 完好无损,为 留下一个字面的星号sudo,这就是du抱怨的地方:
du: cannot access '/var/lib/docker/*': No such file or directory
Run Code Online (Sandbox Code Playgroud)
...因为 /var/lib/docker/ 下没有指定的文件或目录*。