Universal Interface

Published

2025-06-25

Caution

This section is under development. Thank you for your patience.

Text commands and files are vital to Linux systems, embodying their philosophy of ‘simple and beautiful.’ A plain text file contains only text, making them versatile and powerful.1 Recall that ’everything is a file in Linux operating systems, including devices, configurations, and processes.2 Plain text serves as a universal interface between systems, programs, and users. Standard Linux tools can easily create, manipulate, and read text, making it an essential interface for system administration, programming, and process management.

Plain text files are versatile and transparent because they can be edited with any text editor and don’t require specialized software. Plain text can also be easily manipulated using standard Linux text-processing tools such as grep, sed, and awk. With a few simple commands, users can search for a specific term, replace text across multiple files, or transform data formats.

Communication Between Programs

Linux philosophy values specialized programs that work together efficiently. Simple, single-purpose programs can be run with text commands and combined together into pipelines to perform more complex operations.’3

Text Streams

A text stream in Linux is a simple, sequential flow of characters. Text streams can be inputs from keyboards, outputs to a display screen, or the data within a file. The concept of text streams is fundamental to the Linux philosophy; it allows for the chaining together of commands, where the output of one command can be seamlessly passed as input to another (as we learned in the Pipes chapter).

In the following chapters, we’ll explore wildcards, special characters, and regular expressions to manipulate text.

See a typo, error, or something missing?

Please open an issue on GitHub.


  1. Plain text is any file containing text composed solely of readable characters encoded in a standard character set, without any embedded formatting, markup, or metadata.↩︎

  2. Linus Torvalds (creator and lead developer of the Linux kernel) has clarified this to, “The UNIX philosophy is often quoted as ”everything is a file”, but that really means ”everything is a stream of bytes.↩︎

  3. Doug McIlroy on Linux programming: “Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.” - Wikipedia↩︎