A command-line interface, or CLI, is a way of interacting with a computer by typing text commands rather than pointing at icons. A program called the shell prints a prompt, you type a line, you press Enter, and the shell parses the line, finds the named program, runs it, and prints whatever the program writes. Then the prompt returns and the loop repeats. This read-evaluate-print cycle is the oldest interactive computing model still in heavy daily use, and on Unix-derived systems it is still how programmers, administrators, and automated scripts drive the machine.
The anatomy of a command line is simple and regular. The first word is the command, the name of the program to run. The words after it are arguments, and they fall into two kinds. Options, usually written with a leading hyphen such as -l or --recursive, modify how the program behaves; some options take a value of their own, called an option-argument. The remaining words are operands, the actual things the command acts on, such as file names. The POSIX standard formalizes this in its Utility Conventions chapter, which defines options as “arguments that consist of hyphen-minus characters and single letters or digits” and distinguishes options, option-arguments, and operands.
Those conventions are what make a thousand separate programs feel like one coherent toolkit. The POSIX Utility Conventions lay out fourteen syntax guidelines: option names are single alphanumeric characters, a bare -- marks the end of options so the rest are operands, and a single - conventionally means standard input or output. Because nearly every Unix utility follows these rules, the knowledge transfers: once you understand how flags and operands work for one command, you can read the next command’s usage at a glance.
Every command also reports back through an exit status, a small integer the shell can test. By convention zero means success and any non-zero value means some kind of failure. This single number is what lets commands be chained with logic, run only the next step if the previous one succeeded, and it is the foundation on which shell scripts build conditionals and loops. Combined with standard input, standard output, and standard error, the three text streams every program inherits, the exit code turns each command into a composable building block.
The CLI is the natural home of the Unix philosophy. Small programs that do one thing, speak plain text, and report a clean exit status compose effortlessly through pipes and redirection on a command line. The interface is older than the graphical desktop and has outlived many of its rivals because it is fast, precise, scriptable, and remotely operable. Modern tools from jq to ripgrep still arrive as command-line programs following the same conventions, which is why the POSIX Utility Conventions remain the authoritative description of how a command line is spelled.