Linux Tools: A comprehensive List and Python CLI

Linux Tools: A comprehensive List and Python CLI

Linux Tools is a comprehensive list of applications and tools for Linux, as well as distributions.

Why I Built Linux Tools

As someone truly passionate about Linux and its ecosystem, I often find myself exploring various tools, applications, and distributions. Over time, keeping track of these became difficult to manage in a consistent or scalable way.

I wanted a solution that would not only organize this growing collection but also produce clean, structured output in formats suitable for documentation, websites, or integration into other tools. That’s how this project was born.

I built a Python-based CLI application to handle the data efficiently. It supports generation of the list in Markdown, Text, JSON, and YAML formats – making it easy to consume and repurpose. The app follows a simple MVC-inspired architecture and includes helper logic for formatting, tag handling, and input sanitization, etc.

Although the dataset is focused on Linux tools and distributions, the CLI itself is completely generic. You’re welcome to fork the project and use it to manage your own structured list – whether for another platform, topic, or domain.

The List

I will actively maintain and update the list as I discover new tools, remove outdated ones, and refine existing entries. This project reflects my ongoing journey, and I intend to keep it current and useful.

You can always find the newest version on GitHub:

The CLI Application

The heart of the project is a Python CLI application that offers:

  • Adding and deleting sections, categories, and tools.
  • Alphabetical sorting by default, with manual reordering options.
  • Output generation in Markdown, Text, JSON, and YAML formats.
  • An MVC-like project structure for clean code organization.

The application ensures consistent formatting and data integrity by sanitizing all inputs. Section and category names are converted to title case while preserving acronyms and handling minor words like “and”, “or”, and “the” appropriately. Tool titles follow similar logic with intelligent capitalization. Descriptions are normalized to start with a capital letter, URLs are lowercased and auto-prefixed with https:// if missing, and all tags are stored in lowercase. This guarantees clean, structured output across all supported formats.

Screenshot

Getting Started

Clone the repository:

git clone https://github.com/paulsorensen/linux-tools.git
cd linux-tools

Install dependencies:

pip install -r requirements.txt

ruamel.yaml is the only required third-party dependency.

Run the CLI application:

./run.sh

Or

python linux-tools.py

After using the CLI, you’ll find the generated outputs in the project root.

Explore the Project

linux-tools

https://github.com/PaulSorensen/linux-tools

Comprehensive list of Linux applications, tools, and distributions – powered by a generic Python CLI that lets you manage and export your own custom lists in multiple formats.

Last Updated: June 5, 2025

Categories: Tools