Wednesday, October 14, 2020

LinuxCommand.org is Twenty Years Old...

That's right, it's been twenty years since I launched the first version of LC.o and began this journey of Linux advocacy and education. Over the years, a lot has changed and a lot has stayed the same.

Many years ago, when Linux was young, Linus Torvalds gave a talk at a Linux users group meeting. At this point in Linux history, Linus had to actually use PowerPoint to present his slides as no office suite yet existed for Linux. During his talk he began to discuss the goals of the Linux project. He said something to the effect, "Of course, the true goal of Linux is..." and he brought up his next slide which read "TOTAL WORLD DOMINATION" at which point the audience erupted into complete laughter. At the time, the very idea of this little hobbyist project being able to compete with Microsoft Windows or even mainstream Unix seemed utterly preposterous.

Fast forward to today and we see that Linux has indeed achieved total world domination. It powers 80% of the world's smart phones, almost all of the Internet, Chromebooks, automotive infotainment systems, and countless embedded systems. Commercial Unix has largely disappeared and even Microsoft is starting to get onboard. Yet, despite all this change, the command line endures. Over the last 20 years there have only been three major releases of the bash shell. Scripts written back in the 1990s still work fine today. The same goes for most of the common utilities, too.   

In honor of my 20 year milestone, LC.o has been extensively modernized. Several weeks of re-engineering have resulted in the following improvements:

  • New responsive design. The site now renders usefully on devices of all sizes from desktops down to most common mobile phones.
  • Simplified, modern HTML and CSS. These improvements should result in better page performance.
  • Updated tutorials. The text has been reviewed and modernized. While still very sparse compared to the corresponding sections in the book, the online tutorials are at least up to date. Many of the tutorials now feature "Further Reading" sections with links to supplemental material.
  • Manual pages. A complete set of man pages is now provided for the bash builtins, GNU coreutils package (which comprise most of the common command line utilities one encounters on a Linux box), and many other common utilities.

Many thanks to all the folks who have taken the time to write and provide feedback and encouragement. Without you, I might not have kept at it for so many years.  I hope that everyone enjoys the new LC.o and maybe I can squeeze another 20 years out of it (though by then I will be a seriously old man).

Wednesday, August 19, 2020

Adventure: SQL

Structured Query Language (SQL) is the lingua franca of the database world. It's also a useful and important skill. In this adventure, we will look at its major features and techniques, as well as discover a command-line tool that makes SQL easy to use with our scripts and projects.

http://linuxcommand.org/lc3_adv_sql.php

Thursday, May 14, 2020

Adventures: Coding Standards, Parts 1 and 2

Good news everyone! I have just posted 2 new adventures! In this two-part series we look at bash script coding standards.

In Part 1, we review what a coding standard does and how they work. We next create our own standard called the LinuxCommand Bash Scripting Style Guide.

In Part 2, we look at the new_script program, a bash shell script template generator that makes using our new coding standard fun and easy. Enjoy!

Coding Standards Part 1
Coding Standards Part 2

Saturday, March 21, 2020

Adventure: source

We looked at the source builtin a little in TLCL when we were examining how the shell's environment is established with the .profile and .bashrc files. In this adventure, we will delve further into how to use this feature to support configuration files and shareable function libraries for our bash scripts.

http://linuxcommand.org/lc3_adv_source.php