146
eza (formerly exa, ls replacement) can now show the actual total size of directory contents
(discuss.tchncs.de)
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
For my part I think all this troublefinding and troublesolving is a great use of a thread. :D Especially if it gets turned into a bug report and eventually PR. I had a quick look in the repo and I don't see anything relevant but it could be hidden where I can't see it. Since you've already gone and found the problem it would be a shame to leave it here where it'll never be found or seen. Hope you will send to them.
I also reproduce the bug by moving an ISO file into a directory then hardlinking it in the same dir. Each file is counted individually and the dir is 2x the size it should be! I can't find any way to fix it.
The best I can come up with is to show the links but it only works when you look at the linked file itself:
If you look further up the filetree you could never guess. (I will say again that my distro is not up to date with the latest release and it is possible this is already fixed.)
This should be an option. In
dua-cli
, another one of the other rust terminal tools I love, you can choose:BTW I actually did a bug report. :-) -> https://github.com/eza-community/eza/issues/923
So nothing wasted. Without your post I would not be curious to test this and who knows, maybe it gets fixed or an option to handle it.
Nice! I'm sure they will appreciate your thorough report.
I wonder if they also plan to make an option about crossing filesystem boundaries. I have seen it commonly in this sort of use case.
Maybe all this complexity this is the reason why total dir size has not previously been integrated into this kind of tool. (Notable exception:
lsd
if you are interested.) I really hope the development persists though because being able to easily manipulate so many different kinds of information about the filesystem without spending hours/days/weeks/years creating bespoke shell scripts is super handy.I used
lsd
before switching toexa
. BTW I was the one who suggested to integrated hyperlink option tolsd
. :-) Not saying it wouldn't be added otherwise, but at least it sped up the process back then.^^On the topic of filesystem boundaries, this is something I always have in mind. Hardlinks in example cannot be on two different drives, by its nature. It's an option I use with my own
du
script often:-x
. It helps to keep things in check and simplifies some things, as I have a complex of multiple drives that are mounted into my home from various places, plus the symbolic links from Steam and so on. Avoiding other filesystems is part of my "workflow", if you so will and would like to see such an option as well.I just noticed
exa
has an option-H
or--links
to list each file's number of hard links. So at least it is aware of hardlinks and could calculate the total size correctly.