I'm going to have to interject on even on the first point. FWIW, I'm a person who vastly prefers to use a keyboard when possible, can totally live on a CLI only system, etc. Anyway:
It’s faster and easier than using a GUI. This is because you can type a lot faster than you can click-click-drag with a mouse.
This is just not true for the vast majority of people. Have you ever watched normies type?
The other thing is that even with simple stuff like file operations normal users get lost with a GUI where it's far easier to visualize what is actually happening. If they get a few basic mechanics (click+drag, right click, double click) that's about all they have to remember to move files around. Compared to learning ls, cd, mv, cp, the directory tree, symbols like . and .. and so forth. Or perhaps my favorite example, quick name a valid tar command. On a GUI system like windows/Mac, they just need to remember they can do things to files by selecting them and right-clicking them. On a CLI only system, how the fuck are you supposed to get a regular user to remember that to compress a file, you type in tar to start with, much less remembering flags (my flavor of choice is usually -xvf.) How many people who regularly use linux even know wtf it's called tar?
And that's even forgetting the things like the defaults often being much harder to recover from. In Mac/Windows (and I think even most distros, though I haven't daily driven a gui linux in a while) deleting a file the default way is a safe operation and easily recoverable because by default the gui is designed to be more user-safe.
Though I don't think anyone will disagree with the fact that the CLI is an immensely powerful tool that a lot of us can't do without, it has never been really designed in a way to be accessible to normal users, and I'd be willing to bet that if you were designing a CLI today in a vacuum, it wouldn't look anything like the one we're familiar with. It's why I'd also guess that very few of us that use the command line all of the time don't have a mile long list of aliases, scripts, switching to shells like zsh and things like zsh-autosuggestions or zsh-syntax-highlighting, colorls, a specific terminal emulator they use, and so on and so forth.
I'm going to have to interject on even on the first point. FWIW, I'm a person who vastly prefers to use a keyboard when possible, can totally live on a CLI only system, etc. Anyway:
This is just not true for the vast majority of people. Have you ever watched normies type?
The other thing is that even with simple stuff like file operations normal users get lost with a GUI where it's far easier to visualize what is actually happening. If they get a few basic mechanics (click+drag, right click, double click) that's about all they have to remember to move files around. Compared to learning
ls
,cd
,mv
,cp
, the directory tree, symbols like.
and..
and so forth. Or perhaps my favorite example, quick name a valid tar command. On a GUI system like windows/Mac, they just need to remember they can do things to files by selecting them and right-clicking them. On a CLI only system, how the fuck are you supposed to get a regular user to remember that to compress a file, you type intar
to start with, much less remembering flags (my flavor of choice is usually-xvf
.) How many people who regularly use linux even know wtf it's calledtar
?And that's even forgetting the things like the defaults often being much harder to recover from. In Mac/Windows (and I think even most distros, though I haven't daily driven a gui linux in a while) deleting a file the default way is a safe operation and easily recoverable because by default the gui is designed to be more user-safe.
Though I don't think anyone will disagree with the fact that the CLI is an immensely powerful tool that a lot of us can't do without, it has never been really designed in a way to be accessible to normal users, and I'd be willing to bet that if you were designing a CLI today in a vacuum, it wouldn't look anything like the one we're familiar with. It's why I'd also guess that very few of us that use the command line all of the time don't have a mile long list of aliases, scripts, switching to shells like zsh and things like zsh-autosuggestions or zsh-syntax-highlighting, colorls, a specific terminal emulator they use, and so on and so forth.