I'm not yet convinced. I'm familiar with what each of the three terms mean but I'm struggling to see why they should all exist as separate tags here.
- What does shell (or cli-shell shudder) add that command-line doesn't already cover?
- If it adds anything, wouldn't the actual shell tags add even more? (eg: bash, ksh, zsh, etc)
- And why does terminal need its own tag at all? It's used synonymously with command-line by a very many people. It's possible the most worthwhile synonym we have in the system.
They're all pretty generic and they overlap huge amounts. I think in their case it's much more useful to have one tag to describe that we're talking about the command line and anything else be specific to the problem.
And to agree with Marco, "shell" is and has been super-generic term for "interface" for a very long time. I'll concede it's more popularly talked about when describing the command line these days... But that's not its only use. And that's the problem with shell/terminal/command-line.
I don't disagree with Gilles's 2010 opinion (the three words all technically mean disparate things), but people don't use tags based on their dictionary definitions, they use them how they've always used them. And in the real world, terminal, shell, cli and command-line all mean roughly the same thing. Like it or not, they are synonymous to most of our users.
To separate these three out means one thing for the future of posts about the command line: really crappy tagging. Some posts will be terminal, some will be command-line and shell... It's just generating a metric butt-tonne of review. At least with the way things are, we have one tag that covers all of that and people can add detail through further, more specific tags.