Advanced Command-Line Tools: The Transition to becoming a power user
Published: 2024-02-19 06:16:01

## Utility Tools
### awk
- awk is a Data-Driven scripting language. It is used for data extraction and other string-based processing use Cases. It can be chained together with many other programs to create a killer workflow with a pipe operator and other command-line tools

### fzf
- Stands for Fuzzy Finder is a command like find that allows you to find any file without having to find the exact file that you are looking for. It runs in Rust which is seen as a great programming language, but it is super complicated. 

### rip grep
- Rip grep is a search tool that searches to find any string you give to it to be able to recursively search your entire directory for any string in any files. 

### the f*ck
- The f*ck is a cool command-line tool that allows you to immediately fix the command that you accidentally mistyped and fixes your command by you typing 'fuck' when you mess up and it can be set to immediately fix a command that is mistyped which can also come really in handy

### jq
- jq is an awesome tool to process JSON objects in the terminal without having to bring it into a separate program. Allowing you to search for certain keys, properties, prettier layouts and many other perks that you could use to make your life easier

### tldr
- tldr is a program that allows the latest git changes to be summarized for you. It is not actual bots writing the summary of the code written, but more so because it is super hard to find all the changes and show how they interact with the existing code. tldr shows all of the lines change and you can just look at the tldr to be able to extrapolate what code is useful or not. 

### zoxide
- zoxide is a better cd command that allows your terminal to remember what directories you use the most and allows you to keep those on 'speed dial' allowing you to speed up navigation and being able to start coding. 

## Productivity Tools

### khal
- khal is a terminal-based calendar application and can synchronize many other calendar applications such as Google Calendar and iCloud. It is nice to be able to handle and import events from your terminal and to have to only navigate with the overhead of having to use a mouse. 

### cmus
- small yet powerful console-based music player available on UNIX base systems. It accepts the most widely available music files. and allows for shuffling, playlists, streaming, and more. It can live filter through your playlists quickly. Instant startup even with thousands of songs. Can navigate through files with vim bindings. 

### browsh
- browsh dubs itself as a fully modern text-based browser. allows you to render anything a modern browser can. allows you to search the internet on a remote ssh server. 

### taskwarrior
- taskwarrior is a free and open-source program that allows you to manage your TODO list from your terminal. It is lightning-fast and allows you to navigate quickly and be able to use it very quickly. 

### tuir
- a text-based interface for Reddit. Allowing you. to fully use Reddit from the terminal. Why? I don't know but it's cool. 

### lazygit
- a terminal UI for git commands. This allows you to discern what rebates and merges are correct. One-line commands are used to add commit and push allowing for a super-fast workflow

### dstask
Another terminal-based personal tracker and TODO list. This app also allows you to use git to sync lists and to keep your devices up to date. allows for git sync without having to set up your server. 

## Extra Tools
### navi
- Allows you to navigate through man pages of all your current command line tools and allows you to find what function you need. It also allows you to fzf through all of the commands on the system and find the appropriate line. 

### transfer.sh
- Easy file sharing from the command line. It is like a drop box from the command line allowing you to just curl a proper link and receive everything that the sender wanted you to have straight from your system. It is easier than having to open up your email uploading and sending the appropriate files. 

### neofetch
- Neofetch is a command-line system information tool written in bash 3.2+. Neofetch displays information about your operating system, software, and hardware in an aesthetic and visually pleasing way.

The overall purpose of Neofetch is to be used in screen-shots of your system. Neofetch shows the information other people want to see. There are other tools available for proper system statistics/diagnostics.

https://dev.to/lissy93/cli-tools-you-cant-live-without-57f6