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.
📖 Í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.
💻 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.
💻 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 man
unal. 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!
💻 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.
💻 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
.
💻 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.
💻 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.
💻 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!