5 alternativas de ferramentas essenciais para linha de comando do Linux

Obtenha novos benefícios aprimorando suas ferramentas antigas de linha de comando com alternativas atualizadas.

1. ncdu como um substituto para o du

A ferramenta NCurses Disk Usage (ncdu) fornece resultados semelhantes, em uma interface interativa, focada nos diretórios que consomem a maior parte do disco.

ncdu gasta algum tempo analisando o disco e exibe os resultados classificados pelos diretórios ou arquivos mais usados, como este:

Interface do ncdu

Navegue para cada entrada usando as teclas de seta. Se você pressionar Enter em uma entrada de diretório, ncdu exibirá o conteúdo desse diretório:

Você pode usá-lo para detalhar os diretórios e descobrir quais arquivos estão consumindo mais espaço em disco. Retorne ao diretório anterior usando a tecla de seta para a esquerda. Por padrão, você pode excluir os arquivos ncdu pressionando a tecla d , que solicita confirmação antes de excluir um arquivo. Se você quiser desativar esse comportamento para evitar acidentes, use a -r opção para acesso somente leitura: ncdu -r.

O ncdu está disponível para muitas distribuições Linux. Por exemplo, você pode instalá-lo no Ubuntu diretamente dos repositórios oficiais:

sudo apt install ncdu

2. htop como um substituto para o topo

O htop é um visualizador de processo interativo semelhante, top mas que fornece uma experiência de usuário melhor, pronta para uso. Por padrão, htop exibe as mesmas métricas que top em uma exibição agradável e colorida.

Interface do htop
Em contraste com o padrão top:

3. Tldr como um substituto para man

A tldr ferramenta de linha de comando exibe informações simplificadas sobre a utilização de comandos, incluindo principalmente exemplos. Funciona como um cliente para o projeto de páginas tldr da comunidade .

Esta ferramenta não é um substituto para man. As páginas do manual ainda são a fonte canônica e completa de informações para muitas ferramentas. No entanto, em alguns casos. Às vezes você não precisa de todas essas informações sobre um comando; você está apenas tentando lembrar as opções básicas. Por exemplo, a página de manual do curl comando tem quase 3.000 linhas. Por outro lado, o tldr para o curl tem 40 linhas e fica assim:

Você pode instala-lo diretamente dos diretórios do Ubuntu:

sudo apt install tldr # version 0.4.0.1-1build2
ou
sudo apt install tldr-py # version 0.7.0-3

4. jq como um substituto para sed / grep para JSON

jq é um processador JSON da linha de comandos. É como sed ou grep desenvolvido especificamente para lidar com dados JSON. Se você é um desenvolvedor ou administrador de sistemas que usa JSON em suas tarefas diárias, esta é uma ferramenta essencial em sua caixa de ferramentas.

Para visualizar melhor como o jq funciona, imagine a seguinte situação em que você está tentando encontrar o nome dos contêineres neste arquivo JSON:

{
  "apiVersion" : "v1" ,
  "kind" : "Pod" ,
  "metadados" : {
    "labels" : {
      "app" : "myapp"
    } ,
    "name" : "myapp" ,
    "namespace" : "project1 "
  } ,
  " spec " : {
    " containers " : [
      {
        " command " : [
          " sleep " ,
          " 3000 "
        ] ,
        "image " : " busybox " ,
        " imagePullPolicy " : "IfNotPresent" ,
        "name" : "busybox"
      } ,
      {
        "name" : "nginx" ,
        "image" : "nginx" ,
        "resources" : { } ,
        "imagePullPolicy" : "IfNotPresent"
      }
    ] ,
    "restartPolicy" : "Nunca"
  }
}

Se você tentar encontrar a palavra name pelo grep diretamente o resultado será esse:

$ grep name k8s-pod.json
        "name" : "myapp" ,
        "namespace" : "project1"
                "name" : "busybox"
                "name" : "nginx" ,

Ou seja o grep retornou todas as linhas que contêm a palavra name. Você pode adicionar mais algumas opções para grep restringi-lo e, com alguma manipulação de expressão regular, pode encontrar os nomes dos contêineres. Para obter o resultado desejado jq, use uma expressão que simule a navegação na estrutura de dados, assim:

$ jq '.spec.containers []. name' k8s-pod.json
"busybox"
"nginx"

Este comando fornece o nome dos dois contêineres. Se você estiver procurando apenas o nome do segundo contêiner, adicione o índice do elemento da matriz à expressão:

$ jq '.spec.containers [1] .name' k8s-pod.json
"nginx"

5. fd como um substituto para find

O fd é uma alternativa simples e rápida ao find comando. Não visa substituir a funcionalidade completa fornecida pelo find; em vez disso, fornece alguns padrões que ajudam muito em certos cenários.

Por padrão, o fd executa uma pesquisa de padrão sem distinção entre maiúsculas e minúsculas no diretório atual com saída colorida. A mesma pesquisa usando o find requer que você forneça parâmetros adicionais da linha de comando. Por exemplo, para pesquisar todos os arquivos de remarcação ( .mdou .MD) no diretório atual, o comando usando o find é este:

find . -iname "*.md"

Aqui está a mesma pesquisa com fd:

$ fd .md

O fd tb está disponivel em todas distribuiçoes linux, e para instala-lo no Ubuntu basta digitar:

sudo apt install fd-find
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like