Alternativas modernas para comandos clássicos do Linux

Você sabia que existem muitas opções moderna e legais para os comandos clássicos do Linux? Veja aqui se você conhece algum.

Alternativas modernas para comandos clássicos do Linux

📖 Índice

Já faz um tempinho que eu vi um artigo muito interessante no It’s FOSS apresentando alternativas modernas para comandos antigos no Linux. Como achei muito legal e aprendi coisas novas, resolvi compartilhar aqui com você.

Bom, dos comandos apresentados lá, tirando o bat e tldr, eu conhecia todos os outros. Algumas opções eu achei realmente melhores, mas para outras, o clássico ainda é imbatível!

Como o próprio artigo diz, os comandos mais antigos são mais simples porque foram feitos a muitos anos atras, a grande maioria, décadas atras. Além disso, eles também recomendam não se apegar tanto as alternativas, principalmente em ambientes muito complexos e/ou de produção.

Como pessoalmente eu sou um defensor dos fundamentos, eu acho muito importante conhecer, mesmo que de forma básica os comandos tradicionais. Principalmente porque eles estão em praticamente todas as versões e variações de sistemas Unixlike, ou seja, você nunca vai passar aperto.

Vamos então para os comandos, vai que tem algum que você ainda não conhecia!

htop é a alternativa para o top

O comando top nada mais é que monitor de tarefas para o terminal do Linux. Ele é útil principalmente para acompanhar os processos que estão sendo executados e quando de recurso cada um está consumindo.

Já o comando htop  (https://htop.dev/) é uma alternativa mais moderna (tá vai, nem é tãão moderna assim, foi criado em 2004) para o top.

Print do comando htop do Linux

💻 Instalação no Ubuntu 20.04:

sudo apt-get install htop


duf é a alternativa para o df

Outro comando conhecido por todos e usado praticamente todos os dias é o df, que serve para listar o espaço livre em cada um dos discos.

Já o comando duf (https://github.com/muesli/duf)é uma alternativa bem interessante escrita em Go que mostra as mesmas informações mas de uma maneira mais visual e organizada. Por exemplo, sempre que eu uso o comando df eu adiciono um df -h para que os valores sejam mais fáceis de ler.

O duf está presente em alguns repositórios, mas se por exemplo você estiver no Ubuntu, o pacote .deb pode ser baixado na página de releases.

Print do comando duf no Linux

💻 Instalação no Ubuntu 20.04:

wget https://github.com/muesli/duf/releases/download/v0.7.0/duf_0.7.0_linux_386.deb
sudo dpkg -i ./duf_0.7.0_linux_386.deb


tldr é a alternativa para o man

Esse é um que eu não conhecia e gostei muito. Muito mesmo! Em geral quando você precisa de alguma informação sobre algum comando, o primeiro passo é rodar um man COMANDO e ler o manunal. Pelo menos deveria ser né. Enfim, se você não sabe a sigla TLDR significa too long, didn’t read (em português: muito grande, não li) e é usada muito em forum tipo Reddit para conteúdos muito extensos.

O objetivo principal do tldr (https://github.com/tldr-pages/tldr) é pegar toda a informação extensa do manual do comando e compilar as informações mais úteis e exemplos práticos de uso do commando. Realmente muito útil!

Print do comando tldr do Linux

💻 Instalação no Ubuntu 20.04:

sudo apt-get install tldr


bat é a alternativa para o cat

Esse também é um comando que eu não conhecia e gostei muito. Basicamente o bat (https://github.com/sharkdp/bat/) é o famoso cat mas com syntax highlight. Além de dar um ar mais modernoso, ajuda em momentos que é preciso analisar algum fonte direto no servidor ou coisa do tipo.

Outra duas coisas bem legais no bat são a integração com o GIT e o modo de exibir os caracteres não imprimíveis, como por exemplo, espaço, breakline, etc.

Print do comando bat do Linux

💻 Instalação no Ubuntu 20.04:

wget https://github.com/sharkdp/bat/releases/download/v0.19.0/bat_0.19.0_amd64.deb
sudo dpkg -i ./bat_0.19.0_amd64.deb


ncdu é a alternativa para o du

Outro comando muito utilizado no dia a dia é o du. Um alternativa prática e interessante é o ncdu (https://dev.yorhel.nl/ncdu) que lista os arquivos de uma forma mais visual e permite a navegação pelos diretórios.

Muito útil de deixar como um substituto oficial para o du.

Print do comando ncdu do Linux

💻 Instalação no Ubuntu 20.04:

sudo apt-get install ncdu


fd é a alternativa para o find

Esse comando não necessariamente é uma alternativa, eu diria uma forma complementar. O find é um comando extenso e dominar, já o fd se propõe a simplificar um pouco as coisas.

Como disse o próprio desenvolvedor: É uma alternativa simples, rápida e fácil de encontrar. Embora não tenha como objetivo oferecer suporte a todas as funcionalidades poderosas do find, ele fornece padrões sensatos (opinativos) para a maioria dos casos de uso.

Print do comando fd do Linux

💻 Instalação no Ubuntu 20.04:

sudo apt-get install fd-find

O binário do comando é fdfind, entretanto o fd já está em uso por outro comando. Você tem duas opções, ou utilizar o comando como fdfind ou então adicionar um link como seguinte comando:

ln -s $(which fdfind) ~/.local/bin/fd


exa é a alternativa para o ls

O comando exa (https://the.exa.website/) é uma alternativa interessante para o famoso ls. Embora ele realmente seja uma opção mais moderna, na minha opinião não vale muito a pena. A saída é mais completa, tem listagem de git, mas nada demais que justifique o uso.

Print do comando exa do Linux

💻 Instalação no Ubuntu 20.04:

O exa está disponível via apt apenas para Ubuntu 20.10 ou superior. Abaixo duas formas de instalar no Ubuntu 20.04

Método 1 (compilando)

sudo apt install libgit2-dev rustc
sudo apt-mark auto rustc
git clone https://github.com/ogham/exa --depth=1
cd exa
cargo build --release && cargo test #cargo test is optional
sudo install target/release/exa /usr/local/bin/exa
cd ..
rm -rf exa
sudo apt purge --autoremove


Método 2 (Baixando o binário direto)

EXA_VERSION=$(curl -s "https://api.github.com/repos/ogham/exa/releases/latest" | grep -Po '"tag_name": "v\K[0-9.]+')
curl -Lo exa.zip "https://github.com/ogham/exa/releases/latest/download/exa-linux-x86_64-v${EXA_VERSION}.zip"
sudo unzip -q exa.zip bin/exa -d /usr/local

Bom, então é isso, espero que você tenha achado legal pelo menos algum dos comandos da lista. Obrigado!