this post was submitted on 30 Dec 2023
484 points (97.5% liked)

Linux

45377 readers
1767 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
484
submitted 6 months ago* (last edited 5 months ago) by [email protected] to c/[email protected]
 

[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/[email protected]

[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 @[email protected]

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/[email protected]

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/[email protected]

[Text Editors and file location]

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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

zellij

Alot like Tmux and has plugin support https://github.com/zellij-org/zellij suggested by https://sh.itjust.works/u/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

neomutt

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

suggested by https://sh.itjust.works/u/[email protected]

tig

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

suggested by https://sh.itjust.works/u/[email protected]

pass

the standard Unix password manager https://www.passwordstore.org/ suggested by https://sh.itjust.works/u/[email protected]

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/[email protected]

Lazygit

Terminal UI for git https://github.com/jesseduffield/lazygit Suggested by https://sh.itjust.works/u/[email protected]

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/[email protected]

RM-improved/RIP

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

suggested by https://sh.itjust.works/u/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

broot

a different than ranger/lf approach to navigating folders https://github.com/Canop/broot suggested by https://sh.itjust.works/u/[email protected]

mdr

a markdown viewer https://github.com/michaelmure/mdr suggested by https://sh.itjust.works/u/[email protected]

eza

modern ls, with cool features like file icons https://github.com/eza-community/eza suggested by https://sh.itjust.works/u/[email protected]

Rtorrent

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

suggested by https://sh.itjust.works/u/[email protected]

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/[email protected]

bat

modern cat, with features like syntax highlighting, line numbers, etc https://github.com/sharkdp/bat suggested by https://sh.itjust.works/u/[email protected]

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/[email protected]

[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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

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/[email protected]

[Fun/games]

lolcat

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

suggested by https://sh.itjust.works/u/[email protected]

Cowsay

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

Suggested by https://sh.itjust.works/u/[email protected]

Bastet

Tetris clone via terminal https://github.com/fph/bastet/ suggested by https://sh.itjust.works/u/[email protected]

Cmatrix

make your terminal look like your mr.hacker man https://github.com/abishekvashok/cmatrix suggested by https://sh.itjust.works/u/[email protected]

spotify-tui

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

suggested by https://sh.itjust.works/u/[email protected]

cacademo

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

suggested by https://sh.itjust.works/u/[email protected]

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

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/[email protected]

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

top 50 comments
sorted by: hot top controversial new old
[–] cbarrick 26 points 6 months ago (1 children)

s/ZHS/Zsh

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

[–] [email protected] 5 points 6 months ago (1 children)

Fixed, Thanks for the help!

[–] Penta 6 points 6 months ago (2 children)

The letters are still in the wrong order 💀

load more comments (2 replies)
[–] jelloeater85 25 points 6 months ago (3 children)

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

[–] [email protected] 5 points 6 months ago

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

[–] [email protected] 3 points 6 months ago

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

load more comments (1 replies)
[–] macattack 19 points 6 months ago
[–] filister 17 points 5 months ago

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

[–] faethon 17 points 6 months ago (1 children)

baca is a terminal based epub reader. Quite nice.

[–] sailingbythelee 3 points 5 months ago (2 children)

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!

load more comments (2 replies)
[–] [email protected] 16 points 6 months ago (2 children)

htop is nice but btop is best top.

[–] [email protected] 6 points 6 months ago

btop is very neat! Thanks for the addition to the list!

load more comments (1 replies)
[–] [email protected] 14 points 6 months ago (1 children)

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

load more comments (1 replies)
[–] [email protected] 12 points 6 months ago (1 children)

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

[–] [email protected] 4 points 6 months ago

Thanks for the correction, I have fixed it!

[–] [email protected] 11 points 5 months ago (1 children)

Calling Emacs "somewhat simple" is... A Choice. It's the only text editor that can be a window manager lol

[–] [email protected] 5 points 5 months ago

Damn you arent lying

https://github.com/ch11ng/exwm

Thats pretty cool!

[–] [email protected] 10 points 5 months ago* (last edited 5 months ago) (1 children)

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

load more comments (1 replies)
[–] [email protected] 10 points 6 months ago* (last edited 6 months ago) (1 children)
  • 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

load more comments (1 replies)
[–] [email protected] 9 points 6 months ago

Written in Rust:

  • bat
  • dust
  • exa
  • rg
  • sd
  • hck
  • grex
[–] [email protected] 8 points 6 months ago (1 children)

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/

load more comments (1 replies)
[–] [email protected] 8 points 6 months ago (3 children)

I would add file managers like midnight commander, ranger, and so on

load more comments (3 replies)
[–] [email protected] 8 points 6 months ago (2 children)

nushell is a new type of shell that has some really cool features

lf is a file manager inspired by ranger

dash a POSIX-compliant /bin/sh that is fast and simple

eza is a modern alternative to ls

load more comments (2 replies)
[–] [email protected] 8 points 6 months ago (4 children)
[–] ooterness 3 points 6 months ago

Cowsay should be installed by default on every distro.

load more comments (3 replies)
[–] [email protected] 8 points 5 months ago

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. 😎

[–] megaLime 7 points 5 months ago

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

[–] [email protected] 6 points 6 months ago* (last edited 6 months ago)

Mosh https://mosh.org/

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

[–] [email protected] 6 points 6 months ago (1 children)

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 :))

load more comments (1 replies)
[–] [email protected] 6 points 6 months ago (1 children)

Somewhat simple?!?! I feel the disrespect.

load more comments (1 replies)
[–] [email protected] 6 points 6 months ago (1 children)

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.

load more comments (1 replies)
[–] tourist 5 points 6 months ago* (last edited 6 months ago)

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
[–] ptrckstr 5 points 5 months ago* (last edited 5 months ago) (4 children)
  • 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
load more comments (4 replies)
[–] [email protected] 4 points 6 months ago* (last edited 6 months ago)

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
[–] gaael 4 points 6 months ago

NeoMutt is an easy to use and cool looking tui email client.

[–] [email protected] 4 points 6 months ago

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.

[–] chasingtheflow 4 points 5 months ago
[–] [email protected] 4 points 6 months ago* (last edited 4 months ago) (1 children)

Zoxide, lets you quickly jump to places in your filesystem. E.g. z pic will put you in ~/Pictures.

load more comments (1 replies)
[–] Buck 3 points 5 months ago (1 children)

I much prefer the links browser over lynx nowadays http://links.twibright.com/

load more comments (1 replies)
[–] [email protected] 3 points 5 months ago (1 children)

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

load more comments (1 replies)
[–] [email protected] 3 points 6 months ago

Helix entered the chat

[–] pastaPersona 3 points 5 months ago (1 children)

Bastet is a good one (in-terminal tetris game)

load more comments (1 replies)
[–] [email protected] 3 points 5 months ago (1 children)

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.

load more comments (1 replies)
[–] ikidd 3 points 5 months ago

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?

[–] [email protected] 3 points 6 months ago

Possibly offtopic, I wrote a guide to setting up zsh on macOS: https://gist.github.com/aclarknexient/0ffcb98aa262c585c49d4b3f3ae24019

load more comments
view more: next ›