Tuesday, July 21, 2026

Announcing The Linux Command Line Seventh Internet Edition, Revision A

I have just uploaded a maintenance release of the Linux Command Line. This release fixes a few typos and corrects a couple of bugs but otherwise no significant changes. You can download the new release here. Details can be found in the release notes.

Enjoy.

Wednesday, June 24, 2026

Rant: Management Responsibility

Imagine you're the head of a small business and you need to hire someone to run a portion of your company. How would you go about doing that? Well, a reasonable person would evaluate various job applicants. You would check their qualifications. Do they have the necessary job skills and experience? Are they honest? Do they have a good work ethic? Is their temperament suitable for the job? Do they demonstrate good judgment?

Today I want to share my thoughts on the role citizens play in a democracy. There is a common belief that we are separate from our government and that we, as citizens, have no power over it. I would argue it's quite the opposite. We are the government and we have all the power. We just need to use it.

America is a Business

To understand this, let's consider the American government in terms of corporate structure. America, as well as its government, is a business. It produces work products such as roads and bridges, timely weather forecasts, various economic reports. The government also provides services like firefighting, law enforcement, public schools, and libraries for its customers, the citizens in exchange for taxes.

The government is managed by its citizens, people like you and me, who act as both the Board of Directors and its customers. We hire the management team, the elected officials in whom we place our trust to operate the machinery of government according to our policy directives. Our corporation has a set of bylaws called the Constitution which the management team is bound to obey and enforce. We have a separate board called the courts that provides guidance regrading the application of the bylaws and their resultant policies. Ultimately, all power rests with the citizens since we are the ones who sign the management team to their multi-year contracts.

But with great power comes great responsibility. In our case it's management responsibility. We have the responsibility to be engaged and vigilant. We must hire carefully, and constantly evaluate the management team's performance. In order to be good at this role, we must understand what our government does and how it works. We must understand the bylaws and how they shape the government. 

America Always Gets the Government It Deserves

So what happens when we neglect our management responsibility? A brief look around answers that question. In the year 2026, we have a deeply corrupt and incompetent government whose actions are dictated by a handful of wealthy donors, and these billionaires don't seem very interested in our well-being. So it's up to us to perform our management responsibility and straighten this mess out.

Now, I know that people are busy with their personal lives and don't have the time or necessarily the inclination to perform the required oversight, but the management of our government is important because it is tasked with securing our economic, societal, and environmental safety. Not something that you want to leave to chance or worse, exploitation by evil people.

Like they say, freedom isn't free.


Tuesday, April 28, 2026

The Linux Command Line, 7th Internet Edition Now Available in Swedish

Thanks to the efforts of Josef Andersson, there is now a Swedish translation of the The Linux Command Line available in both HTML and PDF formats. You can find links to both on the "Books" page.

 

Thursday, January 15, 2026

Announcing The Linux Command Line Seventh Internet Edition and Third Print Edition


 

Good News Everyone!

I have just released the Seventh Internet Edition of my book. Along with the Internet Edition release, we're just days away from the general availability of the new print edition which is based on the aforementioned Internet Edition.

So what's new? The Seventh Internet Edition is an enhanced version of the previous release with numerous cleanups, fixed typos, and small clarifications throughout. For a detailed list of the changes, see the release notes available here.

The Third Print Edition has been significantly modernized and expanded and contains all the changes found in the Sixth and Seventh Internet editions (the previous print edition was based on the Fifth Internet Edition). You can get all the details at No Starch Press.

Enjoy! 

Friday, November 1, 2024

Announcing The Linux Command Line, 6th Internet Edition

After eighteen months of semi-serious effort, I am pleased to announce the release of the 6th Internet Edition. With nearly forty pages of new, additional content, it's perhaps the largest revision since the book's original release in 2009.

Highlights of the 6th Internet Edition include:

  • Updated Package Management chapter.
  • Extensive revision of the Storage Devices chapter.
  • Coverage of additional shell builtins such as eval, getopts, and select.
  • Expansion of the Arrays chapter including how to simulate multi-dimensional arrays.
  • There is now a downloadable collection of example scripts appearing in the book.


And many more additions and improvements.

For a detailed list of changes, see the Release Notes.

The 6th Internet Edition is now available for free download at https://LinuxCommand.org/tlcl.php.

Enjoy!

Wednesday, January 18, 2023

Recent Change to Community Translation Policy

I recently added a paragraph to the Community Translation Policy for The Linux Command Line as follows:

Be aware that once you are approved for performing the translation I will add your name and email address to the "Books" page on LinuxCommand.org so that others can contact you regarding your progress and perhaps offer you assistance in the translation.

I am hoping that with change I can get some of the translations moving. Some of them have been "in progress" for more than 5 years and it would be great if they got finished.

I will be making the change to the "Books" page soon, so keep an eye out for your chance to contact one of the translation team to offer help or encouragement.

Wednesday, October 20, 2021

Adventures with the Linux Command Line, First Internet Edition

I've just released the first Internet edition of my new book, Adventures with the Linux Command Line. This 250+ page volume is a sequel/supplement to The Linux Command Line (TLCL).  With 14 action-packed chapters, it covers a variety of skill-enhancing topics intended for makers, students, and anyone who wants to take their knowledge of the command line and shell scripting to the next level. 

The First Internet Edition is available in two forms. First, as a series of web pages in the Adventures section of LinuxCommand.org and second, as a PDF book like the Internet edition of The Linux Command Line. The PDF book is released under the same Creative Commons license (BY-NC-ND) as TLCL.

The book is available now for free download. You can get it in the Books section of LinuxCommand.org.

Happy keyboarding!

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

Sunday, April 28, 2019

ICYMI: The Linux Command Line: A Complete Introduction, 2nd Edition

In case you missed it, the second edition of The Linux Command Line: A Complete Introduction from No Starch Press is now available. This edition, based on the fifth Internet edition of TLCL contains many improvements and modernizations compared to the first edition.


If you're looking for a more "tangible" version of TLCL, pick up a copy of The Linux Command Line: A Complete Introduction, 2nd Edition wherever fine books are sold.

Saturday, April 27, 2019

(Not so new) Adventure: Vim, with Vigor

A few months ago I wrote an adventure but I forgot to announce it. In it, we advance our skill with the vim text editor from the beginner level to an intermediate level. This adventure is one of my favorites so far. I learned a lot while writing it.

Vim is a very capable and configurable program. For example, it's easy to configure vim to behave differently according to the type of file it is editing and in this adventure we will configure vim to be optimized for writing shell scripts and plain text documentation files making vim a useful partner when working on the command line. We also introduce a number of powerful editing tricks that make using vim a lot more fun.


You can find the Vim, with Vigor adventure here.

Thursday, January 17, 2019

Announcing The Linux Command Line, Fifth Internet Edition

Good News Everyone!

I have just released the 5th Internet edition of my book, The Linux Command Line. This new edition contains hundreds of language refinements and modernizations including updated screenshots and diagrams.

You can download the new version here:

https://sourceforge.net/projects/linuxcommand/files/TLCL/19.01/TLCL-19.01.pdf/download

Be sure to download the file named TLCL-19.01.pdf

Enjoy!

Thursday, October 19, 2017

Announcing The Linux Command Line, Fourth Internet Edition

Good News Everyone!

I have just released the 4th Internet edition of my book, The Linux Command Line. This new edition contains a number of refinements and modernizations. In particular, the example scripts in Part 4 have been improved to increase the robustness of string handling and to serve as better examples of modern coding practice.

You can download the new version here:

https://sourceforge.net/projects/linuxcommand/files/TLCL/17.10/TLCL-17.10.pdf/download

Be sure to download the file named TLCL-17.10.pdf

Enjoy!

Friday, July 29, 2016

Announcing The Linux Command Line, Third Internet Edition

Hello Everyone!

I have just released a new edition of my book, The Linux Command Line. This version is mostly a maintenance and modernization release. It also fixes several bugs and clarifies a few things, too.

You can download it here:

https://sourceforge.net/projects/linuxcommand/files/TLCL/16.07/TLCL-16.07.pdf/download

Make sure you get the file named TLCL-16.07.pdf.

Enjoy!

A word about the PDF version of my book: if you look around the Internet, you will find many people offering the PDF of the No Starch Press edition of my book which is titled, The Linux Command Line: A Complete Introduction. This PDF is different from my PDF at LinuxCommand.org in  two important ways:

  1. While the content of both books is essentially the same, my version of the book is more up-to-date and contains links to additional resources not found in the No Starch Press edition (which is based on my First Internet Edition). The No Starch Press version also features different typography and layout from my version.
  2. The No Starch Press edition of the book is not freely distributable under a Creative Commons license, so those copies you see are infringing on the copyright, which I consider very impolite.

Tuesday, June 21, 2016

Adventure: Other Shells and Power Terminals

Two new Adventures! First, we'll look at some of the other shell programs available to Linux users. Most are of historical interest, but one attempts to do bash one better. Learn more about Other Shells.

Second, we'll explore some of the often overlooked features of our most frequently used command line tool-- our terminal emulator. Explore Power Terminals.


Enjoy!

Tuesday, January 26, 2016

Adventure: AWK

Another new Adventure! The AWK programming language is one of the truly classic Unix tools still in wide use today. Often embedded in shell scripts or employed directly at the command line, this powerful and elegant text processing and pattern matching language is a must-have for every Linux user's toolbox. In this adventure, we'll try it out.

Thursday, February 5, 2015

Adventure: dialog

Another new Adventure! dialog is a program that, as the name might suggest, creates dialog boxes in text mode. We can use it to give our scripts a friendly face. In this adventure, we will look at what it does, and how to use it.