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.