Disclaimer: I tried searching for something like “useful programs”, “useful packages”, “useful tools”, “recommended packages”, etc. Don’t see any posts like that, if this is a duplicate, then it’s not intentional and my search skills have failed me.
Anyway, I was watching a YT video today and the guy launched a cool program in his terminal, I paused to see what he was running. It was btop, of course being new I never heard about it. Then I thought – how many cool tools/packages are there, which people use, but I am not aware of?
So what do you like? What do you install on a fresh install? What are the most useful tools in your belt? What can’t you live without on Linux?
Perhaps I’ll find something useful :)
Some applications I’ve not seen yet:
Terminal
https://ntorga.com/gzip-bzip2-xz-zstd-7z-brotli-or-lz4/
lz4- fastest compression/decompression (several GB/s); compression is good, but not amazing; very little CPU usagezstd- very fast compression, fast decompression (few GB/s compression; ~600MB/s for decompression; better or equal compression compared to zip, depending on level)cloc <folder>- gets lines of code for a project/foldergdu <optional location>- likencdu, but faster (written in go) - think TreeSize/WinDirStat for the terminalstat <file>- built-in application to show the modified, created, etc stats for a file.hyperfine- benchmark for binaries - run this in front of a command to have it run multiple times, and show some statistics.jpegli- great to recompress JPEG files into smaller filesizes, with only very few/minor visual effects.just- used with aJustfilein a project so I can runjustto see the commands, or runjust test,just clean,just ...to run project-specific commands.msedit- ye oldeedit.com, reborn! Feels a little bit cursed to use an MS text editor on the terminal, but it’s better for beginners than nano or micro or whatever.oxipng- lossless png compressionpngquant- lossy png compression (it forces the file to use a palette of n colors, which reduces the colors used, so it will affect your files, unlikeoxipng.upx- compress binary files (indeed - executables only)visidata- analyses csv files, and shows some stats. Like Data Wrangler for the terminaloxfmt- think “oxidized prettier” (file formatter for programmers)
GUIs
Whatpulse- I’ve been tracking my keypresses since 2005. not a terminal application, unlike the rest.fsearch- Linux alternative to Everything by Voidtools. It will be a little bit different, but it does the job.mlocatepackage, with thesudo updatedbandlocatecommands, if you prefer the terminalkeepassxc- password managerspeedcrunch- best GUI calculator, IMO. Just a bar for input, and a bunch of stored results above it. Use theansvariable to use the previous answer in the current calculation, likeans*2to multiply the previous answer. Or use variables, likex=5,y=2,x+y:7.
upx - compress binary files
Just to be clear, the parent poster means “binary as in executable binaries”, rather than “binary as in non-text”.
mlocate
This was replaced by plocate some time back in Debian, which IIRC was generally faster. Some distros used a compatibility package for some time; you may actually have plocate installed yourself.
May I request for the people that answer, don’t just answer with the name of the program, tell us what it does, why you like it, bonus points if you post a link to where to get it as well.
I’m a relatively new Linux user and I’ve been going through threads that ask the same sort of question and 90% of the answers are just “[app name]” and nothing else. I know I could just search it for myself, but be kind and write a few words extra.
fish - Ever since I’ve made the switch to Linux, the terminal has been part of the experience. And, honestly, I wouldn’t want it any other way. Besides its efficiency, I also very much enjoy how it automatically keeps track of everything I do within. I don’t get that functionality whenever I do something within a GUI. But bash left a lot to be desired in that regard; its history simply didn’t record everything. It was also pretty bare-bones; no syntax highlighting, no auto suggestions etc. Thus, after trying to bend bash (and later zsh) to my will and ultimately being dissatisfied with the janky mess I was left with, I finally gave in to at least give fish a honest try. The rest is history. Heck, fish is the very first thing I install on a machine.
I saw fish recommended for new users in openSUSE’s documentation. I want to try that. There is a way to switch to Bash for a particular script, right? I know that file-based scripts have the shebang line, so that’s a non-issue, but what if I have a Bash command I copied from the Internet and my default shell is fish?
Just prepend the command with “bash”. If the script changes environment variables and you need that to happen in your fish environment there is https://github.com/edc/bass
Thanks. So I guess if Bash is my default shell then
fish <command>also works by analogy.




