I think they know that and their point, rightly or wrongly, is that `ls` should, by default, show everything. I don't think they're saying they're unaware of the available flags.
(I'm not sure where I would stand on this topic. Just saying that I think they're fully aware of the flags.)
Why don't you know where you would stand on the topic, there can hardly be simpler questions: when I ask my computer for a list of directory contents, should it hide some of them from me or not?
At least DOS/Windows has a concept of a 'hidden file' attribute, although I don't like the concept (because they still take up disk space and affect the way programs run, so I the user/admin need to deal with them) at least that's a tag in the filesystem associated with the file which is clearly intended to 'hide' the file.
Unix/Linux has no such tag, there's nothing about the file which is hidden. What there is, is a broken directory listing tool which doesn't show some names, but other tools will because they are just ordinary files. Originally a tool which showed the . and .. directories for current/parent, modified to hide those and accidentally hiding 'dotfiles' as well. I can deal with "you have to make choices which details to show, like size or modified time, and which format to show them in". I can't deal with "tool to list files actually hides files from me unless I ask it twice". (Obviously I can deal with it, but having to deal with a broken tool and remember that the tools is broken, is annoying. And the people are Stockholm syndromed to it; it would be easy to 'hide' files by putting them in another directory. That's what we do with /etc, we put config files somewhere we aren't looking so they won't bother us. Why not ~/etc/ for per-user config files?).
Use an alias and ensure the flag is always set to show dotfiles, or don’t use dotfiles, or fork and patch ls, or write a bash wrapper function, or use any language you choose and shell out, or write your own directory listing utility app.
There are trivial solutions to your issue and complicated ones. You’re choosing the one thing which will not solve your issue, complaining. Imagine if you directed such passion towards a positive constructive thing rather than ranting at length about friggin ls
Would you say `ls` was broken if it didn't show files with "w" anywhere in the name and had a --show-w-files flag? And if so, what would be the reason you would call that broken behaviour? And why doesn't that same reason apply to dotfiles?
> "You’re choosing the one thing which will not solve your issue, complaining."
It is not "my issue", it's ls's issue. I'm making a point that "it's not broken, if it was we would have heard of it by now" is wrong. It is broken, you have heard, and you choose to not listen - that's different from not hearing about it and different from it not being broken. It doesn't mean I can't work around it or that I don't know how to.
> "Imagine if you directed such passion towards a positive constructive thing rather than ranting at length about friggin ls"
Imagine if you had just said "yes it is a bit broken" instead of arguing.
I’m not arguing lol. ls not showing dotfiles makes perfect sense to me. They are mainly config files that you don’t use often why have it print all the time when not needed. Also I have no issues with convention over configuration where it’s logical and imo this is a perfect use case.
> "They are mainly config files that you don’t use often why have it print all the time when not needed"
He piled upon the whale's white hump the sum of all the general rage and hate felt by his whole race from Adam down; and then, as if his chest had been a mortar, he burst his hot heart's shell upon it.
"I like having a harpoon in me" said the whale, "sometimes I need to get rid of toxins in my blood so why have a complete skin when not needed?". It was a stupid whale that didn't understand it had kidneys for that.
"Why does my Python code show a different view of files to ls?"
"Because LS has a mistake in it where it doesn't list all the files returned by the filesystem"
"Why don't they fix the mistake?"
"They have twisted their minds and bodies around the brokenness of their tooling. Knowing the intricacies of the broken systems is what gives them wizard status, signals in-group membership, superiority from normies. Putting files in subfolders requires no arcane knowledge, signals boring office corporatism, commands no higher salary."
"Would I be wrong to predict this kind of thing runs deep through the whole system?"
"I've never heard anyone else complain before now", he said, incrementing the "days without complaint" counter on the wall. "Oh, we count in a mixed base of 60 or sometimes base 24 or 12 or 28 or 30 or 31 or 364.25 with a four-period adjustment for the fractional part or base 100 or 1000, with a regional adjustement based on longitude around the planet but modulated by political affiliations, with a region-dependent bi-annual adjustment for tilt of the planet towards the main star but adjusted on different days in different regions, and then seconds from just after the American moon landing but based in London region without the regional adjustment or leap second adjustment".
"That seems complicated and disruptive to a lot of people twice a year?"
"It does everything I need, besides I'm sure we'd have heard by now if there were any problems with it".
Because arbitrarily not showing one single subset of files based on the idea that I sometimes won't need that group of files is a ridiculous design. Not a design, a mistake which has become abused as a file organising system instead of subfolders which are an actual design for organising files. Because the system has no idea when needed or when not needed and shouldn't guess. Because in every directory listing, most of the files are not needed, but the ones which are are different each time, that's why we have patterns and globbing to select in the subset you want and also -I / --ignore=PATTERN to exclude the subset you don't want. Adding extra special flags -B "exclude ~ files" is crappy design when you can -I it but at least it doesn't affect you if you don't know/care about it.
It's one thing to be stuck with a bad design from history for pragmatic reasons, it's another to be unable to see that it's a bad design when it only suits some people's use case, sometimes, in some folders, but it's a default which affects everyone all the time in all folders and contradicts what the rest of the system sees.