The source content for blog.juliobiason.me
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.7 KiB

+++ title = "Um Shell por Dia: Comandos Obscuros" date = 2021-09-23

[taxonomies] tags = ["book", "por dia", "shell", "comandos"] +++

Existem alguns comandos que quase não são usados e por isso são pouco comentados, mas se algum dia precisar, eles estão lá.

{% note() %} Todos os comandos listados aqui são parte do "GNU CoreUtils" e estão presentes na maior parte das distribuições Linux. Se você estiver usando uma distribuição de BSD, possivelmente vai precisar instalar o pacote do CoreUtils antes de poder usar. {% end %}

Em nenhuma ordem em particular:

  • tac: imprime o arquivo na ordem inversa, mostrando primeiro a última linha e indo até a primeira; é o inverso do cat.
  • head: imprime as primeiras linhas de um arquivo; é o inverso do tail (e, infelizmente, não tem a opção -f para ver se surge alguma coisa no começo do arquivo).
  • nl: imprime cada uma das linhas do arquivo, colocando o número da mesma na frente.
  • shuf: embaralha o conteúdo de entrada; é o inverso do sort.
  • paste: junta conteúdo do arquivo; é o inverso do cut.
  • expand: Converte tabulações por espaços; é o inverso do unexpand.
  • unexpand: Converte espaços por tabulações; é o unverso do expand.
  • shred: apaga arquivos, mas antes de apagar, sobreescreve todo o conteúdo do mesmo no disco, para previnir que o mesmo não possa ser recuperado.
  • tee: recebe o conteúdo e, ao mesmo tempo em que escreve o mesmo no "stdout", envia para um arquivo. Pode ser usado quando se queira salvar o conteúdo intermediário no meio de uma operação com pipes; por exemplo cat | cut | tee temp | sort fará com que o conteúdo do arquivo seja cortado, gravado no arquivo "temp" e passado ao sort ao mesmo tempo, podendo comparar o resultado antes e depois do sort.
  • cal: mostra um calendário. Por padrão, mostra o mês atual, mas é possível usar, por exemplo cal 2021 e ver o calendário do ano inteiro (infelizmente, só mostra o calendário, não é possível adicionar eventos).
  • nohup: captura a execução de uma aplicação, permitindo que a mesma continue executando mesmo depois de perder o terminal. Explicando: Quando o terminal perde sua conexão (podendo ser porque o terminal foi encerrado, porque o emulador de terminal foi fechado ou porque a conexão foi encerrada), o sistema envia um sinal de "Hang UP" (HUP); o nohup captura este sinal e, como o processo executado é filho dele, ele pede para que o init/systemd assuma a paternidade do processo e deixe ele executando. Assim, caso você feche o terminal ou sua conexão ssh seja terminada, mesmo assim o comando vai continuar executando. Deve ser usado como nohup comando.