FOSSPicks

fd

find must be one of the most widely used commands on the Linux command line. It helps you find files via their names and various attributes wherever they're hiding on your system. But it's not the easiest or most efficient command to use, with the all important --name argument sometimes being difficult to remember, along with where you should put the pathname. fd is a small, efficient, and convenient alternative. Not only is it shorter to type, it's also easier to use. Type fd followed by some text you think is part of a filename, and you'll be given results recursively from your current command-line location. It's case insensitive, by default, but will intelligently switch to case sensitivity if you include mixed case in your search. Anecdotally, it all seems much quicker than using find, and it's certainly less of a burden on brain cells. And even if you forget all its possible arguments, fd will show you recursively all the files from your current location – the fd equivalent of typing ls -R.

To augment your search by searching only for specific extensions, you can add the -e argument – such as -e png. The inverse of this search is accomplished by making the e a capital E. By default, the command will also ignore files in .gitignore, all of which is easily remembered. So too is the -x or --exec argument, which sends the result of your find into a command that can be executed in parallel. This is perfect for passing images through the convert command, for instance, or converting FLAC audio files into MP3s. If you need more power, you can use regular expressions, and you can even set up environmental variables to use fzf fuzzy search results. All of which makes fd a great alternative to find.

Project Website

https://github.com/sharkdp/fd

Another reason why fd makes a great alternative to find is that its output is color-coded and easier to read.

Audio player

Strawberry

There should be a special name for a project that's a fork of a fork, or a fork of a fork of a fork. This is what the Strawberry Music Player is. It's a fork of KDE's rather excellent music player, Clementine, which is itself a port/fork of an old-school 1.4 version of Amarok, the music player built for KDE 4. The Amarok fork happened because Amarok 2.0 had taken the project away from being a humble music player and into multimedia, multi-distraction territory, and Clementine developers wanted to continue along the original more simplistic track. Strawberry isn't quite such a dramatic split from Clementine, but its fork was inspired by similar idealism – supporting the ALSA options loved by audiophiles. It has since gone on to focus on the typical needs of audiophiles, who usually have a large local audio collection they wish to manage and maintain from their audio player rather than streaming music from online sources.

As you'd expect, the application itself looks and operates in a very similar way to Clementine, but there are significant differences in the formats and output options. Device configuration, for example, promises bit-perfect playback. This can only be done if Strawberry is passing the raw audio data through the ALSA audio layer without any kind of interference, volume changes, submixing, or resampling, which is often difficult to accomplish outside of ALSA. This is vital if you're using an external DAC, for example, because you want the same binary from your audio file reaching the converter itself. This is also true for high-bitrate files, or surround-sound files, all of which need to be passed to the DAC unfettered. This is what Strawberry does, and it worked well with our high-quality DAC, although we don't really consider ourselves audiophiles, and the native decoding sounded just as good.

Project Website

https://www.strawbs.org/

With an emphasis on audio quality and local files, Strawberry can also stream high quality audio from Tidal.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Game Engines and Platforms

    New game engines and platforms usher in a whole new era for Linux gaming.

  • GameHub

    If you regularly buy games through Steam, GOG, and Humble Bundle, GameHub can help you keep them organized by bringing them all together into a single library.

  • FOSSPicks

    This month Graham dives into LMMS, Name Generator, Heaptrack, Binaural Audio Editor, Meshroom, Palapeli, and much more!

  • FOSSPicks

    Graham explores GnuCash 3, Kawaii-Player 3.3.1, tig, HandBrake 1.1.0, GameMode, XLEngine, and more!

  • SteamOS

    Valve has big plans for SteamOS, the new Linux that will run on the first generation of Steam machine gaming consoles.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95

News