Linux utility & productivity tools
Using Linux for development at first can be daunting, but with the right tools and applications, you can become more productive. Here are few tools and utilities(in no particular order) I use day to day.
If you are newcomer, you will love tldr.
From their website:
The TLDR pages are a community effort to simplify the beloved man pages with practical examples.
Chances are, you used the
man command to read user manual about certain commands. These manuals are also lengthy; they provide a lot of information we don’t need at the moment. Finding solution by reading manual can also be complicated or cumbersome.
This is where
tldr comes in. It simplifies command usage and gives us clear examples and info on certain command.
For example, if we ran
tldr ls, we would get the output:
ls List directory contents. - List files one per line: ls -1 - List all files, including hidden files: ls -a - Long format list (permissions, ownership, size and modification date) of all files: ls -la - Long format list with size displayed using human readable units (KB, MB, GB): ls -lh - Long format list sorted by size (descending): ls -lS - Long format list of all files, sorted by modification date (oldest first): ls -ltr
We can see clear usage of
ls command. To install
tldr, refer to their installation section.
Rule of thumb: If you are in a hurry, use
tldr. If you look for something very specific in some command, use
StormSSH is a command line tool to manage your SSH connections. You can use it to add, delete or edit hosts you want to connect to. All configurations are written in current user SSH config file.
Add a host(port is optional, defaults to 22): $ storm add my_vps1 email@example.com:22 - Success my_vps1 added to your ssh config. you can connect it by typing "ssh my_vps1". - storm add my_vps2 firstname.lastname@example.org - Success my_vps2 added to your ssh config. you can connect it by typing "ssh my_vps2". List all hosts added by storm: $ storm list - Listing entries: my_vps1 -> email@example.com:22 my_vps2 -> firstname.lastname@example.org Delete a host: $ storm delete my_vps1 - Success hostname "my_vps1" deleted successfully.
The thing I like the most about storm is that it provides web interface(written in Flask) to add, delete and modify hosts. To use it, execute:
$ storm web
Read more about
StormSSH usage at here.
You can use Bat as alternative to
cat command for more fancy output. If content can’t fit on screen, it will use pager (e.g. less) which you can use to navigate through content of a file.
So if you use
bat main.dart to output content of a file, you will see file with Syntax Highlighting applied as below:
Short tip: Set
alias cat="bat" for unobstructed work.
As in previous example, Exa acts as modern replacement for
ls command. I have multiple aliases set for
alias l="exa --long --header --all" alias ls="exa --long --header" alias tree="exa --tree --level=2"
Example output when I run
Z is a utility for “jumping around”.
Tracks your most used directories, based on ‘frecency’. After a short learning phase, z will take you to the most ‘frecent’ directory that matches ALL of the regexes given on the command line, in order.
When you install it or enable it (I have this one enabled as ZSH plugin in
~/.zshrc), everytime you use
cd to change directory, it will build it’s own db of visited directories.
z project will take you to most frecent dir matching “project”, which can be located deeply as