Hola gente del futuro.
En esta ocasión quiero hablarles de un comando de terminal muy útil: du
El comando du nos permite saber el tamaño de archivos y directorios.
Al usarlo sin opciones nos muestra el tamaño de directorio actual y todas sus subcarpetas.
du
0 ./cache
8 ./twig
80 ./vendor/composer
256 ./vendor/twig/twig/doc/filters
120 ./vendor/twig/twig/doc/functions
176 ./vendor/twig/twig/doc/tags
80 ./vendor/twig/twig/doc/tests
944 ./vendor/twig/twig/doc
96 ./vendor/twig/twig/ext/twig
96 ./vendor/twig/twig/ext
16 ./vendor/twig/twig/lib/Twig/Cache
24 ./vendor/twig/twig/lib/Twig/Error
176 ./vendor/twig/twig/lib/Twig/Extension
24 ./vendor/twig/twig/lib/Twig/Filter
24 ./vendor/twig/twig/lib/Twig/Function
40 ./vendor/twig/twig/lib/Twig/Loader
200 ./vendor/twig/twig/lib/Twig/Node/Expression/Binary
8 ./vendor/twig/twig/lib/Twig/Node/Expression/Filter
56 ./vendor/twig/twig/lib/Twig/Node/Expression/Test
24 ./vendor/twig/twig/lib/Twig/Node/Expression/Unary
448 ./vendor/twig/twig/lib/Twig/Node/Expression
664 ./vendor/twig/twig/lib/Twig/Node
64 ./vendor/twig/twig/lib/Twig/NodeVisitor
24 ./vendor/twig/twig/lib/Twig/Profiler/Dumper
16 ./vendor/twig/twig/lib/Twig/Profiler/Node
8 ./vendor/twig/twig/lib/Twig/Profiler/NodeVisitor
56 ./vendor/twig/twig/lib/Twig/Profiler
48 ./vendor/twig/twig/lib/Twig/Sandbox
48 ./vendor/twig/twig/lib/Twig/Test
144 ./vendor/twig/twig/lib/Twig/TokenParser
16 ./vendor/twig/twig/lib/Twig/Util
1928 ./vendor/twig/twig/lib/Twig
1928 ./vendor/twig/twig/lib
16 ./vendor/twig/twig/test/Twig/Tests/Cache
40 ./vendor/twig/twig/test/Twig/Tests/Extension
8 ./vendor/twig/twig/test/Twig/Tests/Fixtures/autoescape
16 ./vendor/twig/twig/test/Twig/Tests/Fixtures/errors
80 ./vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions
208 ./vendor/twig/twig/test/Twig/Tests/Fixtures/expressions
360 ./vendor/twig/twig/test/Twig/Tests/Fixtures/filters
112 ./vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include
240 ./vendor/twig/twig/test/Twig/Tests/Fixtures/functions
56 ./vendor/twig/twig/test/Twig/Tests/Fixtures/macros
48 ./vendor/twig/twig/test/Twig/Tests/Fixtures/regression
120 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape
24 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block
40 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed
48 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter
120 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for
16 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if
72 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include
184 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance
88 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro
24 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw
24 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox
32 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set
8 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/spaceless
88 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use
24 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim
936 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags
80 ./vendor/twig/twig/test/Twig/Tests/Fixtures/tests
2032 ./vendor/twig/twig/test/Twig/Tests/Fixtures
8 ./vendor/twig/twig/test/Twig/Tests/LegacyFixtures
48 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance
8 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named
8 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_bis
8 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_final
8 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_quater
8 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_ter
8 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal
8 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_bis
8 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_final
8 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_ter
8 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme1
8 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme2
16 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes
136 ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures
168 ./vendor/twig/twig/test/Twig/Tests/Loader
72 ./vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary
24 ./vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53
24 ./vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary
232 ./vendor/twig/twig/test/Twig/Tests/Node/Expression
376 ./vendor/twig/twig/test/Twig/Tests/Node
16 ./vendor/twig/twig/test/Twig/Tests/NodeVisitor
40 ./vendor/twig/twig/test/Twig/Tests/Profiler/Dumper
48 ./vendor/twig/twig/test/Twig/Tests/Profiler
2984 ./vendor/twig/twig/test/Twig/Tests
2984 ./vendor/twig/twig/test/Twig
2992 ./vendor/twig/twig/test
6096 ./vendor/twig/twig
6096 ./vendor/twig
6184 ./vendor
6216 .
Con la bandera -h nos muestra las unidades de medida para que sea más legible a los humanos.
du -h
0B ./cache
4.0K ./twig
40K ./vendor/composer
128K ./vendor/twig/twig/doc/filters
60K ./vendor/twig/twig/doc/functions
88K ./vendor/twig/twig/doc/tags
40K ./vendor/twig/twig/doc/tests
472K ./vendor/twig/twig/doc
48K ./vendor/twig/twig/ext/twig
48K ./vendor/twig/twig/ext
8.0K ./vendor/twig/twig/lib/Twig/Cache
12K ./vendor/twig/twig/lib/Twig/Error
88K ./vendor/twig/twig/lib/Twig/Extension
12K ./vendor/twig/twig/lib/Twig/Filter
12K ./vendor/twig/twig/lib/Twig/Function
20K ./vendor/twig/twig/lib/Twig/Loader
100K ./vendor/twig/twig/lib/Twig/Node/Expression/Binary
4.0K ./vendor/twig/twig/lib/Twig/Node/Expression/Filter
28K ./vendor/twig/twig/lib/Twig/Node/Expression/Test
12K ./vendor/twig/twig/lib/Twig/Node/Expression/Unary
224K ./vendor/twig/twig/lib/Twig/Node/Expression
332K ./vendor/twig/twig/lib/Twig/Node
32K ./vendor/twig/twig/lib/Twig/NodeVisitor
12K ./vendor/twig/twig/lib/Twig/Profiler/Dumper
8.0K ./vendor/twig/twig/lib/Twig/Profiler/Node
4.0K ./vendor/twig/twig/lib/Twig/Profiler/NodeVisitor
28K ./vendor/twig/twig/lib/Twig/Profiler
24K ./vendor/twig/twig/lib/Twig/Sandbox
24K ./vendor/twig/twig/lib/Twig/Test
72K ./vendor/twig/twig/lib/Twig/TokenParser
8.0K ./vendor/twig/twig/lib/Twig/Util
964K ./vendor/twig/twig/lib/Twig
964K ./vendor/twig/twig/lib
8.0K ./vendor/twig/twig/test/Twig/Tests/Cache
20K ./vendor/twig/twig/test/Twig/Tests/Extension
4.0K ./vendor/twig/twig/test/Twig/Tests/Fixtures/autoescape
8.0K ./vendor/twig/twig/test/Twig/Tests/Fixtures/errors
40K ./vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions
104K ./vendor/twig/twig/test/Twig/Tests/Fixtures/expressions
180K ./vendor/twig/twig/test/Twig/Tests/Fixtures/filters
56K ./vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include
120K ./vendor/twig/twig/test/Twig/Tests/Fixtures/functions
28K ./vendor/twig/twig/test/Twig/Tests/Fixtures/macros
24K ./vendor/twig/twig/test/Twig/Tests/Fixtures/regression
60K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape
12K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block
20K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed
24K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter
60K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for
8.0K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if
36K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include
92K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance
44K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro
12K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw
12K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox
16K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set
4.0K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/spaceless
44K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use
12K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim
468K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tags
40K ./vendor/twig/twig/test/Twig/Tests/Fixtures/tests
1016K ./vendor/twig/twig/test/Twig/Tests/Fixtures
4.0K ./vendor/twig/twig/test/Twig/Tests/LegacyFixtures
24K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance
4.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named
4.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_bis
4.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_final
4.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_quater
4.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_ter
4.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal
4.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_bis
4.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_final
4.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_ter
4.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme1
4.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme2
8.0K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes
68K ./vendor/twig/twig/test/Twig/Tests/Loader/Fixtures
84K ./vendor/twig/twig/test/Twig/Tests/Loader
36K ./vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary
12K ./vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53
12K ./vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary
116K ./vendor/twig/twig/test/Twig/Tests/Node/Expression
188K ./vendor/twig/twig/test/Twig/Tests/Node
8.0K ./vendor/twig/twig/test/Twig/Tests/NodeVisitor
20K ./vendor/twig/twig/test/Twig/Tests/Profiler/Dumper
24K ./vendor/twig/twig/test/Twig/Tests/Profiler
1.5M ./vendor/twig/twig/test/Twig/Tests
1.5M ./vendor/twig/twig/test/Twig
1.5M ./vendor/twig/twig/test
3.0M ./vendor/twig/twig
3.0M ./vendor/twig
3.0M ./vendor
3.0M .
También podemos indicar la profundidad, es decir, hasta cuál subnivel de carpetas entrará el comando, por ejemplo, si queremos ver máximo dos niveles de subcarpetas:
du -h -d 2
0B ./cache
4.0K ./twig
40K ./vendor/composer
3.0M ./vendor/twig
3.0M ./vendor
3.0M .
Si sólo queremos ver la información del nivel 1:
du -h -d 1
0B ./cache
4.0K ./twig
3.0M ./vendor
3.0M .
Puedes ver las opciones disponibles con el comando man
man du
DU(1) BSD General Commands Manual DU(1)
NAME
du -- display disk usage statistics
SYNOPSIS
du [-H | -L | -P] [-a | -s | -d depth] [-c] [-h | -k | -m | -g] [-x]
[-I mask] [file ...]
DESCRIPTION
The du utility displays the file system block usage for each file argu-
ment and for each directory in the file hierarchy rooted in each direc-
tory argument. If no file is specified, the block usage of the hierarchy
rooted in the current directory is displayed.
The options are as follows:
-a Display an entry for each file in a file hierarchy.
-c Display a grand total.
-d depth
Display an entry for all files and directories depth directories
deep.
-H Symbolic links on the command line are followed, symbolic links
in file hierarchies are not followed.
-h "Human-readable" output. Use unit suffixes: Byte, Kilobyte,
Megabyte, Gigabyte, Terabyte and Petabyte.
-I mask
Ignore files and directories matching the specified mask.
-g Display block counts in 1073741824-byte (1-Gbyte) blocks.
-k Display block counts in 1024-byte (1-Kbyte) blocks.
-L Symbolic links on the command line and in file hierarchies are
followed.
-m Display block counts in 1048576-byte (1-Mbyte) blocks.
-P No symbolic links are followed. This is the default.
-r Generate messages about directories that cannot be read, files
that cannot be opened, and so on. This is the default case.
This option exists solely for conformance with X/Open Portability
Guide Issue 4 (``XPG4'').
-s Display an entry for each specified file. (Equivalent to -d 0)
-x File system mount points are not traversed.
The du utility counts the storage used by symbolic links and not the
files they reference unless the -H or -L option is specified. If either
the -H or -L options are specified, storage used by any symbolic links
which are followed is not counted or displayed. If more than one of the
-H, -L, and -P options is specified, the last one given is used.
Files having multiple hard links are counted (and displayed) a single
time per du execution. Directories having multiple hard links (typically
Time Machine backups) are counted a single time per du execution.
ENVIRONMENT
BLOCKSIZE If the environment variable BLOCKSIZE is set, and the -k
option is not specified, the block counts will be displayed in
units of that size block. If BLOCKSIZE is not set, and the -k
option is not specified, the block counts will be displayed in
512-byte blocks.
Eso es todo por ahora gente del futuro, nos leemos en el siguiente artículo.
