Favourite Lesser Known Programs

#!/bin/bash

echo "fd filename path optional glob"

if [ "$1" != "" ]; then
	filen=$1
else	
	echo -n "Filename to look for: "
	read filen
fi

if [ "$2" != "" ]; then
	dir=$2
else
	echo -n "Path to start: "
	read dir
fi

cmd="fd -H -l ""$filen ""$dir "

echo -n "Turn glob on: "
read glob
if [[ "$glob" == "y" || "$glob" == "Y" ]]; then
	cmd="fd -H -l -g ""$filen ""$dir "
fi

echo $cmd
eval $cmd

A quick script I wrote to prompt for the input :smiley:

1 Like

If you find it useful, that’s great, but I would find it annoying, because it outputs its prompts to the stdout, so piping the results to, say, dmenu or redirecting it to a file would not work well.

That bloat correspond to additional features, but I agree, 99 % of the time fd is enough and awesome. The same goes for rg (Ripgrep) or perhaps ag (The Silver Searcher) compared to grep (GNU Grep): for ordinary CLI use rg/ag does everything, but for some scripts I need grep.

Also fzf (Command-line fuzzy finder) is also awesome, it is basically dmenu/rofi for the CLI, but even more powerful on some tasks due to the optional preview pane.

Edit

Remembered a few more of my favorite CLI/TUI applications, some less known than others. While some have been mentioned before, most are new to this thread, and I thought it would be nice to have all of them in one place.

Command Complements / Replaces Alternative Mention
alacritty Any terminal Any terminal
fd find ? Kresimir
fzf ? dmenu/rofi (GUI) keybreak
rg (Ripgrep) grep ag (The Silver Searcher) freggel.doe
bat cat ? flyingcakes
hexyl hexdump ? j-james
exa [2] ls lsd (LSDeluxe)
delta diff Many
diskus du Some, but not this minimal
broot [2] ? CLI file managers
bottom top Many, but htop [2] and bpytop are popular fbodymechanic (bpytop)
starship [2] The prompt (PS1) Pure POSIX greatness
3 Likes

I think I’ll install rg, it seems pretty awesome. Thanks for the tip. But yes, for scripts, especially those you intend to share with others, it’s best to use the standard GNU utilities that are present on every GNU/Linux system and always have the same syntax.

Good enough for me. I use EndeavourOS, btw. :wink:

1 Like

Intro

Remembered a few more of my favorite CLI/TUI applications, some lesser known than others. While some have been mentioned before, most are new to this thread, and I thought it would be nice to have all of them in one place.

All of these happen to be written in the great (fast and secure among other things) Rust programming language, the language of most alternatives that are not in Rust are mentioned. I personally use all of these except for broot, starship, and the alternatives.

:crab: Rusty Table :crab:

Command Complements Alternative Mention
alacritty Any terminal Any terminal
fd find ? Kresimir
fzf N/A dmenu/rofi (GUI) keybreak
rg (Ripgrep) grep ag (The Silver Searcher in C) freggel.doe
bat cat ? flyingcakes
hexyl hexdump ? j-james
exa [2] ls lsd (LSDeluxe)
delta diff Many
diskus du Some, but not this minimal
broot [2] N/A CLI file managers
bottom top Many, but htop [2] in C and bpytop in Python are popular fbodymechanic (bpytop)
starship [2] The prompt (PS1) Pure POSIX greatness
3 Likes

delta :metal:

I don’t think zoxide has been mentioned here yet. It’s an awesome cd replacement/file system navigator. I use it all the time for getting at deeply nested directories quickly.

2 Likes

After got fed up with YouTube shenanigans, found this alternative.
https://freetubeapp.io/
Free app, uses the YouTube API, minus tracking and other thing. Built in downloader.

4 Likes

Yep.

:wink:

6 Likes

Oh Man, I understand. Running Gentoo for several months some time ago I was at the same point. Everytime I spotted “qtwebengine” in the updates I thought “oh damn, another night of compiling” :smile:

As a student, I use llpp daily, and I really love it.
It is just so fast and smooth, and very customisable. While there is somewhat of a learning curve to its keybindings, once you master it, it is probably the most efficient and versatile (though features-lean) PDF reader out there.

3 Likes

Yes, llpp is virtually instant - and I find a right click to open Sedja the best (and very simple to use) option for editing pdf’s with Thai language content where most others fail miserably.

1 Like

I like chatty, a twitch irc client. It makes it easy moderate twitch streams or just keeping up with my own chat. You get a notification when someone tags me I often tell people I am around and they can jsut tag me if anything happens in the stream I need to take care of. It is also highly customizable.

f2a46f5c1497d429e9b74d54dd443275

It can be found in the AUR as well as the beta version.

2 Likes

Consider also dust as an actively maintained alternative to du (also Rust).

2 Likes

Thanks for the suggestion! Adopted.

1 Like

alias ls=‘exa’
alias la=‘exa --long --tree’
alias cat=‘bat’
exa-bat

9 Likes

I personally am using Weechat for a long time now. It’s highly costumizable by using scripts in perl, python and some more languages. It runs in a terminal und can be easily configured. The are also extensions for tox and discord protocol.

But I’ll give chatty a try for sure. :wink:

1 Like

That looks pretty cool, thank you for sharing. I might consider that on my i3wm setup on my laptop. I feel like CLI apps are convenient when using just a WM.

For the curious about the natural world around us: ever wonder if that star you see in the early evening is actually a star or a planet or want to find out what constellation you see out your back window in February? Have a look at stellarium. I can’t give enough praise to this program and thanks to its developers.

9 Likes

Rust - goin’ crazy. Now we have lsd which is deluxe ls.

Compare ls exa lsd

try these:

alias ls=`lsd --group-dirs first`
alias lt=`lsd --long --tree`

Also update .bashrc or .zshrc:

# Automatically list when changing directory
cd() {
    builtin cd "$@" && lsd --group-dirs first
}

Then cd ~

Sadly piping (e.g. lsd -l |more or exa -l |more) loses the colours…

UPDATE: forget it - exa is just much better :wink: