▲ | johnisgood 9 hours ago | ||||||||||||||||
So a TL;DR of your comment is that you just have to learn / memorize to use things. That applies to everything, not just what you are discussing here. If you only use 'cd', 'mv', 'rm', and 'ln', then really, there is not much to learn. Perhaps the '-rf' option to 'rm', which is how you delete directories (that are not empty). You complained about the naming, but 'mv' requires fewer keystrokes than 'move', and once you know that 'mv' = move, 'rm' = remove, and so on, then what is the issue? It makes sense. DOS had just as "arbitrary" names: 'del' instead of 'rm', for example. The UNIX versions are deliberately short for efficiency, and once you learn them, they are universal. Man pages are fine. Just press '/' to search by string or regex, and 'n' for next match. They are also consistent: if you want a particular section, you search for it. But it is important to remember that man pages are reference material, not tutorials. If you want quick examples, try https://tldr.sh, https://cheat.sh, or another alternative. If this is difficult, or you simply do not want to learn it, that is fine: use what works for you. But if you are a programmer, you are going to be learning tools constantly, and the core UNIX utilities are among the simplest. Once learned, they do not change. Personally, I have not had to learn anything new about them since I was 13. I am 31 now. You learn once, and you use forever. That said, there are real examples of arcane tools. 'ffmpeg' and 'rsync' have some of the most obscure command-line options I have ever seen, which is why I keep bash aliases and functions for the things I do often. That is how you make your life easier as a programmer: learn the fundamentals, then abstract the complexity where it makes sense. TL;DR: Learning is not optional. Whether it is GNU/POSIX utilities, GUIs, wizards, or even LLMs, you still have to learn them. Man pages are reference material, not tutorials. Learn the basics once, and you are set for life. | |||||||||||||||||
▲ | pdntspa 2 hours ago | parent | next [-] | ||||||||||||||||
I don't think you fully understood my comment.
You need to step outside your own shoes and approach these from the perspective of someone who is new. Yes you have to learn things, that is obvious.But not everyone gets the chance to do that before they are dropped in a situation where the knowledge is needed. Up until a few years ago (before LLMs) if that was your case and you didnt know how to articulate what you wanted to google (or a teammate), you were fucked. Like with VI or with emacs. It's sooooooo easy to screw things up in a big way. Better hope you remembered to type shift-colon-Q-exclamation instead of shift-colon-W-Q! Please, tell me how that makes any sense to anyone without a background in *nix stuff. I did not grow up in the environment where the above incantations had any context. It was literally a bunch of gobbledygook that made no sense. Why "write" instead of "save"? Why 'quit' instead of 'exit'? In fact I had VI dropped on me quite suddenly for a job, that was a real trial by fire, and I remember this well. (And yes I can operate VI quite fine now, thank you) | |||||||||||||||||
| |||||||||||||||||
▲ | skydhash 6 hours ago | parent | prev | next [-] | ||||||||||||||||
> ffmpeg' and 'rsync' have some of the most obscure command-line options I have ever seen, These are power tools, meanings they set out to solve one problem quite extensively. They’re not really meant to use as is (just like git), best is to write some alias or functions as a wrapper (or memorize the set of flags you use most). | |||||||||||||||||
| |||||||||||||||||
▲ | FabHK 5 hours ago | parent | prev [-] | ||||||||||||||||
Incidentally, there's a TL;DR app as an alternative to man [0] that just gives you the most common examples/use cases for any command. Quite useful. [0] `brew install tealdeer`, then invoke with e.g. `tldr chown`. |