Command line vs. shell
In this book, we refer to a “command-line environment.” We define this as any text-based environment that acts as a kind of REPL, specifically for interacting with the operating system, programming language interpreter, database, etc. A “command-line” environment or interface describes the general idea of how you’re interacting with a system.
But there’s a more specific term which we’ll use here: shell.
A shell is a specific program that implements this command-line environment and lets you give it text commands. Technically, there are lots of different shells which provide the same kind of REPL-based command-line environment, often for wildly different things:
- Bash is a common shell environment for interacting with Linux and Unix operating systems.
- Popular databases like Postgres, MySQL, and Redis all provide a shell for developers to interact with and run commands in.
- Most interpreted...