fish-shell: https://github.com/fish-shell/fish-shell/
ranger: https://github.com/ranger/ranger/
tig: https://github.com/jonas/tig/
ag or rg: https://github.com/ggreer/the_silver_searcher https://github.com/BurntSushi/ripgrep
And all my configurations, especially for fish-shell: http://github.com/c02y/dotfiles
- Pandoc a handy document format converter: https://pandoc.org/ - Ripgrep, a faster grep: https://github.com/BurntSushi/ripgrep - There are quite a few prompt-toolkit based CLI which have been really nice: * mycli (https://github.com/dbcli/mycli), pgcli (https://github.com/dbcli/pgcli) * ptpython/ptipython (https://github.com/prompt-toolkit/ptpython) - Youtube-dl: http://rg3.github.io/youtube-dl/ - fzf a fuzzy finder for the console: https://github.com/junegunn/fzf - jq for JSON manipulation: https://stedolan.github.io/jq/ - Miller for CSV/TSV: https://github.com/johnkerl/miller
I would imagine you have already scoured the "awesome" lists: https://github.com/agarrharr/awesome-cli-apps#terminal-utili...
https://github.com/sharkdp/fd
https://github.com/sharkdp/bat
https://github.com/sharkdp/diskus
https://github.com/sharkdp/hyperfine
For viewing csv's as tabular, paged data from the terminal, check out VisiData (python) https://github.com/saulpw/visidata File manager: https://github.com/jarun/nnn
Google search: https://github.com/jarun/googler
DuckDuckGo search: https://github.com/jarun/ddgr
Bookmark manager: https://github.com/jarun/Buku
Multicore resize & rotate: https://github.com/jarun/imgp
Calculator: https://github.com/jarun/bcal
Date diff and timers: https://github.com/jarun/pdd
Kernel keylogger: https://github.com/jarun/keysniffer
The developer (https://github.com/jarun) writes cmdline utilities only. His tools are highly optimized for performance and integrates seamlessly with the DE. Most of them are available on popular distros and Homebrew.I use peco for this https://github.com/peco/peco , thanks for sharkdp checking those out.
So easy and super convienient if you quickly need your local server accessible from somewhere else.
for a self hosted option, I've also been using https://github.com/fatedier/frp lately.
Here my personal setting:
- Email : mutt [http://www.mutt.org/]
- Passwords manager : pass [https://www.passwordstore.org/]
- Navigate directories : autojump [https://github.com/wting/autojump]
- Task manager : task [https://taskwarrior.org/]
- Music : cmus [https://cmus.github.io/]
- Text editor : emacs -nw [https://www.gnu.org/software/emacs/]
I’ve always liked the idea of moving my email to mutt and using personal domains, but not convinced I could manage spam well.
- email: notmuch/Rmail/Gnus/&c.
- password manager: pass.el (uses pass under the covers)
- navigate directories: shell or eshell, with autocompletion and/or Helm
- task management: Org Mode
- music: emms
Emacs is crazy-powerful!
CLIs are command driven. TUIs are driven by user interactions. I'm sure more/better distinctions between the two can be made.
It's basically apt/brew on Windows, but it's particularly awesome because it does not manage dependencies. It just downloads and extracts installers, which works because every self-respecting program that works on Windows distributes binaries as an installer (or just a zip) somewhere. Result: everything just works, every program is self-contained, no admin rights needed, no package maintainers needed either.
> Make sure Powershell 3 (or later) and .NET Framework 4.5 (or later) are installed.
Yeah not exactly. Wouldn't work in most ( all ? ) the places I worked at.
Depending on your current familiarity with things, I can't recommend enough simply combing through the tools in coreutils, util-linux, find-utils etc. If you take just three or so a day, by the end of a few months you'll have a solid survey-understanding of what almost every *nix shell has available.
Apart from that, here are some I use and enjoy:
[0]:http://abook.sourceforge.net/ -- Vintage address book; Plays well with mutt
[1]:http://git-annex.branchable.com -- A better Dropbox, and via git!
[2]:https://www.lesbonscomptes.com/recoll/ -- Index and search the contents and metadata of (pdf, word, etc) documents
[3]:https://www.roaringpenguin.com/products/remind -- Vintage and sophisticated tool for doing calendrical stuff.
[4]:https://github.com/trizen/youtube-viewer -- CLI YouTube with all the bells and whistles!
[5]:https://6xq.net/pianobar/ -- Pandora radio!
So I assume you made it work like Dropbox for you anyway. How did that go?
ts: http://vicerveza.homeunix.net/~viric/soft/ts/ (TaskSpooler) queue commands in different terminals
socat: http://www.dest-unreach.org/socat/ -- Multi-purpose relay
most: http://www.jedsoft.org/most/ pager more features than less/more
sshfs: https://github.com/libfuse/sshfs remote filesystem using SFTP via FUSE
passgo: https://github.com/ejcx/passgo Simple golang password manager
rclone: https://github.com/ncw/rclone rsync for cloud storage
autosub: https://github.com/agermanidis/autosub Command-line utility for auto-generating subtitles for any video file
units - for a broad range of conversions without having to resort to Wolfram Alpha or a search engine
bc -l - the -l option really empowers this awesome little calculator.
mpv - awesome media player - point it at a media URL (it uses youtube-dl in the background, so perfect for viewing or listening with no ads,) but can also play from open directories / SMB shares, online radio, Play a series of images as video, Access any FFmpeg/Libav libavformat protocol or filter (including generating tones and images, and more. And once it's playing, has great interactive keyboard controls for many useful functions.
Agreed.
>bc -l - the -l option really empowers this awesome little calculator.
Right. Since bc is a Unix filter, you can also pipe expressions into it, to be evaluated, so it can be used in general Unix pipelines. E.g.:
echo *arithmetic_expression* | bc -l
and the output comes on stdout, so it can be further piped.Edit: You have to quote any shell special characters in arithmetic_expression with single quotes, or better, just enclose the entire arithmetic_expression in single quotes. If asterisk (for multiplication) is not quoted, for example, it will be treated as a filename wildcard instead, and likely lead to an error. A wrong and a right example:
$ echo 2 + 3 * 4 | bc -l
(standard_in) 1: syntax error
$ echo '2 + 3 * 4' | bc -l
14mutt is hard to beat as an email client and circe (an emacs package) + znc on a digital ocean instance or equivalent makes for a great persistent irc session.
Here are my top commands by frequency of use:
4421 git
952 open
936 vim
908 cd
603 ls
566 grep
533 cp
429 rm
414 mv
250 atom
247 pip
233 mkdir
223 fab
163 docker
130 touch
128 find
123 youtube-dl
113 python
103 ssh
100 cat
99 wget
81 pytest
75 brew
total is of ~16k history lines... this means one in ever 4 commands I type is git! Wow I didn't know that. Probably `git status`... alias g="git show"
alias gh="git show HEAD"
alias gs="git status"
alias gl="git log"
alias gco="git checkout"
alias gd="git diff"
alias gbl="git branch -v"
alias gbd="git branch -D"
alias gri="git rebase --interactive"
alias grc="git rebase --continue"
alias gra="git rebase --abort"
alias gst="git stash"
alias gsta="git stash apply"
alias gx="gco -- \*; git reset HEAD \*"
alias gcp="git cherry-pick"
alias gcpc="git cherry-pick --continue"
alias gcpa="git cherry-pick --abort"
A few hundred instances of "gs" in my .zhistory :)Since git is by far the command a lot of people type the most, this shell comes in really handy. It supports all regular git aliases, has autocompletion, and you can set default commands to be run when you just press return. It's amazing how much typing it saves.
I used to use ag (the silver searcher) [1] before, and `ag` was practically a muscle memory to me, but then I came across ripgrep and it was so much faster. I've now installed a static binary of ripgrep in every machine I have SSH access to.
* weechat
* ffmpeg
* youtube-dl
* zsh
* watchman (https://facebook.github.io/watchman)
* megadl (rarely, but its a handy tool when you need it)
* brew (on my mac)
* mountsshfs (on my mac)
---
I moved away from orgmode and have been using it in VS since I have it open anyway. It covers me.
I also want to start using Mutt or something similar.
For those wondering, you can output an unnecessarily pretty list using:
history | tr -s ' ' | cut -d ' ' -f3 | sort | uniq -c | sort -n | tail | perl -lane 'print $F[1], "\t", $F[0], " ", "" x ($F[0] / 12)'https://addons.mozilla.org/en-US/firefox/addon/open-with/
Sometimes, using a GUI is easier than a CLI :)
I'm using Emacs since few times and it's now even my WM and org-mode is it's companion for nearly all docs/docs related stuff I use, never found anything even near comfortable and powerful as that combo...
pxc.common.tui.pkgs = with self.pkgs; [
# cli basics
htop # top, but nicer
httpie # curl, but much nicer except for lacking a man-page (--help is very complete)
ranger # file manager
ripgrep # my favorite grep alternative/replacement
tree # prints directory trees
# stuff my fish config uses and some goodies I want
fish # very nice shell, replaces bash
grc # GNU regular colorizer: uses regular expressions to colorize the terminal
tmux # terminal multiplexer (tiling window manager for the terminal)
byobu # some tmux config that makes things a little nicer. Great for new tmux users, hardly used anymore
fzf # fuzzy filtering: used for changing directories, selecting files to open, browsing shell history
fasd # frecency tools: jump to directories, open files, etc., based on fuzzy matches sorted by frecency
keychain # simplified SSH and GPG key loading/management
direnv # barebones projects, pretty nifty
gitAndTools.hub # GitHub CLI extensions for Git
gitAndTools.tig # curses TUI for browsing git logs
# makes tmux pretty with `powerline-config tmux setup`
pythonPackages.powerline
findutils # macOS comes with weak find command
gawk # macOS comes with ancient gawk, tmux-fingers wants a newer one
pass # GPG+git-based CLI password manager
pwgen # for use with pass
p7zip # archiving tool that can do pretty much everything
# chat
weechat # nice terminal-based IRC app
### extras-ish ###
mediainfo # tell me things about multimedia files
asciinema # record TTY/terminal sessions (with audio) as moving text for the browser
cowsay
graphicsmagick # image manipulation. lots of fun for quickly uploading custom emoji to Slack
];du -k --max-depth=2 * | sort -rn | head
Ymmv, but playing around with max-depth is usually enough to find the culprit for me.
ncdu='ncdu --color dark -q'
-q for quiet, slows updating the ncurses interface down for a quicker scan.
also; -1 for scan info pre ncurses display and -0 for no scan info.
File browser https://github.com/ranger/ranger
Emacs - It does anything you want.
Emacs If you like vim keys bindings - http://spacemacs.org
Terminal multiplexer - Tmux
fselect - https://github.com/jhspetersson/fselect
ripgrep - https://github.com/BurntSushi/ripgrep
exa - https://the.exa.website
They are the replacements for traditional find, grep, and ls.
It's really worth the time to learn. It's pre-installed basically everywhere, it's amazingly useful. It has the features of a modern text editor all in a command line.
FZF - fuzzy file finding lightning quick, I use this as a ctrl+p replacement in vim too. Kubectx - Supported by FZF. Quickly change k8s context and define namespaces easily too (Kubens)
Netflix-Skunkworks/go-jira[0] - Jira interface written in Go that is incredibly flexible.
bat[1] - cat with code highlighting
climate[2] - Shell swiss-army knife of tools
That last one deserves a post on its own. It's certainly not the most portable thing -- requiring that certain binaries be available for some of its functions, but it works as-is for the Linux distributions that I run and provide simple commands for getting information about things that isn't always trivial to remember (such as getting an external IP address of a host from the command-line). Silly things like remembering the CLI options for 'du' (along with the necessary '| sort ... | head -5') are replaced by 'climate biggest-files'. It replaces a mess of tools, but does so, often, by simply calling those tools with the "correct" parameters that I've forgotten.
Yes, a well authored set of aliases for the most common commands would do the same thing, but I end up using 'climate' in cases where the information I need is something I rarely need for a given task and getting that information is going to be a non-obvious exercise involving a few pipes. It's a "kitchen sink" utility with a set of commands that, for the most part, you'd find a hard time grouping them into a single theme -- a command for getting the current weather (after all, it is named climate) next to one to download all files on a web page, next to one to get disk usage stats in a variety of ways. Normally, I don't like tools like this, but this one lands as a big exception to that rule for me.
[0] https://github.com/Netflix-Skunkworks/go-jira
What about using `ping host`? This also prints the ip
http://www.mutt.org/ Mutt for email of course.
https://vifm.info/ Vifm file manager, I am using it for everything, not having any other file manager on my system.
https://github.com/pimutils/khal Khal for calendar.
https://github.com/scheibler/khard/ Khard for contacts.
https://github.com/pimutils/vdirsyncer Vdirsyncer to sync calendar and contacts with any web calendar service.
My zshrc includes a bunch of commands you might like, btw: https://github.com/jleclanche/dotfiles
Among them, the ones I use the most are `json` and `yaml` for pretty printing both formats, as well as `urlencode` / `urldecode` / `urlarray` which I recently added.
Similarly jq (https://stedolan.github.io/jq/) for JSON data is great.
* Chat - Weechat + WeeSlack (https://github.com/wee-slack/wee-slack)
* Pair Programming - tmate.io + neovim
* Google Play Music - tuijam(https://github.com/cfangmeier/tuijam)
I really like bat (https://github.com/sharkdp/bat) as a cat replacement, and I've been enjoying using entr (http://entrproject.org/) for running tests automatically when code changes.
sqlite shell - https://www.sqlite.org/download.html
combine the two for a high throughput web app - https://hackernoon.com/stream-a-million-websocket-sql-reques...
Use WebSockets and Python for web-based system monitoring:
https://jugad2.blogspot.com/2014/01/use-websockets-and-pytho...
websocketd and Python for system monitoring - the JavaScript WebSocket client:
https://jugad2.blogspot.com/2014/01/websocketd-and-python-fo...
Will check out your hackernoon post, sounds interesting.
Magnificent app which corrects your previous console command
https://github.com/benp44/git-bulk-toolkit
shameless plug alert
watch df -h
watch ls -sh
watch cat file
watch nmcli device wifi list
watch -n 10 --color curl -s wttr.inA Python version of the Linux watch command:
https://jugad2.blogspot.com/2018/05/a-python-version-of-linu...
watch ps fx
I find it very soothing. :)The main screen instance is started with:
screen -S outer_screen
I then create a screen session for that EC2 with
screen -S inner_screen
I pop open new screens with this handy command:
screen -S outer_screen -X screen -t newmachine ssh user@newserver.example.com
asdf: https://github.com/asdf-vm/asdf - installs many different programming languages and supports installing different versions concurrently. I use it for go installs since distribution updates aren't usually fast enough.
solaar: https://github.com/pwr/Solaar - handles configuring a logitech unifying receiver in Linux. Not really something you'd use multiple times, but am thankful it exists (also has a GUI too I believe).
(Disclaimer: I build homebrew, apt, etc packages for VisiData.)
(this is just something I found recently, not affiliated with it or anything)
rsync (usually over SSH): the kitchen sync of file transfer commands. In Linux-land it is quite common to find it already installed, and if not it is in the standard repos. Available for Windows too.
pv (pipeviewer, http://www.ivarch.com/programs/pv.shtml): very useful for monitoring some classes of long-running process.
progress (https://github.com/Xfennec/progress): for similar reasons to pv, wanting to see how a long-running task (that isn't giving its own progress information) is getting on.
https://github.com/jethrokuan/z (fish port)
With tools like z I'll have to type less letters in the end but it requires interaction, and interaction/attention is more expensive than keypresses, at least in my world :)
- ls -> exa
- cat -> bat
- find -> fd
- top -> htop -> glances
- grep -> ack -> ag -> rg
- hr (to draw a horizontal line in your terminal)
A lightning talk about them: https://youtu.be/hp-1plTKOqc?t=551
Ultimate Plumber is a tool for writing Linux pipes with instant live preview
It's a new CLI tool I've recently written, and it reached a Top 1 position on HN just after the public release. It works with other classic CLI tools by boosting the speed with which they can be composed together. It's especially useful for quick exploration of logs, CSV files, and other text files or pipelines.
It's an IRC proxy for other protocols like Skype or Slack.
I have no idea how it stands up today but I always liked the concept of having one service that handled conversion of all the modern protocols to text based.
Other than that I think people have already given amazing recommendations so I have nothing to add.
I also used to use bitlbee, but once AIM died I dropped it.
Slack dropped their irc gateway a while ago. I recommend wee-slack[1] which is a weechat[2] python plugin that uses the Slack API instead of the old IRC gateway, which also means it is a lot more feature rich than the IRC gateway was.
1 - https://github.com/wee-slack/wee-slack 2 - https://weechat.org/
Technically a CLI I suppose, it imports an mbox file into Gmail. I had switched to G Suite and wanted to import some old emails. It took a while but this did the trick!
(That's git backwards)
It's a luxury and you don't need it if you use something like fugitive in vim, but its a lovely little tool.
Think SourceTree but on the command line.
In that sense, lazygit is more navigation friendly.
- autossh - https://linux.die.net/man/1/autossh
- sshfs - https://github.com/libfuse/sshfs
- pandoc - https://pandoc.org/installing.html
- exiftool - https://www.sno.phy.queensu.ca/~phil/exiftool/
- htop - https://hisham.hm/htop/
- tmux - https://github.com/tmux/tmux/wiki
- rsync - https://rsync.samba.org/
- midnight commander - https://midnight-commander.org/ (faster, than loop ing ls, cd .., ls)
Still trying to think about the others.
File transfer between machines:
$ nc -l 1234 > filename.out
Using a second machine, connect to the listening nc process, feeding it the file which is to be transferred: $ nc host.example.com 1234 < filename.in
Or a simple web server: $ while true ; do nc -l -p 1500 -c 'echo -e "HTTP/1.1 200 OK\n\n $(date)"'; donehttps://www.networkworld.com/article/3091139/linux/who-needs...
he lists:
email: alpine
webbrowser: w3m
editor: nano
wordprocessing: wordgrinder http://cowlark.com/wordgrinder/index.html
audioplayer: cmus https://en.wikipedia.org/wiki/Cmus
instant messaging: finch and hangups https://developer.pidgin.im/wiki/Using%20Finch https://github.com/tdryer/hangups
twitter: rainbowstream https://github.com/orakaro/rainbowstream
reddit: rtv https://github.com/michael-lazar/rtv
ps: htop
filemanager: midnight commander
terminal manager: tmux
presentations: tpp http://www.ngolde.de/tpp.html
greetings, eMBee.
ddrescue - GNU ddrescue (https://www.gnu.org/software/ddrescue/) not to be confused with dd_rescue (http://www.garloff.de/kurt/linux/ddrescue/) This piece of software is outstandingly good for rescuing bits from failing spinning rust. It doesn't care about the filesystem, it just tries really hard to get data from a raw device. Once you've got all the bits onto a safer medium, you can use testdisk to explore the disk image.
Coinmon (Requires node) - https://github.com/bichenkk/coinmon
Gron (grep JSON) is handy when you get a massive API response and quickly need to figure out what subkeys interest you.
The silver searcher (ag) is my go-to code search tool. I'll have to try ripgrep to compare.
Pass is neat for injecting personal secrets into bash scripts securely.
Another one is ffmpeg. A ton of tools are built on it.
For photographers exiftool is great.
notmuch - email database
ncmpcpp - MPD frontend (music player)
taskwarrior - task and time management
mutt - email
ranger - file manager
pass - password managerproselint: http://proselint.com/
alex: https://github.com/get-alex/alex
Both are CLI linters for prose.
Some level of balance is needed, which is what I've been trying to do. That said I always setup oh-my-zsh and `git config --global alias.kurwa status` wherever I go.
most of the tools don't need manual configuration though and so it's a single command to install all of them that you can have tucked away somewhere to use when needed.
but yeah, i use salt for automating this.
2) SHPaint -- ANSI Art editor programmed in bash.[1,2]
[0] http://www.seehuhn.de/pages/moon-buggy.html
sadly the creator hasn't been able to work on it since the last funding campaign failed, but he is preparing a new campaign just now: https://groups.google.com/forum/#!topic/xiki/Dvzo14Lhoyg
greetings, eMBee.
I'm not sure what kind of interface you mean here, but judging by the responses graphical interface in terminal is OK. In that case,
*lazygit https://github.com/jesseduffield/lazygit
first GUI on top of git that I didn't hate. Primarily because it doesn't break the flow in command line. Instead of diff/add/commit I open this, but for the rest I still use git directly (or through aliases).
Deduplication, compression, encryption, to local or remote targets.
Slightly off topic, but can I just say that iTerm2's native tmux integration is really awesome.
_edit_
oathtool seems promising (needs to be paired with something to manage and crypt the keys tho) http://www.nongnu.org/oath-toolkit/oathtool.1.html
Trivial example:
ls -1 | xargs -L1 echo processing
I am finding it quite useful to load and delete a bunch of netapp volume snapshots in a single line: ssh netappuser@netapphost volume snapshot show $volname | awk '/selector_pattern/{print $1}' | xargs -L1 ssh netappuser@netapphost volume snapshot delete $volnamefind test -print0 | xargs -0 file
"This allows file names that contain newlines or other types of white space to be correctly interpreted by programs that process the find output. This option corresponds to the -0 option of xargs."
https://www.tecmint.com/fzf-fuzzy-file-search-from-linux-ter...
----
I use the Silver Searcher all the time. Very fast.
https://github.com/ggreer/the_silver_searcher
----
tig, a text mode interface for git.
If you want something interactive as you work through the book (and even CLI itself), it would be hard to beat bash. ;-)
https://www.codecademy.com/learn/learn-the-command-line
greetings, eMBee.
Here's a handy chart that compares the features of each of these tools, along with git grep and plain ol' GNU grep.
40.2% ls
22.8% cd
15.6% python
3.6% nano
Since no one's mentioned it yet: I don't necessarily think nano is great, but it's always there and it opens immediately. Almost all small, quick edits I make (where opening VSCode/Emacs/whatever doesn't make sense) are done in nano. Pretty useful.Nano Vim Xdg youtube-dl wttr git curl top watch
* autojump (aka j) - for changing directories quickly
* open - required to interact with the non-cli world, ships by default on macOS and here's one for Windows/WSL: https://github.com/neosmart/open
* imgpaste - for pasting screenshots into a PNG or JPEG directly (https://github.com/neosmart/imgpaste)
* pbpaste - for pasting into the shell (or if you're on Linux or Windows: https://github.com/mqudsi/fish-config/blob/master/functions/...)
* fzf - a general-purpose "selector" ui for choosing "things" from a list based off, such as your history (bound to ctrl+r) or files in a directory (bound to ctrl+p with input generated by bfs or fd)
* neovim - my configuration here: https://github.com/mqudsi/nvim-config
* ripgrep - for finding strings in files
* fd - for finding files quickly
* sed (with -r) - insanely powerful for common string operations
* tr - lets you deal with line endings, which sed can't
* youtube-dl - download youtube videos from the CLI
* curl/httpie - (scriptable) network requests
* aria2c - high-speed (multi-threaded) downloads and torrent downloads, it just works
* jq - for manipulating json in shell scripts
* ncdu - find space taken up by directories/files, but it's aging and in need of a dire rewrite like fd/rg did for find/grep
* pbedit - edit the contents of the clipboard in your favorite editor https://github.com/mqudsi/fish-config/blob/master/functions/...
* weechat - irc in your command line
* ffmpeg - except I am much more likely to use it via one of the wrapper fish scripts I've written such as ffencode, fftrim, ffconcat, ffmute, etc. because it is (necessarily) so damn verbose and infinitely tunable.
* tmux - if I'm working remotely or on a headless machine where I can't just ctrl+shift+n to open a new terminal window (which I prefer)
I'm not sure what you mean by "deal with line endings", but sed can operate across multiple lines.
https://www.gnu.org/software/sed/manual/html_node/Text-searc...
jq - process json on the command line: https://stedolan.github.io/jq/
perl one liner to debug a regex: perl -e 'use re "debug"; "xyz" =~ /x*y+z/;'
"hd -c" - I like this hexdump format
lsof - debug open files/sockets/etc
https://paste.pound-python.org/raw/Uqc8XTFk73Y3PpbRe9hC/
It's not 100% made up of command-line programs, but most of them are.
Easy to overlook... I almost don't even notice it, but I use it more than any other application (every time I type).
A streaming torrent client. I guess there are similar ones.
Watching a torrent becomes:
peerflix <magnet> --mplayer -t subtitlegst123 [http://space.twc.de/~stefan/gst123.php] a music player
prettyping [https://github.com/denilsonsa/prettyping] a prettier ping
kakoune [https://github.com/mawww/kakoune] a nice (relatively friendly) modal text editor
and it allows to open multiple views at once, keeping state in each. it also supports saved searches as a view.
it's not actively maintained right now, but it is stable. i haven't had any problems yet.
sup is the ancestor of the notmuch libraries which can be integrated into mutt. but i don't know how well that works. perhaps https://news.ycombinator.com/item?id=18483833 can shed some light on that.
greetings, eMBee.
> notmuch-mutt, which will create a "virtual" maildir folder with search results whenever a search is made. The upside is that you can search all your folders simultaneously; the downside is that your modifications in the results listing do not carry over, also having to switch folders comes with some more annoyances.
sup does not have that problem. i have used mutt for more than a decade. switching to sup was a revelation. i would really love to see any alternatives that can compete with it.
greetings, eMBee.
Awesome lightweight music player
You’ll be sure to find something useful.
- htop (better top)
- nload (network traffic visualization)
- nano (I know, but works great for simple editing)
- curl (http everything tool)
- telnet/nc (check listening ports)Use numbers for dealing with files in git.
for example, u could pipe in tcpdump output to analyze dump in realtime
* fish shell
* tmux (multiplexer)
* emacs-nox (non-GUI version)
* mocp (music player)
* w3m (web browser)
* htop (process viewer)```alias ,v='mv' alias r,='mv'```
Otherwise:
ttyclock tmux/byobu pv ncdu htop megadl webcomix and/or dosage - download webcomics into cbz files for local viewing. Installable via pip. elinks, links2 - Browsers. especially useful if compiled with javascript support. nnn aria2c grc most mlocate (prrovides thelocate and updatedb connands. I can't recall why i like it more than slocate or find-utils)
Generally built-in:
watch tee sed (or just use `perl -pi -e` 7z
'Fun' cli programs:
nyancat sl cowsay toilet ttysolitaire
great tool for downloading subtitles, sadly it seems unmaintained and sometimes fails to work
rtorrent: https://github.com/rakshasa/rtorrent
my preferred way to download ISOs of Linux distributions
And a +1 for some that were already mentioned: tig, ripgrep, htop, midnight commander
F yeah, dude.
- htop : A nicer version of the process viewer top
- rename : bulk rename things via a regex/sed-like interface
- youtube-dl -x : download the audio of a video
- locate : Find something anywhere.
Since git is by far the command a lot of people type the most, this shell comes in really handy. It supports all regular git aliases, has autocompletion, super useful for setting temporary names when pair programming, and you can set default commands to be run when you just press return.
vi: https://man.openbsd.org/vi
entr: http://entrproject.org/
shellcheck: http://shellcheck.net
it makes renaming of long filenames much easier. especially if there are many files with similar names.
greetings, eMBee.
just run `npm install -g diff2html-cli` and `diff2html`
I recommend this alias `alias diff='diff2html -s side'`
Convert PDF to Word, Powerpoint to JPG, WMV to MP4, DWG to PDF etc:
https://github.com/zamzar/zamzar-bash
(Full disclosure: I'm one of the co-founders at Zamzar).
cal - Obvious but I still launch GUI calendar app when I can just type 3 letters to check on dates.
* htop - better version of top for multi-core machines
* tmux - when you want to run long-running commands
asdf - universal installation tool for ruby, node, go, etc
ripgrep - very fast search
zsh - shell (with zsh-autosuggestions and fasd hooks)
In Debian/Ubuntu you can install via apt.
Also, I'd second tldr which has been mentioned here already. It provides simplified man pages which common usage examples that normally fit on a few lines on screen: https://tldr.sh/
Doing any kind of engineering or science, this is my go to calculator for stuff that I find a lot of people using google for
vnstat - the simplest traffic stat collector I could find.
calcurse for calendar
mutt for email client
- git
- grep
- head
- man
- rsync
- screen
- sshfs
- tail
- watch
- vim
I recently discovered:
- colordiff
- paste
nano;
htop;
dstat;
git;
tmux;
links to other lists:
https://beyondgrep.com/feature-comparison/
https://code.kiwi.com/lesser-known-tools-we-love-at-kiwi-com...
https://github.com/agarrharr/awesome-cli-apps#terminal-utili...
https://github.com/alebcay/awesome-shell#applications
https://paste.pound-python.org/raw/Uqc8XTFk73Y3PpbRe9hC/
https://www.networkworld.com/article/3091139/linux/who-needs...
2048
2fa
abcde
abook
[3] ack (ack-grep)
[5] ag (silver searcher)
alex
[2] alpine
[2] amigamml
aplay
archiver
[4] aria2c
asciinema
[2] asdf
atom
[2] autojump (aka j)
autossh
autosub
[3] awk
awless
[2] bash
bash-it
bass
[5] bat (cat)
bcal
[3] bc -l
[2] beets
bitlbee
[3] BorgBackup
[2] bpython
[2] brew
btrfs
buku
[2] byobu
calcurse
cal
cat
[2] cd
Chocolatey
[2] climate (shell utility tools)
[3] cmus
Coinmon
colordiff
column
comm
convert
[2] cowsay
cp
[4] curl
GNU datamash
ddgr
ddrescue
dict
diff
diff2html
direnv
diskus
docker
[2] Doom Emacs
dosage
dstat
[2] dtrx
[2] duplicacy
ed
[2] elinks
[7] emacs
[2] entr
[2] exa
[2] exiftool
fab
Farbfeld Utilities
[3] fasd
[5] fd
[5] ffmpeg
finch
[2] find
findutils
[8] fish-shell
frp
fselect
[6] fzf
gawk
[13] git
git-annex
git-annex assistant
git-bulk-toolkit
git number
[3] gitsh
Git Standup
glances (top)
Goaccess
go-jira
tuijam
[2] googler
gpg
graphicsmagick
[2] grc
[5] grep
Gron
gst123
gzip
hangups (instant messaging)
hd -c
head
heirloom-mailx
hledger
hollywood (tmux UI)
howdoi
hr
[11] htop
[4] httpie
hub
Hugo
hyperfine
iftop
[2] ImageMagick
imgpaste
imgp
import-mailbox-to-gmail
inotifywait
Insect (unit converter)
ip
irssi + jmp.chat
iw
journalctl
[7] jq
kakoune
keysniffer
keychain
khal
khard
Kubectx
[2] lazygit
ledger-cli
links2
lnav
localhost.run
locate
[3] ls
[2] lsof
lumail
Ly
man
mcabber
mediainfo
[2] megadl
mg
[4] midnight commander
Miller (CSV tool)
mkdir
mlocate
[2] mocp
Moon Buggy (game)
moreutils
[3] mosh
[2] most
mountsshfs
mpv
multitail
[5] mutt
mv
[3] mycli
[6] nano
[3] nc
ncat
[7] ncdu
ncmpcpp
neofetch
neomutt + notmuch
[2] neovim
netcat
nethogs
newsboat
[4] Ngrok
nload
nmap
[3] nnn
notmuch
nyancat
od
ohmyfish
[4] ohmyzsh
oh-my-zsh git plugin
[2] open
p7zip
[2] Pandoc
GNU parallel
[5] pass
passgo
pass-otp
paste
pbedit
pbpaste
pdd
pdfgrep
peco
peerflix
[3] perl
[3] pgcli
pgrep
pianobar
pine
ping
pip
pipe
pkill
playmod
prettyping
prezto
progress
proselint
psql
[2] ptpython/ptipython
[4] pv
[2] pwgen
pytest
[2] python
pythonPackages.powerline
qemu
[4] ranger
rclone
recoll
[2] remind
[2] rename
renameutils
[2] restic
[13] rg (ripgrep)
rm
[4] rsync
rtorrent
rtv
sage
Saw (AWS Cloudwatch)
sc-im
sclack
SCM Breeze
[2] Scoop
[4] screen
[4] sed
serve
serveo
[3] shellcheck
SHPaint
shuf
[3] sl
[4] socat
solaar
sort
sox
[2] sqlite shell
[2] ssh
[3] sshfs
subliminal
supmua
surfraw
sym
systemctl
tabview
tail
[2] tar
[3] Taskwarrior
tcpdump
tee
TeX
[2] The Fuck
[6] tig
[4] tldr
tmate
[21] tmux
todo.txt
toilet
top
totp-cli
touch
[2] tr
[2] tree
tshark
ts
ttp
ttyclock
ttysolitaire
rainbowstream
unimatrix
uniq
[2] units
up
vdirsyncer
[2] vi
vifm
[7] vim
[4] Visidata
vnstat
Vue-cli
[2] w3m
[6] watch
watch (python)
watchman
wd
webcomix
[2] websocketd
WebTorrent
[3] weechat
[2] wee-slack
[2] wget
wordgrinder
wttr
[2] xargs
Xdg
xdotool
xiki
xmlstarlet
xrdb
[2] xsv
XTree Gold
xxd
xz
[6] Youtube-dl
youtube-viewer
[2] z
zamzar-bash
zgen
zplug
[4] zshIt saved my life.
https://jugad2.blogspot.com/2014/09/my-ibm-developerworks-ar...
I had given some more details about it on HN some time ago: