There are many questions using the tags command-line, shell, terminal. A cursory look suggests that most terminal questions are about terminal emulators and their configuration, while command-line questions are can be about shell programming, about finding the right utility to accomplish a task, or occasionally about the terminal. Shell questions are currently spread over command-line, shell (sometimes with script or scripting) and shell-script (plus specific shells, of course).
I think it would be better to stick shell programming and shell configuration questions under one tag (shell unless they're specific to a particular shell), and I suggest the following distinction, but don't feel strongly about it. Counter-proposals (including “it's just fine as it is because …”) are welcome.
- shell: shell interaction (line edition, prompt, history, etc.), and one-liners.
- shell + script, or maybe shell-scripting: shell scripting (anything complex enough that you'd put it in a file, whether it's your
.bashrc
or a standalone script). - script (synonym scripting): automating a task, not necessarily in a shell language
- command-line: “How do I do X on the command line?”
- terminal: about the terminal (emulator).
It would be nice to be consistent with other Stack Exchange sites (but that's not a requirement, and they're not consistent anyway).
- Stack Overflow:
shell
andshell-scripting
are synonyms;command-line
isn't, though maybe should be (only programming questions are on-topic there). - Server Fault: no clear distinction between
shell
andcommand-line
;shell-scripting
is practically unused. - Super User: no clear distinction between
shell
andcommand-line
;shell-script
is not used much. - Ask Ubuntu: see Terminal vs. Command-Line, Merging scripting related tags.
Update: A few months later, I think that command-line and terminal are used mostly as above, and shell is mostly used for shell programming (with or without script or [shell-scripting]). Why not, but surely one of script and shell-scripting should go.