GNU/Linux >> Znalost Linux >  >> Linux

Zobrazte každou velikost podadresáře ve formátu seznamu pomocí příkazu jednoho řádku v Bash?

Zkuste toto

du -h --max-depth=1

Výstup

[email protected]:/usr$ sudo du -h --max-depth=1
24M     ./include
20M     ./sbin
228M    ./local
4.0K    ./src
520M    ./lib
8.0K    ./games
1.3G    ./share
255M    ./bin
2.4G    .

Alternativa

Pokud --max-depth=1 je na váš vkus trochu příliš dlouhý, můžete také zkusit použít:

du -h -s *

Toto používá -s (--summarize ) a ve výchozím nastavení vytiskne pouze velikost samotné složky. Předáním všech prvků v aktuálním pracovním adresáři (* ), vytváří podobný výstup jako --max-depth=1 by:

Výstup

[email protected]:/usr$ sudo du -h -s *
255M    bin
8.0K    games
24M     include
520M    lib
0       lib64
228M    local
20M     sbin
1.3G    share
4.0K    src

Rozdíl je nepatrný. První přístup zobrazí celkovou velikost aktuálního pracovního adresáře a celkovou velikost všech složek, které jsou v něm obsaženy... ale pouze do hloubky 1.

Druhý přístup vypočítá celkovou velikost všech předaných položek individuálně . Obsahuje tedy symbolický odkaz lib64 ve výstupu, ale nezahrnuje skryté položky (jejichž název začíná tečkou). Chybí také celková velikost aktuálního pracovního adresáře, protože to nebylo předáno jako argument.


Pravděpodobně budete chtít vidět adresáře seřazené podle velikosti:

$ du -hs * | sort -hr

856M    lib
746M    share
612M    lib64
312M    src
267M    java
239M    bin
179M    sbin
173M    local
93M     i686-w64-mingw32
72M     libexec
26M     include
20M     puppet
772K    X11R6
20K     man
4.0K    games
4.0K    etc
0       tmp

Tisk velikostí všech složek souborů a skrytých souborů na disku:

[email protected] /home/el $ du -sh `ls -a`
258M    .
265M    ..
4.0K    .classpath
258M    .git
4.0K    .gitignore
9.0K    nbactions.xml
12K     README
20K     .README.swp
4.0K    run.sh
23K    XmlPostPropagate.php

Linux
  1. Ukončovací kódy příkazového řádku Bash byly demystifikovány

  2. Bash Script:Jak přiřadit každý řádek výstupu příkazu k hodnotám v poli?

  3. Použití Linux Sleep Command ve skriptech Bash

  1. Jak restartovat Linux pomocí příkazového řádku

  2. Rozdělit výstup příkazu podle sloupců pomocí Bash?

  3. Jak vypsat velikost každého souboru a adresáře a seřadit podle sestupné velikosti v Bash?

  1. Odstraňte mezery na každém začátku řádku souboru pomocí bash

  2. argumenty příkazového řádku pro spuštění dockeru

  3. Bash, pokud na jednom řádku