私はUbuntuサーバーを使用しており、内部ディレクトリのディスク使用量の概要を確認したいと思います。なぜglobを使用して内部ディレクトリのディスク使用量を確認/var/lib/docker
できないのか混乱しています。/var/lib/docker
*
ディレクトリが/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
なぜエラーが発生するのですかdu
?
du: cannot access '/var/lib/docker/*': No such file or directory
私のエラーは、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
ベストアンサー1
root以外のシェルはglobを拡張しようとしますが、でき/var/lib/docker/*
ないためエラーが発生します(ユーザーは/ var / lib / dockerを読み取ることができないため)。その後、シェルはglobをそのまま保持し、文字通りアスタリスクを残し、次のようsudo
にdu
文句を言います。
du: cannot access '/var/lib/docker/*': No such file or directory
*
.../var/lib/docker/ の下に指定されたファイルやディレクトリがないからです。