Terminal Utility Mega list!

Steamymoomilk@sh.itjust.works to Linux@lemmy.ml – 536 points –

[Browsers]

Browsh

old school looking terminal web browser with image support that runs on a modified version of Firefox https://www.brow.sh/

Lynx

Terminal web browser (can configure to use MPV or YouTube-dl for videos) https://lynx.browser.org/

Links

Terminal based web browser a lot like lynx http://links.twibright.com/

suggested by https://sh.itjust.works/u/Buck@lemmy.world

Links2

Links 2 the electric boogaloo, it is written in C with ncurses https://github.com/spartrekus/links2

suggested by https://sh.itjust.works/u/Siegfried@lemmy.world

[System Monitoring]

uptimed

System uptime record daemon that keeps track of your highest uptimes https://github.com/rpodgorny/uptimed/

suggested by https://sh.itjust.works/u/Steamymoomilk

TTYload

color-coded graph of load averages over time http://zhar.net/projects/shell/terminal-colors

suggested by https://sh.itjust.works/u/Steamymoomilk

Bottom

shows CPU cores, CPU usage, Memory usage, Disks, Disk usage, Processes, Network, Temperature. https://github.com/ClementTsang/bottom

gdu

Pretty fast disk usage analyzer written in Go.

Gdu is intended primarily for SSD disks where it can fully utilize parallel processing. However HDDs work as well, but the performance gain is not so huge.

https://github.com/dundee/gdu

suggested by @stepanzak@iusearchlinux.fyi

neofetch

display your *NIX and system info with one command! https://github.com/dylanaraps/neofetch

nvtop

Shows Program usage, GPU usage, GPU memory, Clock speeds, Power, Temperature, https://github.com/Syllo/nvtop

Htop

generic terminal system monitor and is very basic Shows CPU core util, Memory, Swap, Uptime, Load avrage, Tasks https://htop.dev/

duf

Shows disks space, Mounted point, File system type, Size https://github.com/muesli/duf

Pydf

Check disk space usage with colored output https://www.geeksforgeeks.org/pydf-check-disk-space-usage-with-colored-output/

suggested by https://sh.itjust.works/u/easeKItMAn@lemmy.world

Glacees

A lot like Htop or top but looks different and is cross platform. https://github.com/nicolargo/glances

Btop

Btop is like Htop but with customizability cranked to 11, it shows by default, Memory load, Available Memory, Cached Memory, Free Memory, Network interface, Network Download, Network Upload, IP address, Running Programs, How much memory the Programs are using as well as CPU, CPU cores, CPU util, CPU Temperature, and the time. https://github.com/aristocratos/btop

Suggested by https://sh.itjust.works/u/floofloof@lemmy.ca

[Text Editors and file location]

yq

a lightweight and portable command-line YAML, JSON and XML processor. https://github.com/mikefarah/yq suggested by https://sh.itjust.works/u/dotslashme@infosec.pub

fd

Superfast file finder Via cmd line. https://github.com/sharkdp/fd

Autojump

autojump is a faster way to navigate your filesystem. It works by maintaining a database of the directories you use the most from the command line. https://github.com/wting/autojump

suggested by https://sh.itjust.works/u/chasingtheflow@lemmy.world

fzf

Fuzzy command line finder https://github.com/junegunn/fzf

mcfly

quickly look through your shell history, to find that one command you're too lazy to type again (I do it as well LMAO) https://github.com/cantino/mcfly

Atuin

Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server. (its like mcfly but better objectively)

https://github.com/atuinsh/atuin suggested by https://sh.itjust.works/u/stepanzak@iusearchlinux.fyi

TLDR

a community driven easy man page finder. (life saver) https://github.com/tldr-pages/tldr

Nano

The default text editor, not stupid complicated not. not very configurable but does the job https://www.nano-editor.org/

Micro

it's like Nano but is static and has no dependency as well as plugin support. https://micro-editor.github.io/

Suggested by https://sh.itjust.works/u/jelloeater85@lemmy.world

Helix

It's a post-modern text editor that is similar to VIM or Neovim the main difference is it runs on Rust meaning No JavaScript, Electron or Vim Script and is highly customizable!

https://helix-editor.com/ Suggested by https://sh.itjust.works/u/ultra@feddit.ro

Emacs

Behold the Church of Emacs, its like nano and vim had a child. its configurable and somewhat simple https://www.gnu.org/software/emacs/

Kakoune

A modal terminal text editor based on Vi. Kakoune is based on selection before action and is committed to the unix Philosophy https://github.com/mawww/kakoune

suggested by https://sh.itjust.works/u/RAM@discuss.tchncs.de

Bim

Bim aims to be lightweight and featureful with no external* dependencies, providing a modern editing experience in a lightweight, extensible package and is based on VIM https://github.com/klange/bim

suggested by https://sh.itjust.works/u/neurospice@lemmy.dbzer0.com

Vim

The master-race of text editors that has a learning curve but is very configurable as well as plugins, to the point so people argue why need anything other than VIM https://www.vim.org/

Neovim

it's like vim and Oh my ZSH had a child, its got a lot of configurability and is ment to be more user-friendly https://neovim.io/

[Command utilities]

Tmux

its a CLI window, manager with a lot of bits and bobs. its actually a terminal multiplexer which is a fancy word i don't understand :D Also the keybindings are hard to remember and would highly recommend https://github.com/tmux-plugins/tmux-pain-control suggested by https://sh.itjust.works/u/ptrckstr@lemmy.world

https://github.com/tmux/tmux/wiki

tmate

its a fork of tmux that lets your share your terminal over LAN or the internet https://tmate.io/ Suggested by https://sh.itjust.works/u/Steamymoomilk

Terminal colors

It automatically detects 8, 16, 88, 256 color capabilities (via ncurses)
and displays the appropriate color charts.

http://zhar.net/projects/shell/terminal-colors suggested by https://sh.itjust.works/u/Steamymoomilk

byobu

its alot like tmux with added features https://www.byobu.org/ suggested by https://sh.itjust.works/u/Geert@lemmy.world

zellij

Alot like Tmux and has plugin support https://github.com/zellij-org/zellij suggested by https://sh.itjust.works/u/ptrckstr@lemmy.world

jq

jq is a lightweight and flexible command-line JSON processor akin to sed,awk,grep, and friends for JSON data. It's written in portable C and has zero runtime dependencies, allowing you to easily slice, filter, map, and transform structured data. https://github.com/jqlang/jq suggested by https://sh.itjust.works/u/ptrckstr@lemmy.world

zoxide

faster/easier cd lets you quickly jump to places in your filesystem. E.g. z pic will put you in ~/Pictures. https://github.com/ajeetdsouza/zoxide

suggested by https://sh.itjust.works/u/flamingos@feddit.uk

ncdu

shows how much disk space is used by each directory, can also explore subdirectories and delete files suggested by https://sh.itjust.works/u/Hexagon@feddit.it

neomutt

email via cli! https://neomutt.org/

suggested by https://sh.itjust.works/u/gaael@lemmy.world

tig

interactive terminal UI for git with lots of functionality https://github.com/jonas/tig

suggested by https://sh.itjust.works/u/Hexagon@feddit.it

pass

the standard Unix password manager https://www.passwordstore.org/ suggested by https://sh.itjust.works/u/ptrckstr@lemmy.world

Starship

The minimal, blazing-fast, and infinitely customizable prompt for any shell! (its lets you customize your shell) https://github.com/starship/starship suggested by https://sh.itjust.works/u/ptrckstr@lemmy.world

Lazygit

Terminal UI for git https://github.com/jesseduffield/lazygit Suggested by https://sh.itjust.works/u/ptrckstr@lemmy.world

K9S

Kubernetes CLI To Manage Your Clusters In Style! https://k9scli.io/ suggested by https://sh.itjust.works/u/dotslashme@infosec.pub

Lazydocker

Terminal ui for docker, Shows CPU and memory, and what's running and where its pulled from. https://github.com/jesseduffield/lazydocker

Suggested by https://sh.itjust.works/u/ptrckstr@lemmy.world

RM-improved/RIP

Use RM but everything goes to /tmp folder https://github.com/nivekuil/rip

suggested by https://sh.itjust.works/u/ptrckstr@lemmy.world

Trashy

fast and light weight RM that moves items to trash folder and has colorized outputs like FD. https://github.com/oberblastmeister/trashy

suggested by https://sh.itjust.works/u/stepanzak@iusearchlinux.fyi

tealdear

tldr but in rust (tldr lets your easily find manpages/examples and usage for terminal command) https://github.com/dbrgn/tealdeer

suggested by https://sh.itjust.works/u/ptrckstr@lemmy.world

Navi

navi allows you to browse through cheatsheets (that you may write yourself or download from maintainers) and execute commands. Suggested values for arguments are dynamically displayed in a list. https://github.com/denisidoro/navi

suggested by https://sh.itjust.works/u/stepanzak@iusearchlinux.fyi

Cheat

this program allows you to create and view interactive cheatsheets on the command-line. https://github.com/cheat/cheat suggested by https://sh.itjust.works/u/2kool4idkwhat@lemdro.id

gomi

its RM except has a trash can so you don't permitly delete something by accident
https://github.com/babarot/gomi suggested by https://sh.itjust.works/u/2kool4idkwhat@lemdro.id

broot

a different than ranger/lf approach to navigating folders https://github.com/Canop/broot suggested by https://sh.itjust.works/u/2kool4idkwhat@lemdro.id

mdr

a markdown viewer https://github.com/michaelmure/mdr suggested by https://sh.itjust.works/u/2kool4idkwhat@lemdro.id

eza

modern ls, with cool features like file icons https://github.com/eza-community/eza suggested by https://sh.itjust.works/u/2kool4idkwhat@lemdro.id

Rtorrent

a terminal based torrent client https://rakshasa.github.io/rtorrent/

suggested by https://sh.itjust.works/u/gunpachi@lemmings.world

ouch

It's a CLI tool for compressing and decompressing for various formats. such as .tar .zip 7z .gz .xz .lzma .bz .bz2 .lz4 .sz .zst .rar https://github.com/ouch-org/ouch

suggested by https://sh.itjust.works/u/crunchpaste@lemmy.dbzer0.com

bat

modern cat, with features like syntax highlighting, line numbers, etc https://github.com/sharkdp/bat suggested by https://sh.itjust.works/u/2kool4idkwhat@lemdro.id

thefuck

hey you!, yeah you I DIDNT TYPE THAT COMMAND WRONG! with thefuck it fixes when you type a prevoius command wrong https://github.com/nvbn/thefuck

suggested by https://sh.itjust.works/u/tourist@lemmy.world

[Shells]

Nushell

it is a new type of shell that has some really cool features such as more detailed error messages and displays licenses via HTTP get, git or curl As well as a more clean UI for ls. https://www.nushell.sh/ suggested by https://sh.itjust.works/u/callyral@pawb.social

Bash

its the default and lots of programs use it, https://www.gnu.org/software/bash/

ble.sh

Bash Line Editor, bash Shell with a few tweaks https://github.com/akinomyoga/ble.sh suggested by https://sh.itjust.works/u/iusearchbtw@lemmy.sdf.org

Mosh

Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes. (sadly there is no pit) https://mosh.org/

suggested by https://sh.itjust.works/u/Bitflip@lemmy.ml

DASH

a POSIX-compliant /bin/sh that is fast and simple http://gondor.apana.org.au/~herbert/dash/

suggested by https://sh.itjust.works/u/callyral@pawb.social

Fish

its like bash but has auto correct for typing https://fishshell.com/

Zsh

its like vim for a shell, it has lots of bells and whistles and is very customizable. https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH

[File Browsers]

Midnight Commander

Midnight commander is a file Browser that has 2 panes where you can do basic file manager stuff such as Copy, Pasting, moving files, and Deleting all Via Terminal!

https://midnight-commander.org/

Suggested by https://sh.itjust.works/u/logir@feddit.it

Fm.awk

File manager written in awk https://github.com/huijunchen9260/fm.awk/ Suggested by https://sh.itjust.works/u/Steamymoomilk

lmf

st File Manager is a powerful file manager for the UNIX console. It has a curses interface and it's written in Python v3.4+. https://inigo.katxi.org/devel/lfm/

Rover

Rover is a small file browser that aims to be simple, fast and portable. https://lecram.github.io/p/rover/ suggested by https://sh.itjust.works/u/Steamymoomilk

LF

lf (as in "list files") is a terminal file manager written in Go with a heavy inspiration from ranger file manager. https://github.com/gokcehan/lf

suggested by https://sh.itjust.works/u/callyral@pawb.social

Ranger

Alot like Midnight Commander but running on VIM, and just like VIM it is highly customizable
https://github.com/ranger/ranger

----added note ranger should be installed via git most distros have 4+ older versions and lots of bugs

Suggested by https://sh.itjust.works/u/logir@feddit.it

nnn

nnn (n³) is a full-featured terminal file manager. It's tiny, nearly 0-config and incredibly fast. https://github.com/jarun/nnn suggest by https://sh.itjust.works/u/gunpachi@lemmings.world

[Fun/games]

lolcat

make your terminal rainbow https://github.com/busyloop/lolcat

suggested by https://sh.itjust.works/u/GentooIsBased@lemmy.ml

Cowsay

make a cow say something in Terminal! https://github.com/piuccio/cowsay

Suggested by https://sh.itjust.works/u/bizdelnick@lemmy.ml

Bastet

Tetris clone via terminal https://github.com/fph/bastet/ suggested by https://sh.itjust.works/u/pastaPersona@lemmy.world

Cmatrix

make your terminal look like your mr.hacker man https://github.com/abishekvashok/cmatrix suggested by https://sh.itjust.works/u/tourist@lemmy.world

spotify-tui

Spotify CLI frontend (Spotify via terminal) https://github.com/Rigellute/spotify-tui

suggested by https://sh.itjust.works/u/tourist@lemmy.world

cacademo

plays a bunch of neat ASCII animations https://linux.die.net/man/1/cacademo

suggested by https://sh.itjust.works/u/tourist@lemmy.world

figlet

ASCII text art. http://www.figlet.org/

toilet

turn text into ASCII art. http://caca.zoy.org/wiki/toilet

Yewtube

a cli youtube piped client, stream, download and play audio from YouTube piped. https://github.com/mps-youtube/yewtube

suggested by https://sh.itjust.works/u/Steamymoomilk

Cmus

cmus is a small, fast and powerful console music player for Unix-like operating systems. https://cmus.github.io/

suggested by https://sh.itjust.works/u/Siegfried@lemmy.world

cbonsai

Little ASCII art bonsai tree that can be animated with the -l flag https://gitlab.com/jallbrit/cbonsai suggested by https://sh.itjust.works/u/tourist@lemmy.world

tty-clock

a digital clock via your terminal! https://github.com/xorg62/tty-clock

I would love to add more useful and cool programs to this list! Feel free to leave suggestions to add! I really want to make this post a really good place to find cool new programs

I would love to add more useful and cool programs to this list! Feel free to leave suggestions to add! I really want to make this post a really good place to find cool new programs

[messagers]

Irssi Irssi is completely themeable IRC client, aswell as easy to write protocol modules in C. https://irssi.org/ suggested by https://sh.itjust.works/u/dotslashme@infosec.pub

links2

116

s/ZHS/Zsh

You got some letters mixed up. Also, only the 'Z' should be capitalized. See https://www.zsh.org/.

I'd add micro to the list of editors. It's really nice step up from nano.

Added to the list! And it looks pretty neat, I will be playing with it later cheers and thanks!

Nice. I'd never heard of micro, but it looks good. yoink

I really like Micro. I wish my fingers could forget all the nonsense Nano keybinds

Can we move this to some community wiki? I think a lot of people can benefit from it and we can expand it with our own recommendations. Something like awesome-cli

baca is a terminal based epub reader. Quite nice.

I've been looking for a good TUI epub reader. I went to install it from the AUR and stopped when I saw it wanted to install 247 dependencies. Wow!

hmm, not sure why baca would need so many requirements. I installed baca using pip as per (https://github.com/wustho/baca), on a hedless ubuntu based server. Maybe on Arch it would need to install / update python packages?

You could also try epy (https://github.com/wustho/epy) which is also a terminal based epub reader.

I didn't go through every package, but a large number of the dependencies were related to Haskell.

And, yes, I did find epy. Tried it yesterday and it's great! Thanks!

ncdu: shows how much disk space is used by each directory, can also explore subdirectories and delete files

tig: interactive terminal UI for git with lots of functionality

FYI, browsh is more than just an old school terminal web browser (that would be lynx). It's actually full firefox (or chromium IIRC), adapted to run in a terminal

  • Kakoune should also be added under Text editors.

  • Yazi is a good terminal based file manager

  • nnn is another file manager

  • rtorrent for a terminal based torrent client

  • nushell - a different kind of shell.

  • starship prompt

  • weechat for IRC

I would add:

cheat - a tool that lets you make and use your own cheatsheets

gomi - replacement for the rm command that has a trashcan, so if you accidentally delete something important you can just restore it

bat - modern cat, with features like syntax highlighting, line numbers, etc

eza - modern ls, with cool features like file icons

broot - a different than ranger/lf approach to navigating folders

mdr - a markdown viewer

Also, I think you should add a note that ranger should be installed from git because most distros package version 1.9.3 and that is 4 year out of date and has lots of bugs that have been fixed in the git master branch

Added to the list As well as the note for ranger thanks for your contribution to the list!

Zsh becomes really handy with oh my zsh and powerlevel10k theme

https://ohmyz.sh/

https://github.com/romkatv/powerlevel10k

And for neovim I made the transition from vim with lazyvim: https://www.lazyvim.org/

You can replace almost all aspects of oh my zsh just by using fish shell. Like straight out of the box it does most of it. I switched off of a completely customized zsh (oh my zsh didn’t do enough for me) and fish is able to do everything I did with my custom zsh setup.

Emacs it's different than Vim or Nano. It's a bridge to Lisp and by this a good learning path. By the way: it's a OS. 😎

as mentioned by (an) other comment(s), you should add Kakoune under text editors, perhaps with the text:

Kakoune

A modal terminal text editor based on Vi. Kakoune is based on selection before action and is committed to the unix Philosophy.

and when talking about descriptions, I don't have a problem with the descriptions being subjective in tone, but could you remove the word "master race" from the Vim description ?

while I understand the history of using "master race" in tech related discussions, I think the nazi history overrules that by a long shot. Even if it didn't have the history it did, the word emanates eugenics.

otherwise, I think it is a nice list and a good initiative :))

I really like community made resources :))

Im saving this list. There are so many useful utilities that I can't wait to try out. Thanks for making it!

Mosh https://mosh.org/

Persistent ssh connections, great for laptops/phones that sleep or change IP. Use tmux for scroll back.

Fpr tldr I do prefer tealdeer (rust) instead of the node implementation in the post

For tmux there are screen that is simpler, I mostly use in server. In my local I like to use zellij, that is a tmux like implemented in rust.

Don't miss ripgrep. Really awesome/fast replacement for grep.

I gave up on these tools for:

curl cheat.sh/fd

Replace fd with any command.

I have some neat toys and some utilities that other newbies might enjoy.

edit: gmornin

Let me know if there are better alternatives or if anything listed here is malware
Sorry if tool already listed, adhd hitting hard today

"Screensavers"
Aesthetically pleasing to have open on a second monitor.

  • cmatrix: That character scrolling effect from the matrix
  • cbonsai: Little ASCII art bonsai tree that can be animated with the -l flag
  • cacademo A bunch of ASCII animations. Apparently installed by default in many distros? Had no idea
  • spotify-tui Spotify CLI frontend
    --

ASCII fun
Fun to make your shell scripts and .zshrc/.bashrc files obnoxiously zany.

  • toilet/figlet ASCII text art.
  • jp2a Turn image files into ASCII art
  • cowsay generates ASCII art pictures of a cow with a message
  • neofetch Spits out a cool system info summary with the distro logo in ASCII art
    --

File inspection
Useful if you want to quickly look at a source file without opening a text editor

  • src-hilite-lesspipe.sh Syntax highlight files. I think its pre-installed on GNU systems
  • ccat Colourful cat. Also syntax highlighter
  • glow Markdown file renderer
    --

Prompt help
Very useful if you learned to type the wrong way.

Obvious ones, often preinstalled:

  • curl/wget: grab files from the internet
  • nmap: lets you audit your network. See if you have anyone leeching off your wifi.
  • ssh: Remotely access your machines. Can be dangerous if you don't read the manual.
  • git: Version control, mainly for source code, but also very useful to locally keep track of any kinds of file changes you make.
  • gnupg: needed to set up keys for ssh and git i think. cant remember
  • jq - parse json
  • Lazygit - UI for git
  • Lazydocker - ui for docker
  • pass - command line password store
  • zellij - tmux alternative
  • starship - terminal customization
  • tealdear - tldr in rust
  • rm-improved - rm, but moves stuff to /tmp

Added to the list, thanks for your help! I will have to check out zellij and starship. I recently checked out network Chuck's video about tmux which tmux is SUPER powerful and useful on my Gentoo computers I'm excited to see how plugins work with zellji! and starship looks like i get to rice my terminal some more :D Cheers and happy new years! [tmux Video] https://invidious.no-logs.com/watch?v=nTqu6w2wc68

You're welcome! For tmux check out pain control, gives some alternative and maybe easier to remember bindings.

I'd rather just use the nu shell than tools like jq
i basically use it to write all of my scripts nowadays, it's structured data approach is amazing (kinda similar to PowerShell, but done right)

It is! Nu looks really cool, haven't gotten around to migrating yet myself.

Recently found out about ouch. Found it really useful for decompressing files in the terminal as I can't seem to remember all the flags for tar, gzip, zip, rar and all the rest one may encounter which all seem to use different syntax.

Matrix client

  • iamb a CLI matrix client with a vim like interface

Bookmark manager

  • BMKS works with or without dmenu and or fzf

Password manager

  • Pass the standard Unix password manager

File managers

  • lf like ranger but faster and written in go.
  • vifm another terminal file manager with vim style key bindings

Trashy is another rm command that sends files to trash that I really like. They recently fixed zsh completions bug, but maybe only in the latest git version. It's also written in rust.

I've been searching for a browser based terminal gateway that I can use for sysadmin. I'd like to just have all my ssh connections in one spot and accessible as a web terminal in a network, like a bastion host. Anyone have any recommendations?

Htop is highly customizable, most people don't realize you can alter the setup completely

Instead of tmux I would recommend Byobu

Whats better with byobu

Byobu has more user-friendly interface and accessible features - but you can do the same things in tmux. I should probably have worded that better and supplied it as an alternative.

I like the starship prompt. Not sure it's really a utility, though?

I love the idea of Lynx and have used it some, but it just seems like so many sites just don't work with it since it wont load the the JS and tracking junk.

I love that the terminal based browser depends on firefox

I've been playing with SSHwifty for a centralized browser based terminal gateway. You set up the docker and can then use it as a central gateway for ssh servers in your networks.

The setup is a bit opaque but the maintainer looks really helpful in the Issues pages.