Lista final de comandos incomuns, mas realmente úteis, da shell do Linux

Esta é uma compilação de comandos shell do Linux menos conhecidos - mas realmente úteis. Útil como em: poupar tempo, dando-lhe ferramentas adicionais para fazer coisas que antes não podia fazer, mas também divertidas. Aproveite a leitura, e diga-nos nos comentários se existem ferramentas adicionais que devemos adicionar!

As instruções de instalação serão para sistemas baseados em Debian, eles foram testados no sistema operacional Raspberry Pi, em um Framboesa Pi 4 / 1 GB. YMMV em outros sistemas, mas simplesmente experimente estes comandos 🙂

sudo!!

Isto executará o comando anterior com o sudo prepended. Realmente útil se você se esqueceu de pré-executar um comando com o sudo:

apt-get update
sudo!!

Não é necessário instalá-lo, se o sudo estiver no seu sistema, isto deve funcionar. Observe o espaço entre o sudo e os pontos de exclamação.

O comando sudo-prepended também será adicionado ao seu histórico de bash, para que você possa acessá-lo convenientemente digitando a tecla de seta "para cima" para repeti-lo. (Eu demonstrei isto na animação acima. sudo!! não será adicionado à sua história)

tac (gato para trás)

Esta instrução prática está embutida junto com o irmão mais conhecido, gato. Passe um arquivo para ele, para que ele inverta a ordem da linha no arquivo, imprimindo a última linha primeiro:

tac /etc/magic

Este comando deve ser muito útil se você estiver olhando para arquivos de log, por exemplo.

tldr - manpages, simplificado!

para desarmar a bomba basta introduzir um comando de alcatrão válido na sua primeira tentativa. Você tem 10 segundos.
xcdk 1168

As páginas de manual são úteis, mas às vezes bastante longas. Você já se viu no Google em vez de olhar para a página de manual? Simplesmente porque você quer exemplos da vida real para uso diário, em vez de todos os sinos e apitos que um comando tem a oferecer? tldr entrega "cheatsheets colaborativos para comandos de console".

TL;DR: tldr é a ferramenta a obter para resumos rápidos dos comandos Linux

Há também um Versão PDF (tldr.sh) que inclui todas as páginas tldr actualmente disponíveis

instalação do tldr

Nota: Isto exigirá que o npm / node.js seja instalado no seu sistema Linux.

npm install -g tldr

usando tldr

digitar simplesmente tldr seguido do comando em que está interessado. Na primeira execução, o tldr irá actualizar a cache e criar um índice, o que demorará um pouco. Por exemplo, para ver a página do tldr no gzip, execute:

tldr gzip

alternativas de contribuição e tldr

Se você gostaria de contribuir com a tldr, dê uma olhada no GitHub - tldr-páginas/tldr: 📚 Fichas de colaboração para comandos de consolee suas orientações de contribuição.

Há algumas alternativas:

  • Trapacear
  • Páginas de Broches ("apenas vá directo ao assunto")
  • navi - permite que você navegue por cheatsheets de forma interativa e construa o comando que você gostaria de executar
  • enganar.sh - pode ser usado sem instalação de nada, usando o curl

how2 - stackoverflow a partir do terminal

tldr e primos são realmente úteis se você já sabe o comando que está indo atrás. Mas o que você pode fazer se você só sabe o que precisa fazer, mas ainda não, como? Todos nós sabemos como os navegadores podem distrair-se. A ferramenta como2 ajuda-o a obter uma resposta rápida sem nunca sair da linha de comando.

como2 instalação

Requer que o node.js e o npm package manager sejam instalados no seu sistema.

sudo npm install -g how-2

como2 utilização

como2 montar uma unidade NTFS em Raspbian

Se você estiver satisfeito com a resposta, pressione a tecla Enter para sair como2 - caso contrário pressione espaço para obter mais opções. Use as teclas de seta do seu teclado para navegar e Esc para sair.

howdoi - obter respostas às perguntas de codificação a partir da linha de comando

Em uma linha semelhante, se você está procurando respostas para perguntas de codificação na linha de comando, sem ter que mudar para um navegador, confira howdoi:

instalação howdoi

sudo apt-get update
sudo apt-get install libxml2-dev libxslt-dev python3-lxml python-lxml python-dev
sudo pip3 instalar howdoi

usando howdoi

howdoi howdoi
howdoi usa tensorflow em python
howdoi -c desligue o sistema com Python

O -c irá permitir uma saída colorida. Por padrão, howdoi irá pesquisar usando o Google, mas você também pode optar por usar bing ou duckduckgo.

autojump - uma forma mais rápida de navegar no seu sistema de ficheiros

Salto automático mantém um banco de dados dos diretórios que você mais visita a partir da linha de comando, e permite que você salte para o diretório dando apenas parte do seu nome. Não há necessidade de repetidamente cd em seu diretório de destino!

instalação de autojump

sudo apt-get update
sudo apt-get install autojump

Por razões de política, você precisará então adicionar o autojump manualmente ao seu ~/.bashrc para shells interativas sem login, e ao seu ~/.bash_profile para shells de login:

nano ~/.bashrc

e acrescente a seguinte linha no final:

. /usr/share/autojump/autojump.sh

Nota: você precisará reabrir o Terminal / reconectar via SSH para que isto possa ser aplicado.

usando o autojump

O salto automático vem com um atalho conveniente, "j", que o ajuda a digitar menos. Para começar com o autojump, você precisará pré-serir os caminhos do diretório. Navegue normalmente, por exemplo

cd /etc/python

Depois de construir esta cache de diretórios que você visita (autojump irá manter o controle da freqüência!), você será capaz de pular para eles digitando parte do nome, por exemplo:

golpe de desviar

Ferramentas similares ao autojump

Existem algumas aplicações semelhantes ao autojump:

mtr - uma combinação de ping e traceroute

mtr irá mostrar-lhe o caminho que os seus pacotes de rede tomam para um host a partir do seu Raspberry Pi. Isto é útil para o diagnóstico da rede, para analisar a latência, por exemplo. Mas também é simplesmente interessante ver como funciona a Internet, passando os seus pacotes de um host para outro 🙂

instalação de mtr

sudo apt-get update
sudo apt-get install mtr

Uso do mtr

mtr

A mtr enviará pacotes com TTLs (time to live) propositadamente baixas, continuando a aumentá-las, para analisar os caminhos da rede. Um aumento súbito na perda de pacotes ou tempo de resposta é frequentemente uma indicação de um link ruim (ou simplesmente sobrecarregado).

bat: arquivos de código de gato com destaque de sintaxe

Há muitos clones de gatos: morcego é um clone de gato com asas. Ele tem um par de características adicionais sob as asas, para torná-lo um substituto poderoso para o gato:

  • realce de sintaxe para muitas linguagens de programação e de marcação
  • integração com o git para mostrar modificações
  • opcionalmente mostrar caracteres não imprimíveis (usando o -A bandeira)

Por padrão, o taco também canalizará sua própria saída para um pager (por exemplo menos) se a saída for muito grande para uma tela.

instalação de morcegos

O página GitHub morcego dá instruções de instalação para diferentes sistemas Linux (e até mesmo Windows!)

bat está atualmente disponível apenas na versão "sid" (instável) do Debian. Para instalá-lo no sistema operacional Raspberry Pi, vá para https://github.com/sharkdp/bat/releasese faça o download do pacote apropriado. (se você estiver rodando um Raspberry Pi OS de 32 bits, use o bat_*.armhf.deb, para 64 bits use bat_*_arm64.deb; se você estiver configurando isso em um sistema x86 / AMD64, esses pacotes também estão disponíveis).

cd /tmp
wget https://github.com/sharkdp/bat/releases/download/v0.17.1/bat_0.17.1_armhf.deb
sudo apt-get install ./bat_0.17.1_armhf.deb

utilização de morcegos

Simplesmente use morcego como você usaria gato:

exemplo de morcego.py

O destaque da sintaxe será determinado a partir da primeira linha de um arquivo (idealmente um shebang como o #!/bin/sh)

asciinema & svg-term-cli: criar filmes SVG a partir de interacções shell

Nota: este é asciinema, e não asciicinema 🙂

Você poderia usar OBS Studio para capturar a sua tela e criar um filme para o YouTube, exibindo a shell. Mas - é um vídeo, que tem algumas desvantagens:

  • tamanho
  • a resolução é fixa

asciinema permite capturá-los como fluxos de texto, e publicá-los como um asciicast. Você pode incorporá-los em suas páginas, incluindo um pequeno trecho de JavaScript que eles fornecem. Confira um exemplo do asciicast que gravamos para este post do blog.

Quando usado com svg-term-clipermite a criação de animações SVG! Estes filmes são animações vectoriais, perfeitamente adequados para interacções na concha. Eles são menores que os arquivos de vídeo, e podem ser ampliados sem perda de qualidade. Além disso, não será necessário JavaScript. No entanto, ao incluir muitas destas asciicas, recomendo a utilização das opções de JavaScript - caso contrário, o desempenho da página será prejudicado.

Instalação de asciinema

Aqui está um link para as instruções de instalação de asciinemavamos dar uma olhada naqueles para o Raspberry Pi OS (Debian):

sudo apt-get update
sudo apt-get install asciinema

Além disso, você deve criar uma conta em asciinema.org - você só precisa do seu endereço de e-mail, e ligue a sua conta com o asciinema instalado no seu Raspberry Pi, executando:

asciinema auth

Isto irá gerar uma URL para você - visitando a URL, enquanto você estiver logado, você irá ligar a instalação local de asciinema à sua conta asciinema.org. Isto permitir-lhe-á gerir as gravações (definir títulos, editar descrições, torná-las públicas), e evitar que as gravações sejam arquivadas automaticamente após 7 dias.

Instalação de svg-term-cli

Nota: isto requer o node.js & o gerente de embalagem npm ao trabalho. Isto só é necessário se você quiser criar arquivos .SVG animados a partir de suas asciicas.

sudo npm install -g svg-term-cli

Uso de asciinema

Para começar a gravar, digite:

rec de asciinema

Isto irá gerar uma nova instância de shell, e começar a gravar as interacções terminais. Para terminar a gravação, pressione Ctrl + D ou tipo saída

asciinema irá agora perguntar-lhe se quer carregar a sua gravação em asciinema.org (pressionando Entre), ou para salvá-lo localmente (pressionando Ctrl + C). Neste último caso, um .elenco será criado no diretório temporário:

asciinema: gravação terminada
asciinema: pressione para carregar em asciinema.org, para salvar localmente
asciinema: asciicast salvo em /tmp/tmp21kux252-ascii.cast

Também é possível especificar o arquivo de saída a ser utilizado:

asciinema rec /tmp/example.cast

Dica: dimensione sua janela terminal para a resolução de coluna e linha que você gostaria de ter na animação antes de iniciar a gravação; as opções svg term-cli - largura e - altura simplesmente cortarão a saída

Para carregar o arquivo para asciinema, você pode agora executar:

asciinema upload /tmp/example.cast

Ver esta página para instruções mais elaboradas sobre o uso de asciinema.

Converter arquivo asciinema .cast para arquivo .svg usando svg-term-cli

Uma opção (e a recomendada por razões de performance) é hospedar seus arquivos .cast em asciinema.org - que é bem documentado na sua página. Aqui vamos explorar a opção de converter a gravação para um arquivo .svg animado.

svg-term --in /tmp/tmp21kux252-ascii.cast --out /tmp/example.svg

Nota: O WordPress desabilita o upload do SVG por padrão por razões de segurança. Existem plugins para permitir o upload de SVG de uma forma segura.

exa: um substituto moderno para ls

Enquanto ls pode ser feito para exibir cores, exa usa cores de uma maneira realmente otimizada, e suporta você com informações adicionais.

Por exemplo, uma vista em árvore é construída - mostrando as informações de seus arquivos ao lado da hierarquia. exa também sabe sobre diferentes tipos de arquivos, e os mostrará em cores diferentes. Além disso, ele tem suporte Git integrado para visualizar o status encenado / não encenado na visualização padrão.

instalação do exa

sudo apt-get update
sudo apt-get install exa

usando exa

exa

exa trabalha similar a ls. use as bandeiras -l para exibir uma lista com detalhes sobre seus arquivos e diretórios, -T para exibir uma visualização em árvore incluindo subdiretórios, e -Tl para exibir uma visão combinada árvore / detalhe. Consultar a documentação exa para mais informações.

shuf: randomizar linhas em um arquivo

Digamos que você queira criar uma lista aleatória (de usuários, atividades, escolha!) misturando as entradas em um arquivo. Bem, você está com sorte com esta ferramenta (que já deve estar pré-instalada):

shuf exemplo.txt

rig: criar identidades falsas

Às vezes, uma página obriga-o a inscrever-se com a sua identidade. Essas páginas são inteligentes: elas verificam se a sua cidade corresponde ao seu CEP, por exemplo. rig permite que você gerencie esse desafio fornecendo-lhe identidades falsas ilimitadas sob demanda (US), o que deve ser um pouco correto geograficamente. rig em si é baseado no aplicativo MSDOS "falso" apropriadamente nomeado.

Instalação do equipamento

sudo apt-get update
sudo apt-get install rig

Utilização da plataforma

equipamento

browsh - um navegador moderno baseado em texto

Todos nós sabemos sobre linceO lince, a partir de 2020 é o navegador web mais antigo ainda em manutenção, tendo começado em 1992.

E aquelas vezes em que o lince simplesmente não o corta? Quando você quer reproduzir vídeos do YouTube, acessar páginas da web usando JavaScript para renderizar conteúdo, etc?

Você está com sorte. browshA linha de comando, um destaque particular desta coleção de ferramentas de linha de comando incomuns, é um navegador totalmente moderno, baseado em texto. Ele usa o Firefox no backend para renderizar sua página no modo headless.

Nota: recomenda-se um Pi 4 para executar esta aplicação em particular, e ainda assim vai parecer bastante lento - você está pedindo ao Pi para executar um levantamento pesado sério com isto! Mas é divertido e será útil para utilizadores com sistemas mais poderosos, tenho a certeza.

instalação do browsh

Vá em frente para o downloads browsh e obtenha o pacote apropriado. Por exemplo, para o Debian ARMv7:

cd /tmp
wget https://github.com/browsh-org/browsh/releases/download/v1.6.4/browsh_1.6.4_linux_armv7.deb
sudo apt-get install ./browsh_1.6.4_linux_armv7.deb

Isto também puxará automaticamente o Firefox, se você ainda não o tiver.

usando browsh

browsh https://google.com

e preparar-se para esperar um pouco.

browsh tem boa documentação. aqui estão algumas dicas:

  • Use Ctrl+q para sair de browsh
  • teclas de setas para rolar
  • backspace para voltar para a história
  • ctrl + l foca a barra URL

browsh até suporta a navegação por abas! Também suporta uma tecnologia interessante chamada mosh o que permite conchas mais rápidas e preditivas sobre os elos mais atrasados.

nohup: manter uma aplicação a funcionar depois de sair da sessão SSH

Eu lembro-me disto como "sem desligamento". Normalmente, quando você sai de uma sessão SSH, a aplicação que tem sido executada na sua sessão recebe um SIGHUP ...sinal. O que normalmente levará ao término da aplicação.

Em alguns casos você prefere não ter isso - por exemplo, se você estiver convertendo um vídeo, ou rodando um servidor de algum tipo, ou qualquer outro processo em lote.

pré-gastando o comando com nohup permitirá que ela continue a funcionar, mesmo quando a shell estiver fechada, ou quando o SSH estiver desligado. Eu costumo combinar isto com um ampersand (&), para iniciar o comando em segundo plano:

nohup ./myscript.sh &

lolcat: colorir a saída da sua concha. Quero dizer, colorir a sério!

Você às vezes sente que o mundo, e em particular a concha, não tem cor? Não se preocupe mais - lolcat para o resgate.

instalação do lolcat

sudo apt-get update
sudo apt-get install lolcat

utilizando lolcat

O lolcat pode ser usado como um gato, para emitir ficheiros na sua concha:

lolcat /etc/magic

Também - como o gato - pode ler a partir de stdin, e ter a entrada canalizada para trazer um pouco mais de cor para a sua vida:

man lolcat | lolcat
sudo apt-get update | lolcat

cal: calendário incorporado

O Linux vem com pequenas surpresas, como um calendário embutido.

cal

Se você quiser ver o mês anterior e o próximo ao mês atual também, digite

cal -3

Deixe um comentário