FOSSPicks
CliFM
Despite the terminal being the place for copying, renaming, deleting, and organizing files, text-based file managers have always been popular. They can help remove some of the jeopardy in using commands to do important things to your data, especially when multiple files or directories are involved, and a file manager is obviously more visual. This can make it easier to navigate and explore filesystems you may not be familiar with. Miguel de Icaza famously started his career by writing Midnight Commander for Linux in 1994, before starting the Gnome project in 1997, and his venerable mc
command is still the one many of us resort to when we want to visualize files and directories on the command line. But as entrenched in our collective history as Midnight Commander is, there's always room for a command-line tool that tries to take a different approach.
The big difference with CliFM is that it doesn't use TUI to build a text-based representation of a graphical interface. As a result, its interface feels a lot more authentic and true to traditional Unix tools and philosophy – and it does this without forgoing either intuitiveness or capabilities. The main view presents a numbered list for the directories and files in the current location. Selecting a number and pressing Return will either enter a directory or present a context-sensitive menu for files. If you select an archive, for example, you can choose between extracting, listing, mounting, and repacking the files it contains, and it's the same for lots of other supported file types. You can also issue commands, such as m
, c
, or r
to move, copy, or delete a numbered file or directory respectively. Multiple entries can be selected interactively, or with the s
command, and it all feels like playing an ancient interactive fiction game with your filesystem. Which isn't a bad thing!
Project Website
https://github.com/leo-arch/clifm
Markdown linting
markdownlint
Using the Markdown syntax for writing text documentation has become almost the default for many projects and writers. It's easy to learn and understand, and it treads lightly on the readability of the raw document when you don't have a Markdown preview. You don't need to understand Markdown to know which parts are titles, lists, or links to other pages, and Markdown can be ingested by many services and turned into beautifully rendered web pages or structured documentation. It's GitHub's default for good reason. But there also are a couple of big problems with Markdown, and they're related: There's no agreed global Markdown standard and there are many tweaked derivatives of definitions that become standards in their own domain. Even GitHub supports two, kramdown and its own GitHub Flavored Markdown (GFM).
Despite this confusion and complexity, and its use in development projects with their own CI systems, there are very few tools that can check the validity of Markdown according to your own whims and requirements. However, markdownlint is one of these few, and it's also the most adaptable for multiple standards of Markdown. It's a command (typed as mdl
) that takes a Markdown file as an argument and reports back on any problems with the syntax used within the file. Each problem is reported with a line number, error code, and text description, such as "Inline HTML" or "Lists should be surrounded by blank lines." There are 47 such rules, from correctly incrementing headings to ending a file with a single newline character, and they comprehensively cover the majority of issues you're likely to encounter. Broken rules are called style issues by markdownlint and, like Markdown itself, styles can be added or created to match your preferred flavor of Markdown. The syntax for this is also straightforward, such as rule 'MD013', :line_length => 500
to test for lines longer than 500 characters. All of this is ideal for integration with a CI system that can check every commit, but it's equally useful on the command line and a great solution if you ever do any work with Markdown.
Project Website
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Gnome 48 Debuts New Audio Player
To date, the audio player found within the Gnome desktop has been meh at best, but with the upcoming release that all changes.
-
Plasma 6.3 Ready for Public Beta Testing
Plasma 6.3 will ship with KDE Gear 24.12.1 and KDE Frameworks 6.10, along with some new and exciting features.
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.
-
HashiCorp Cofounder Unveils Ghostty, a Linux Terminal App
Ghostty is a new Linux terminal app that's fast, feature-rich, and offers a platform-native GUI while remaining cross-platform.
-
Fedora Asahi Remix 41 Available for Apple Silicon
If you have an Apple Silicon Mac and you're hoping to install Fedora, you're in luck because the latest release supports the M1 and M2 chips.
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.