UNIX commands can feel quite ancient. Gladly there are aims at modernizing the UNIX stack, often in a compatible way.

Here’s an overview of some of my favorite modern UNIX commands and how I use them.

bat - A cat clone with pretty syntax highlighting

View code with syntax highlighting.

Here’s how I use it:

Repo: GitHub: sharkdp/bat

exa - A pretty ls replacement

List files with a stylish and informative output. Here’s how I use it:

Here’s how I use it:

Repo: GitHub: ogham/exa

fzf - Fuzzy find files

Quickly find files with fuzzy search.

FZF is awesome. And it also has a neat Vim integration.

Try it out by piping command output into fzf like docker ps | fzf

Here’s how I use it:

My FZF configuration

  • search (hidden) files but ignore gitignored files using ripgrep
  • preview file contents with my preview.sh script (which uses exa in the background)
  • assigns hot keys
    • F1 to enable the file preview,
    • F2 to switch to show hidden/ignored files, and
    • F3 to fzf the parent directory My FZF config file dot-files: shell/.config/fzfrc

FZF and VIM

You can also use fzf directly in vim with this integration GitHub: junegunn/fzf.vim. It offers a lot of useful default commands. You can fuzzy find files with :Files.

My configuration includes some custom commands as well

Here’s my fzf.vim configfuration dot-files: nvim/.vimrc

Repos: GitHub: junegunn/fzf

ripgrep - A modern grep -r replacement

Fast and efficient searching of file contents. Here’s how I use it:

Here’s how I use it:

Repo: BurntSushi/ripgrep

jq - Process JSON Output

Master JSON data manipulation on the terminal.

Here’s how I use it:

Repo: GitHub: jqlang/jq

http - A modern curl

Simplify HTTP requests.

  • Easily write and read HTTP requests.
  • Handle JSON responses effortlessly.
  • Add query parameters and headers with ease.

Repo: GitHub: httpie/cli: 🥧 HTTPie CLI


And here’s some I haven’t tried myself, since I only just found out about them.


Resources:

GitHub: ibraheemdev/modern-unix