Summer. 1980-something. An elementary-school-attending, Knight Rider-T-Shirt-wearing version of myself slowly rolls out of bed and shuffles to the living room. There, nestled between an imposingly large potted plant and an over-stocked knick-knack shelf, rested a beautifully gray, metallic case powered by an Intel 80286 processor—with a glorious, 16-color EGA monitor resting atop.
This was to be my primary resting place for the remainder of the day: in front of the family computer.
That PC had no graphical user interface to speak of—no X Window System, no Microsoft Windows, no Macintosh Finder. There was just a simple command line—in this case, MS-DOS. (This was long before Linux became a thing.) Every task I wished to perform—executing a game, moving files—required me to type the commands in via a satisfyingly loud, clicky keyboard. No, "required" isn't the right word here. Using the computer was a joy. "Allowed" is the right word. I was allowed to enjoy typing those commands in. I never once resented that my computer needed to be interacted with via a keyboard. That is, after all, what computers do. That's what they're for—you type in commands, and the computer executes them for you, often with a "beep".
For a kid, this was empowering—taking my rudimentary understanding of language (aided, at first, by a handy DOS command cheat sheet) and weaving together strings of words that commanded the computer to do my bidding. It was like organizing runes to enact an ancient spell. It was magic. And I was a wizard. Did I miss not being able to "double click" or "drag and drop"? Of course not. I'd seen some such, mouse-driven user interfaces (like the early Macintoshes), but—from my vantage—that wasn't how computers really worked. I viewed such things as cool-looking, but not necessary. Computers use words. Powerful, magical words.
But this isn't 1980-something. In fact, it's barely 2010-something. (Did anyone else just realize that it's almost 2020?) For better or worse, how people use—and view—computers has changed dramatically since the days of Knight Rider. Modern operating systems are, often, belittled if they require users to interact with the machine via a command line. The graphical user interface is king. Which is, perhaps, the inevitable evolution of how we all interact with our computers.
Yet the value of the command line (or terminal, shell and so on) is still there. For many, it makes using computers more accessible. For others, it provides streamlined workflows that a mouse or touch-driven interface simply can't compete with. And, for others still, the blinking cursor provides a bit of nostalgic joy—or an aesthetically simple, and distraction-free, environment.
This issue of Linux Journal celebrates the cursor—that wonderful blinking underscore and all the potential that it holds.
To get warmed up, Dave Taylor (author of Learning Unix for Mac OS X and Wicked Cool Shell Scripts) starts off with a whirlwind tour of the "the user interface that wouldn't die" in his article "A Guide to Basic Command-Line Tasks".
Then, your favorite Linux Journal Deputy Editor takes you on a tour of command-line applications that you can use as replacements for some of the most common graphical tools in "Without a GUI—How to Live Entirely in a Terminal in 2019".
Once you've gotten a feel for basic shell commands and experience doing some common computing tasks entirely from the terminal, it's time to up your game. In "How to Expand Your Command-Line Scripting Options with Tcl", Mitch Frazier gives an introduction to some more advanced scripting with the Tool Command Language.
What about regular expressions? Every Linux aficionado needs, eventually, to get a basic regex primer. Maybe you'll love it; maybe you'll hate it. But, either way, it's a rite of passage for Linux users since the dawn of time. Andrew Piziali provides exactly that in his excellent "Regular Expressions: the Linux User's Second Language".
Phew.
Finally, to reward yourself for expanding your command-line knowledge and powers, let's play some video games. We've pulled together the biggest, most expansive and impressive command-line-only video games in the aptly titled "The Best Command-Line-Only Video Games". No 3D, no VR, no full motion video—just good old-fashioned ASCII characters flying around your screen.
When all is said and done, the Linux-powered computer in front of me is so much more powerful than that 1980-something computer—it borders on the ridiculous. But there are some things to be learned and admired about the text-only computing heritage—both about how computing used to be and how you can better enjoy and utilize the computers as they are today.