Do some people really find the command line so difficult to use?
Yes. Very yes. To the point where, when you say "some people", what you really mean is "most people".
I don't think the problem is "the command line" so much as it is "the Unix command line". You don't see a lot of people having difficulty with text-adventure command lines. You demonstrate HELP and GET LAMP and they're off to the races.
Whereas Unix commands are hard to discover unless you already know their names, have illogical names, have inconsistent behaviors, have poorly designed documentation (every command has 27 options and they're often documented in alphabetical order on man pages, with the obscure corner-case options given equal weight to the most useful ones), require combinatoric thinking (because many options can be used at one time), take invisible actions ("gzip foo" returns no output and modifies a file in your current directory; you need "ls" to see that it did anything), are context-dependent (you need to know what a "working directory" is or you won't get past square one), and often require a working knowledge of pipes and redirection to be useful (and pipes and redirection aren't intuitive skills).
You need to read a book. Nobody has time to read books. Reading books is a bicycle activity.
It would be interesting to use a command line interface that acted like a text adventure game.
> get file.txt
YOU PICK UP THE FILE
> inventory
YOU ARE HOLDING:
file.txt
> gzip file.txt
FILE.TXT HAS BEEN COMPRESSED
> inventory
YOU ARE HOLDING:
file.txt (compressed)
> drop file.txt
YOU CAN'T PUT THAT HERE, THERE IS ALREADY A FILE.TXT HERE
> rename file.txt file.txt.gz
FILE.TXT HAS BEEN RENAMED
> drop file.txt.gz
YOU PUT DOWN FILE.TXT.GZ
Obviously not ideal, but at the very least the idea of inventory-as-clipboard would be useful on the command line.
OK: you can get file.txt; gzip file.txt; rename file.txt file.txt.gz; drop file.txt.gz. However, it requires a get and a drop to fiddle the inventory, which doesn't seem to do anything (you are still specifying all the filenames each time).
And I don't see a reason to generate a gzipped file of 'the same name' and then do a rename, it seems better for the new name to be an argument to the gzip operation.
All you really want is to send information from file.txt through gzip to file.txt.gz. As in "gzip < file.txt > file.txt.gz" or "cat file.txt | gzip > file.txt.gz".
But it feels like there should be cases where the clipboard/temporary holding area is much more useful than it is here, I just can't think of them?
When Windows has a command line tool (Powershell, not their crappy native CLI) that's powerful and like 100x easier to comprehend, you know the Unix command line is due for a disruption.
Yes. Very yes. To the point where, when you say "some people", what you really mean is "most people".
I don't think the problem is "the command line" so much as it is "the Unix command line". You don't see a lot of people having difficulty with text-adventure command lines. You demonstrate HELP and GET LAMP and they're off to the races.
Whereas Unix commands are hard to discover unless you already know their names, have illogical names, have inconsistent behaviors, have poorly designed documentation (every command has 27 options and they're often documented in alphabetical order on man pages, with the obscure corner-case options given equal weight to the most useful ones), require combinatoric thinking (because many options can be used at one time), take invisible actions ("gzip foo" returns no output and modifies a file in your current directory; you need "ls" to see that it did anything), are context-dependent (you need to know what a "working directory" is or you won't get past square one), and often require a working knowledge of pipes and redirection to be useful (and pipes and redirection aren't intuitive skills).
You need to read a book. Nobody has time to read books. Reading books is a bicycle activity.