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
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
Buy this article as PDF
(incl. VAT)