Language Selection

English French German Italian Portuguese Spanish

A smarter CLI - Innovation by Simplicity

Good command line tools are more important than ever and not just a relict of ancient times in comparison to RIA or GUI applications. Experienced system administrators appreciate their power in sophisticated shell scripts and could probably not manage their environments without them. The question is how can we make command line tools smarter and more powerful than today? This article discusses some ideas and potential implementations always keeping in mind "Do not reinvent the wheel" and "keep it simple".

In the world of free software which made tremendous progress during the last 25 years the CLI (Command Line Interface) never lost it's importance and is still a standard component of well designed applications which expose their APIs and functionality through programming libraries (e.g. in C/C++/C#, Java,...), scripting wrappers (Perl, Python. Ruby, PHP, JavaScript, Tcl, Groovy, Boo, Lua, Lisp, Guile,...), command line utilities, REST/SOAP/XML-RPC/JSON-RPC/D-BUS interfaces and interactive GUI/Web applications.

From a more modern perspective command line tools and the interrelated mini or little languages (e.g. check Eric Raymond's book about The Art of Unix Programming) are special cases of Domain-specific languages (DSL) with the additional focus on interactivity and do not look that old fashioned any more! The syntactic resemblance of command line expressions with functional language constructs e.g. in Haskell or Scala shows further paths of investigation and potential innovations.

The past and future of command line tools




More in Tux Machines

ExTiX 15.2 Is Based on Ubuntu 15.04 and Debian 8 Jessie, Features LXQt and KDE Editions

After announcing his new RaspArch distribution that helps users run the powerful Arch Linux distribution on a Raspberry Pi 2 Model B computer board, Arne Exton informed Softpedia about the immediate availability for download of the ExTiX 15.2 Linux operating system. Read more

RaspArch Offers an Easy Way to Run Arch Linux on Raspberry Pi 2

Arne Exton had the pleasure of informing Softpedia about a new distribution of GNU/Linux created from the ground up for the Raspberry Pi 2 tiny computer board and called RaspArch. Read more

Leftovers: Software

  • goobook: Command-line contacts
  • Calibre eBook Editor Gets Much Better Support for DOCX
    Calibre, a complete application to edit, view, and convert eBook files, has been updated yet again, and the developer has added a number of new features and various other fixes.
  • GNOME Builder - 3.16.2
    I released 3.16.0 a couple weeks ago without much fanfare. Despite many months of 16-hour days and weekends, it lacked some of the features I wanted to get into the "initial" release. So I didn't stop. I kept pushing through to make 3.16.2 the best that I could.
  • PacketFence v5.0 released
    The Inverse team is pleased to announce the immediate availability of PacketFence 5.0.0. This is a major release with new features, enhancements and important bug fixes. This release is considered ready for production use and upgrading from previous versions is strongly advised.
  • What are good open-source log monitoring tools on Linux
    In an operating system, logs are all about keeping track of events, be it critical system errors, resource usage warnings, transaction history, application status, or user activities. These logs, which are stored as (text or binary) files in the system, are useful for system auditing, debugging and maintenance. However, with so many different system entities generating log files, and even at growing rate, the challenge as a system admin is to how to "consume" these log files effectively.
  • Apache Fortress Core 1.0-RC40 released !
  • Say Hello to Open Source Puppet 4!
    Production-ready Open Source Puppet 4 is now available! We’re excited to announce new features and enhancements that will extend your use of Puppet for faster, more consistent management of server configurations. We’ve added capabilities to help you save time, reduce errors, and increase reliability.
  • textprint: Visually impressive, in only 18K
    textprint takes a flat data file as input, and arranges it graphically to fit the terminal without distorting the image. From there, textprint goes from zero-to-60, in about two seconds.