Browse Source

Shell por dia: comandos obscuros

master 20210923
Julio Biason 3 years ago
parent
commit
4ddfe86419
  1. 1
      content/books/shell-por-dia/_index.md
  2. 51
      content/books/shell-por-dia/comandos-obscuros.md

1
content/books/shell-por-dia/_index.md

@ -14,3 +14,4 @@ hide_content = false
* [Shells](@./shells.md)
* [Subcomandos](@./subcomandos.md)
* [Error chain](@./error-chain.md)
* [Comandos Obscuros](@./comandos-obscuros.md)

51
content/books/shell-por-dia/comandos-obscuros.md

@ -0,0 +1,51 @@
+++
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`.
Loading…
Cancel
Save