"Many of these utilities are approaching 30 years old and include revisions by many people over the years."<p>"They are not designed for long life or to scale beyond their role."<p>Would love to see some examples from the author of programs he believes are "designed for long life" that have been around 30 years.<p>Or even ones he thinks will be around for 30 years.
See also:<p>* How the GNU coreutils are tested: <a href="https://www.pixelbeat.org/docs/coreutils-testing.html" rel="nofollow noreferrer">https://www.pixelbeat.org/docs/coreutils-testing.html</a><p>* Exploration of each of the coreutils commands: <a href="https://ratfactor.com/slackware/pkgblog/coreutils" rel="nofollow noreferrer">https://ratfactor.com/slackware/pkgblog/coreutils</a><p>* Command line text processing with GNU Coreutils: <a href="https://learnbyexample.github.io/cli_text_processing_coreutils/" rel="nofollow noreferrer">https://learnbyexample.github.io/cli_text_processing_coreuti...</a> (my ebook that covers 20+ text processing tools)
I noticed at least one error, if the author is here. The short description on the shred page[0] is actually the description for csplit[1]. It should be something along the lines of "overwrite a file to hide its contents, and optionally delete it".<p>[0]: <a href="https://maizure.org/projects/decoded-gnu-coreutils/shred.html" rel="nofollow noreferrer">https://maizure.org/projects/decoded-gnu-coreutils/shred.htm...</a>
[1]: <a href="https://maizure.org/projects/decoded-gnu-coreutils/csplit.html" rel="nofollow noreferrer">https://maizure.org/projects/decoded-gnu-coreutils/csplit.ht...</a>
Cool, I didn't know this existed. I think simple ones like `yes` can be very interesting just to see how the base code of a utility (that writes to stdout) is written.<p><a href="https://maizure.org/projects/decoded-gnu-coreutils/yes.html" rel="nofollow noreferrer">https://maizure.org/projects/decoded-gnu-coreutils/yes.html</a>
Kind of a fun list of basic utilities. I've been using UNIX for a loooong time and had never heard of e.g. `shred`, `shuf`, or `factor`. Makes me want to try<p><pre><code> sudo find / -type f -exec shred {} \;
</code></pre>
to see how far it gets before killing itself (on a VM or easily re-flashed machine of course).
I do like that /bin/true can actually fail and return false, which technically makes a "Not /bin/false" invocation more resilient: <a href="https://github.com/coreutils/coreutils/blob/master/src/true.c#L67">https://github.com/coreutils/coreutils/blob/master/src/true....</a> (and yes, I know it's the most unlikely thing, I just found it funny)