A command-line interface is a text-based way to run programs by entering commands in a terminal. It supports practical tools, scripts, and programs that communicate through textual input and output. section 3.0 section 1.4
Command-line programs become more useful when they:
- Connect through pipelines, using the pipe symbol to pass one program’s text output into another program. section 3.0
- Accept options such as a host, port, identifier, or text value through an argument parser. section 17.3.2
- Organize related actions as commands, such as listing entries, adding entries, and toggling entries. section 17.3.2
A line-numbering tool
The Unix command `nl testFile.txt` prints a text file with numbered lines. Its output can be piped into search and filtering tools to locate matching source-code references or produce ordered listings. section 3.0
Figure 3.1 An example of how to transform data using pipes with shell commands
Follow the pipeline diagram to see how shell commands transform and pass data between processes. section 3.0








