sala@home:~$

tree --du

A tree-t bemutató bejegyzéssel kapcsolatban jelezte egy olvasó, hogy még hasznosabb lenne a parancs, ha a kilistázott alkönyvtárak méretét is kiírná.

A -s kapcsoló hatására kiírja tree a méretet:

$ tree -s ~/rpmbuild 
/home/user/rpmbuild
├── [       4096]  BUILD
│   ├── [       4096]  digikam-3.0.0-rc
│   │   ├── [       1100]  bootstrap.linux
│   │   ├── [       1727]  bootstrap.local
│   │   ├── [       1986]  bootstrap.macports
│   │   ├── [       1348]  bootstrap.mingw.bat
│   │   ├── [       1322]  bootstrap.msvc.bat
│   │   ├── [       4096]  build
│   │   │   ├── [      79361]  CMakeCache.txt
...

Látszik rögtön, ha valójában nem összegzi az alkönyvtárak méreteit. Ha a du-hoz hasonló működést szeretnénk, akkor a –du kapcsoló hasznosabbnak tűnik:

$ tree --du ~/rpmbuild
/home/user/rpmbuild
├── [  204259367]  BUILD
│   ├── [  170682407]  digikam-3.0.0-rc
│   │   ├── [       1100]  bootstrap.linux
│   │   ├── [       1727]  bootstrap.local
│   │   ├── [       1986]  bootstrap.macports
│   │   ├── [       1348]  bootstrap.mingw.bat
│   │   ├── [       1322]  bootstrap.msvc.bat
│   │   ├── [     389406]  build
│   │   │   ├── [      79361]  CMakeCache.txt
...

Meglepetés akkor ért, amikor ezt a -L kapcsolóval akartam együtt használni, hogy csak 2 mélységig írja ki tree a faszerkezetet:

$ tree --du -L 2 ~/rpmbuild
/home/user/rpmbuild
├── [      20480]  BUILD
│   ├── [       4096]  digikam-3.0.0-rc
│   ├── [       4096]  pktriggercord-0.79.01
│   ├── [       4096]  ufraw-0.18
│   └── [       4096]  xvba-video-0.8.0
├── [       4096]  BUILDROOT
├── [       8192]  RPMS
│   └── [       4096]  x86_64
├── [   62852655]  SOURCES

Láthatóan megváltoztak a számok. Nemcsak a kiírásból maradnak ki a 2 szintél mélyebben lévő alkönyvtárak és fájlok, hanem sajnos már az összesítésből is.

Kisebb trükközéssel azért elérhető a rendes működés ( -L n helyett grep kell 4*n+1-es ismétlődési limittel ), de túlzás lenne kényelmesnek nevezni a használatot:

$ tree --du ~/rpmbuild | grep -v '^.\{9,\}\[' 
/home/user/rpmbuild
├── [  204259367]  BUILD
│   ├── [  170682407]  digikam-3.0.0-rc
│   ├── [    6749629]  pktriggercord-0.79.01
│   ├── [   24081554]  ufraw-0.18
│   └── [    2741681]  xvba-video-0.8.0
├── [       4096]  BUILDROOT
├── [    2252497]  RPMS
│   └── [    2248401]  x86_64
├── [   62852655]  SOURCES