We can use du and sort commands to list and sort files according to their size: $ du -ah --max-depth=1 | sort -h 451M ./dir2 751M ./dir1 1.2G ./file4. dat 2.4G .
Type the ls -S (the S is uppercase) command to list files or directories and sort by size in descending order (biggest to smallest).
Using the ls Command–l – displays a list of files and directories in long format and shows the sizes in bytes.
Simply navigate to directory and run following command:
du -a --max-depth=1 | sort -n
OR add -h for human readable sizes and -r to print bigger directories/files first.
du -a -h --max-depth=1 | sort -hr
Apparently --max-depth
option is not in Mac OS X's version of the du
command. You can use the following instead.
du -h -d 1 | sort -n
du -s -- * | sort -n
(this willnot show hidden (.dotfiles) files)
Use du -sm
for Mb units etc. I always use
du -smc -- * | sort -n
because the total line (-c
) will end up at the bottom for obvious reasons :)
du -h --max-depth=0 * | sort -hr
3,5M asdf.6000.gz
3,4M asdf.4000.gz
3,2M asdf.2000.gz
2,5M xyz.PT.gz
136K xyz.6000.gz
116K xyz.6000p.gz
88K test.4000.gz
76K test.4000p.gz
44K test.2000.gz
8,0K desc.common.tcl
8,0K wer.2000p.gz
8,0K wer.2000.gz
4,0K ttree.3
du
displays "disk usage"h
is for "human readable" (both, in sort and in du)max-depth=0
means du
will not show sizes of subfolders (remove that if you want to show all sizes of every file in every sub-, subsub-, ..., folder)r
is for "reverse" (biggest file first)When I came to this question, I wanted to clean up my file system. The command line tool ncdu
is way better suited to this task.
Installation on Ubuntu:
$ sudo apt-get install ncdu
Usage:
Just type ncdu [path]
in the command line. After a few seconds for analyzing the path, you will see something like this:
$ ncdu 1.11 ~ Use the arrow keys to navigate, press ? for help
--- / ---------------------------------------------------------
. 96,1 GiB [##########] /home
. 17,7 GiB [# ] /usr
. 4,5 GiB [ ] /var
1,1 GiB [ ] /lib
732,1 MiB [ ] /opt
. 275,6 MiB [ ] /boot
198,0 MiB [ ] /storage
. 153,5 MiB [ ] /run
. 16,6 MiB [ ] /etc
13,5 MiB [ ] /bin
11,3 MiB [ ] /sbin
. 8,8 MiB [ ] /tmp
. 2,2 MiB [ ] /dev
! 16,0 KiB [ ] /lost+found
8,0 KiB [ ] /media
8,0 KiB [ ] /snap
4,0 KiB [ ] /lib64
e 4,0 KiB [ ] /srv
! 4,0 KiB [ ] /root
e 4,0 KiB [ ] /mnt
e 4,0 KiB [ ] /cdrom
. 0,0 B [ ] /proc
. 0,0 B [ ] /sys
@ 0,0 B [ ] initrd.img.old
@ 0,0 B [ ] initrd.img
@ 0,0 B [ ] vmlinuz.old
@ 0,0 B [ ] vmlinuz
Delete the currently highlighted element with d, exit with CTRL + c
ls -S
sorts by size. Then, to show the size too, ls -lS
gives a long (-l
), sorted by size (-S
) display. I usually add -h
too, to make things easier to read, so, ls -lhS
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With