| |
| ▲ | pdntspa 11 hours ago | parent [-] | | While I think man pages are perfectly fine as documentation, the terminal interface for accessing them is awful (more mysterious keypresses or incantations to memorize if you want to do anything more than scroll), and visually I have always found them very difficult to scan visually, particularly if I wasn't sure of the exact wording for the task I needed, or if I am thinking in a different vocabulary. Plus theres the whole wall-of-text thing that makes me kind of instinctively bounce out. A lot of them also lack sufficient (or any) examples, which are the things I need to see to learn. Making sense of the their sometimes (and seemingly intentionally) obtuse wording when I'm trying to do something I'm not already familiar with makes them a lot harder to parse than they need to be. And many of the commands are extremely arbitrary. `cd` (change directory) very well could have been `mf` (move folder). `del` in DOS is `rm` in Linux. `move` vs `mv`, `copy` vs `cp`, etc etc. There's no common orthodoxy. If you are not well versed in the history of this stuff its all gobbledygook. LLMs have been great in this regard, as they can supply those missing examples and then explain to me exactly what it is doing, oftentimes worded more clearly than the original documentation. And they can help me string together whole sequences. | | |
| ▲ | johnisgood 9 hours ago | parent [-] | | 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 3 hours ago | parent | next [-] | | I don't think you fully understood my comment. > 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.
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) | | |
| ▲ | johnisgood 2 hours ago | parent [-] | | Yeah but for example if you are new to yet(tm) another JavaScript framework, you will have the same issues at any workplace. I mention this because these days there are millions of new ones. I have not worked with many things they require of me either. Before I apply, I either have to learn the very basics, or I will have a hard time, unless they do not mind me not knowing but learning fast. | | |
| ▲ | pdntspa an hour ago | parent [-] | | It isn't always a job. Sometimes it's just tinkering. Sometimes it's grandma trying to make sense of the Ubuntu linux install her grandson just replaced an old virus-laden version of windows with. Or the unfortunate retail worker on the phone with support staff because her POS terminal can only boot into single-user mode. Or (and I have experience with this one) an account manager at a customer install site trying to fix a bad update. |
|
| |
| ▲ | 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`. |
|
|
|