Selected Command Line Tools

This compilation began when two tools were ejected from another place, only for some more to join them afterwards. The mix is eclectic, allowing for entries to arrive from disparate use cases. Hopefully, this is the beginning of something bigger.
This security tool monitors log files for repeated failed login attempts and automatically blocks offending IP addresses by updating firewall rules for a configurable period. The software requires Python 3.5 or later and can be installed through Linux distribution package managers or directly from GitHub by cloning the repository and running the setup script. Configuration is managed through files in the /etc/fail2ban directory, with commands sent via the fail2ban-client interface rather than directly to the server. The project supports both IPv4 and IPv6 address matching and comes preconfigured to read standard log files for common services like SSH and Apache, though it can be customised to monitor any log file and detect any specified error pattern. While the tool reduces the rate of incorrect authentication attempts, the developers emphasise that it cannot eliminate risks from weak authentication and recommend implementing two-factor or public/private key authentication for genuine service protection. The software is distributed under the GNU General Public Licence version 2 and has been community-driven for several years, with installation placing executables in /usr/bin and configuration in /etc/fail2ban, though system service scripts require manual installation.
This is very like ImageMagick (see below) with its main selling point being that it's faster than its parent for the purpose of command line image editing; my own testing seems to support this so far. The commands that you use are similar to ImageMagick too, apart mainly from adding the gm command before the likes of convert and others. Speaking of convert, the GraphicsMagick version has yet to support the -annotate switch, so -draw needs to be used in its place.
A package manager designed for Unix-like systems, this tool simplifies the installation and maintenance of software by automating dependency resolution and updates, initially developed for macOS in 2009 to streamline the process of compiling and installing open-source tools, which previously required manual handling of source code and dependencies. It extends its functionality to Linux through a merged project, allowing users to install command line tools, libraries and graphical applications with straightforward commands, while isolating software in a dedicated directory to ensure safe upgrades and consistent environments across different operating systems. Its structure includes formulae for defining installation processes, casks for managing graphical applications and taps for accessing additional repositories, supporting a wide range of development tools and frameworks and facilitating the setup of portable toolchains and cross-platform development environments.
Using a command line tool for image processing may seem counter-intuitive, but there are operations where you need not have much user intervention. Included among these is image resizing and conversion between file formats, and yours truly has done both. Processing many files at a stroke comes naturally to this very useful and talented piece of software, too.
PDFtk is a command-line tool developed by Sid Steward of PDF Labs that enables users to perform a wide range of PDF operations directly from a terminal or command prompt. It supports tasks such as collating scanned pages, encrypting and decrypting documents using either 40-bit or 128-bit encryption, merging multiple files, removing specific pages and rotating pages or entire documents. It can also burst a single document into individual pages, repair corrupted files, decompress page streams for manual editing and generate reports on document metadata and bookmarks. Passwords and permissions can be configured to control access and restrict or allow actions such as printing.
This tool provides a terminal-based interface for monitoring CPU temperature, frequency, power and utilisation, along with built-in stress testing capabilities that require no external dependencies. It supports multiple installation methods including pip, package managers for various Linux distributions and direct source code execution, with optional enhancements through numpy for improved stress performance. Users can configure thresholds for triggering custom scripts, save settings and adjust display options within the interface. The application relies on psutil for hardware data and urwid for graphical rendering, functioning on UNIX-like systems and compatible with specific hardware such as Intel and AMD processors. Additional features include command-line options for logging, exporting data to CSV or JSON formats and running stress tests with external tools like stress-ng.
This open-source command line utility renders HTML pages into PDF documents or various image formats using the Qt WebKit rendering engine, operating entirely without requiring a graphical display or display service. Users can download precompiled binaries or build from source, then process HTML documents by passing them through the tool with a simple command. The software offers numerous command line options for customisation, and also provides a C library for developers who need to integrate the functionality directly into their applications. Practical applications include generating invoices, creating birthday cards and capturing web pages for archival purposes. The project operates under the LGPLv3 licence and is maintained by Ashish Kulkarni, with original development by Jakob Truelsen.