du および tree コマンドの累積ディスク使用量

du および tree コマンドの累積ディスク使用量

私のルートディレクトリファイルの累積サイズを深さ1としてマークする必要があります/。簡単に見えますが、どちらが価値があるかは実行できません。

ツリーコマンドに累積サイズは表示されません。

tree --du -h -L 1 
.
├── [   7]  bin -> usr/bin
├── [4.0K]  boot
├── [ 21K]  desktopfs-pkgs.txt
├── [4.2K]  dev
├── [ 12K]  etc
├── [4.0K]  home
├── [   7]  lib -> usr/lib
├── [   7]  lib64 -> usr/lib
├── [ 16K]  lost+found
├── [4.0K]  media
├── [4.0K]  mnt
├── [4.0K]  opt
├── [   0]  proc
├── [4.0K]  root
├── [4.8K]  rootfs-pkgs.txt
├── [ 800]  run
├── [   7]  sbin -> usr/bin
├── [  19]  snap -> /var/lib/snapd/snap
├── [4.0K]  srv
├── [   0]  sys
├── [ 520]  tmp
├── [4.0K]  Untitled Folder
├── [4.0K]  usr
└── [4.0K]  var

また、du次のコマンドは

du -h -d 1 /
8,0K    /media
du: cannot read directory '/sys/kernel/tracing': Permission denied
du: cannot read directory '/sys/kernel/debug': Permission denied
du: cannot read directory '/sys/fs/pstore': Permission denied
du: cannot read directory '/sys/fs/bpf': Permission denied
0   /sys
166G    /mnt
du: cannot read directory '/run/udisks2': Permission denied
du: cannot read directory '/run/wpa_supplicant': Permission denied
du: cannot read directory '/run/user/1000/systemd/inaccessible/dir': Permission denied
du: cannot read directory '/run/svnserve': Permission denied
du: cannot read directory '/run/sudo': Permission denied
du: cannot read directory '/run/lightdm': Permission denied
du: cannot read directory '/run/lock/lvm': Permission denied
du: cannot read directory '/run/systemd/unit-root': Permission denied
du: cannot read directory '/run/systemd/inaccessible/dir': Permission denied
1,6M    /run
du: cannot read directory '/home/max/.cache/yay/wine-stable/pkg': Permission denied
du: cannot read directory '/home/max/.cache/yay/gnuradio-git/pkg': Permission denied
du: cannot read directory '/home/max/.cache/yay/pamac-classic/pkg': Permission denied
du: cannot read directory '/home/max/.cache/yay/wine-stable-next/pkg': Permission denied
du: cannot read directory '/home/max/.cache/yay/pamac-aur/pkg': Permission denied
du: cannot read directory '/home/max/.cache/paru/clone/qm-dfu-util-git/pkg': Permission denied
du: cannot read directory '/home/lost+found': Permission denied
146G    /home
.
.
.
Goes so on

深さは1つだけ必要ですが、du -h -d 1 /コマンドに権限拒否が表示されます。私が提供したい最もクリーンなビューを得るにはどうすれば無視できますかroot permission?しかし、小さなエラーが表示されます。

sudo du -h -d 1 /
8,0K    /media
0   /sys
166G    /mnt
du: cannot access '/run/user/1000/gvfs': Permission denied
1,6M    /run
146G    /home
du: cannot access '/proc/12363/task/12363/fd/4': No such file or directory
du: cannot access '/proc/12363/task/12363/fdinfo/4': No such file or directory
du: cannot access '/proc/12363/fd/3': No such file or directory
du: cannot access '/proc/12363/fdinfo/3': No such file or directory
0   /proc
19M /etc
16K /lost+found
0   /dev
49G /usr
41G /var
4,0K    /Untitled Folder
9,1M    /srv
2,6G    /opt
1,8M    /root
51M /tmp
98M /boot
403G    /

オンラインで多くの例を見てみましたが、コマンドは素晴らしいようですが、私の端末任意のシェル:基本的にManjaroでbash 5.1.0完璧さとは少し距離があるように

ベストアンサー1

ディスク使用量を確認するとき、仮想ファイルシステムの内容(例:GNU / Linux:、、、および/dev/procは通常関連性がありません。それらを取り除くと、作業が簡単になります。/run/sys/tmp

を使用するには、duマウントされたファイルシステムの内容のみをリストしたい場合/(他のマウントポイントの内容は無視)、次のように実行できます。

sudo du -h -d1 -a -x /

-xまたは(「シングルファイルシステム」)オプションを使用したくない場合:

sudo du -h -d1 -a --exclude=/dev --exclude=/proc \
  --exclude=/run --exclude=/sys --exclude=/tmp /

-a一般ファイルも表示できます。)du

tree出力の深さは制限できませんが、-L そしてまた、ディレクトリの完全な深さサイズ(つまり、含まれるすべてのサブディレクトリとファイルを含む)を表示し、フォーマットされた出力を生成してフィルタリングすることもできます。たとえば、JSONと次のものを使用しますjq

sudo tree --du -a -x -h -J / | jq 'del(.[]?[]?[]?[]?[]?)'

(残念ながら、treeJSON出力には誤った形式のビットが含まれているため、このソリューションを非常に信頼できないものにします。)

また、参照することができますLinuxでディスクスペースがどこに行くかを追跡しますか?質問に記載されているツール以外のツールに興味がある場合。

おすすめ記事