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.
52 lines
2.7 KiB
52 lines
2.7 KiB
3 years ago
|
+++
|
||
|
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`.
|